derived-types

    1熱度

    1回答

    作爲此post的擴展,我有派生類型,它們本身具有成員派生類型。實施例下面: module simple use iso_c_binding TYPE SIMPLEF INTEGER :: A INTEGER, POINTER :: B, C(:) END TYPE SIMPLEF TYPE COMPLEXF INTEGER :: X TYPE (

    2熱度

    1回答

    我在編寫使用名稱列表嵌套在派生類型中的可分配數組時遇到問題。下面是一個簡單的例子。我如何修改程序以使派生類型內的可分配數組工作,就好像它沒有嵌套一樣? program test implicit none type struct_foo integer, allocatable :: nested_bar(:) end type struct_foo

    1熱度

    1回答

    我注意到gfortran一個怪異的行爲,我現在用的版本是 GNU的Fortran(MacPorts的gcc5 5.2.0_0)5.2.0 我的操作系統是OS X YOSEMITE 10.10.3(14D136) 我運行下面的代碼 program test implicit none type :: mytype real(kind=8),dimension(:,:,:),a

    2熱度

    2回答

    從mscorlib.dll中: public interface IList<T> : ICollection<T>, IEnumerable<T>, IEnumerable {..} public class List<T> : IList<T>, ICollection<T>, IEnumerable<T>, IEnumerable, IList, ICollection, IReadO

    1熱度

    2回答

    是否可以在Fortran中將矩陣聲明爲派生類型?例如,可以做些什麼以致於致電 class(four_by_four_matrix) :: A call A%inv 是否有效?其中inv被宣佈爲four_by_four_matrix的程序?

    2熱度

    1回答

    我想使用參數聲明初始化派生類型。當我編譯時,出現以下錯誤 (1)處的INTEGER(4)數組構造函數中的元素爲CHARACTER(1)。 用戶定義的類型的值ip和dp在fasst_global中找到。它們是: integer,parameter:: ip = selected_int_kind(8) integer,parameter:: dp = selected_real_kind(15,3

    1熱度

    1回答

    對MPI有一定的經驗,但是對於衍生類型等更高級的方面,這與我的問題有關。 我正在使用的代碼有幾個數組,尺寸爲(-1:nx+2,-1:ny+2,-1:nz+2)。爲了清楚起見,每個過程都有自己的值nx,ny和nz。數組之間有重疊。例如,一個proc上的x(:,:,-1:2)將代表與「僅位於其下」的proc上的x(:,:,nz-1:nz+2)相同的信息。 派生cell_zface類型被定義爲: idi

    1熱度

    1回答

    在我處理的具體問題中,排列在3D拓撲中的過程必須相互交換3D陣列的部分。特別是,每個人都必須發送給定數量的切片A到六個方向的過程(例如A(nx-1:nx,:,:)到正一維的過程,負一個的A(1:3,:,:),正的y維的A(:,ny-3:ny,:),以及等等)。 爲了做到這一點,我要定義一組子類型(通過MPI_TYPE_CREATE_SUBARRAY)用於通訊(可能是MPI_NEIGHBOR_ALL

    0熱度

    1回答

    是否可以動態引用Fortran中的派生類型字段?我想實現的東西是什麼可以在Matlab做的效果: fldnm = 'fred'; s.(fldnm) = 18; y = s.(fldnm) 看到這些鏈接(Matlab的例子): http://blogs.mathworks.com/loren/2005/12/13/use-dynamic-field-references/ http://w

    0熱度

    1回答

    我正在開發一個C#WinForm應用程序的工作,但我卡住了,我不知道哪一個是最好的方式繼續下去。下面是代碼 class Block() { // generic Block properties } class ABlock() : Block { // specific ABlock stuff } class BBlock() : Block {