Fortran還原功能
下表描述了還原功能:
函數 | 描述 |
---|---|
all(mask, dim) | 它返回一個邏輯值,指明掩碼的所有關係是 .true。以及隻有所需的維度,如果第二個參數是給定的。 |
any(mask, dim) | 它返回一個邏輯值,指明掩碼的任何關係是.true。以及隻有所需的維度,如果第二個參數是給定的。 |
count(mask, dim) | 它返回一個數字值,該值為掩碼為 .true 關係的數目。以及所需的維數,如果第二個參數給出。 |
maxval(array, dim, mask) | 它返回 的數組的數組中最大的值,那些遵守於第三個參數掩碼的關係,如果一個給定的,以及具有隻有所需的維數,如果第二個參數 dim給出的。 |
minval(array, dim, mask) | 它返回數組的數組中那些遵守於第三個參數掩碼的關係的最小值,如果一個給定的,以及具有僅在第二個參數 dim 給出所期望的維度。 |
product(array, dim, mask) | 它返回該產品遵守於第三個參數掩碼的關係,如果一個給定的,以及具有隻有所需的維數,如果第二個參數 dim 給出的所有數組的數組中的元素,。 |
sum (array, dim, mask) | 它返回 遵守於第三個參數掩碼關係的總和,如果給定以及具有隻有所需的維數,如果第二個參數 dim給出的所有數組的數組中的元素。 |
例子
下麵的例子演示了這一概念:
program arrayReduction real, dimension(3,2) :: a a = reshape( (/5,9,6,10,8,12/), (/3,2/) ) Print *, all(a>5) Print *, any(a>5) Print *, count(a>5) Print *, all(a>=5 .and. a<10) end program arrayReduction
當上述代碼被編譯和執行時,它產生了以下結果:
F T 5 F
實例
下麵的例子演示了這一概念:
program arrayReduction implicit none real, dimension(1:6) :: a = (/ 21.0, 12.0,33.0, 24.0, 15.0, 16.0 /) Print *, maxval(a) Print *, minval(a) Print *, sum(a) Print *, product(a) end program arrayReduction
當上述代碼被編譯和執行時,它產生了以下結果:
33.0000000 12.0000000 121.000000 47900160.0