allocatable-array

    2熱度

    1回答

    我可以使用可分配數組作爲數據類型來定義用戶定義的數據類型。 當我們仍處於同一子程序中時,分配完美地工作。 但我不知道如何將這種類型的用戶定義數據類型作爲子例程參數傳遞。 英特爾編譯器顯示了錯誤# 6530: "Error 1 error #6530: The array spec for this component must be of explicit shape and each bound

    0熱度

    1回答

    我有一個派生類型: module foo type bar integer, allocatable, dimension(:) :: data end type bar end module foo 現在,我想分配一個子程序中bar的數據,而無需顯式接口: program main use foo type(bar) :: mybar

    0熱度

    1回答

    在我編寫的並行程序中,我定義了大量多維的allocatable數組(實際上只是一維,二維或三維),這些數組分配了負下限執行期間。 爲什麼這樣做的原因是,每個過程處理,在一個2D例如,由14A矩陣和共享的層與相鄰進程的重疊14,從而所述基質被分配具有邊界(-1:12,-1:12),其中矩陣的「內部」部分對應於從1到的索引。 (斜體代表選擇/輸入依賴)。 的問題是,在做這個我並沒有意識到,這將是不可能

    0熱度

    2回答

    我試圖在駐留在GPU內存中的「設備」數據結構中使用可分配數組。代碼(粘貼在下面)編譯,但給出了段錯誤。我做了什麼明顯錯誤? 模塊文件被稱爲 'gpu_modules.F90',下面給出: !============= ! This module contains definitions for data structures and the data ! stored on the devic

    3熱度

    1回答

    我想知道fortran可分配數組的內部存儲器表示。 我明白這比原始指針複雜一點,因爲形狀和行列也必須存儲。 我也猜測它的實現依賴,因爲我沒有在Fortran 2003 standard找到信息。 但是,我想知道什麼樣的結構被用來表示可分配數組(即使只有一個編譯器)。 我知道問題有點寬,但任何幫助將不勝感激。

    2熱度

    1回答

    在下面的簡單程序中,我在派生類型的可分配數組成員的分段錯誤處被卡住了。這種分段錯誤只發生在一臺機器上(在openSUSE上使用英特爾Fortran 14.0.3),而不是在另一臺機器上(在Ubuntu上使用英特爾Fortran 14.0.2),我嘗試過。另外,如果我改變程序中的一個整數參數,程序正常結束。 任何人都可以重現這個問題嗎?有人能告訴我代碼有什麼問題嗎? 下面是三個源代碼文件。 main

    0熱度

    1回答

    Program Main Implicit None Integer, Parameter :: iwp = SELECTED_Real_KIND(15) Integer, allocatable :: Num(:) Num(1)=1 ...... End Program Main 當我使用分配來定義的空隙陣列「NUM」,然後運行該程序時,它揭示了錯誤如下 (1)「第一00

    1熱度

    2回答

    我有問題試圖定義一個子例程,其參數包含一個可分配,可選,意圖(inout)變量如下所示。代碼編譯得很好,但得到「分段錯誤 - 無效內存引用」的運行時錯誤。 子程序test_routine.f90 SUBROUTINE test_routine(A,B) IMPLICIT NONE REAL,ALLOCATABLE,INTENT(IN) :: A(:,:) REAL,