diff --git a/src/mo_fortran_tools.F90 b/src/mo_fortran_tools.F90 index bffb618126cc3b02df516cafa4c9bd775d25adf3..c5ba60d77af205606497077d0ebff04ea16086c1 100644 --- a/src/mo_fortran_tools.F90 +++ b/src/mo_fortran_tools.F90 @@ -1659,12 +1659,12 @@ CONTAINS CALL acc_wait_if_requested(1, opt_acc_async) END SUBROUTINE negative2zero_4d_dp - SUBROUTINE init_contiguous_dp(var, n, v, opt_acc_async, lacc) + SUBROUTINE init_contiguous_dp(var, n, v, lacc, opt_acc_async) INTEGER, INTENT(IN) :: n REAL(dp), INTENT(OUT) :: var(n) REAL(dp), INTENT(IN) :: v - LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i LOGICAL :: lzacc @@ -1681,21 +1681,21 @@ CONTAINS CALL acc_wait_if_requested(1, opt_acc_async) END SUBROUTINE init_contiguous_dp - SUBROUTINE init_zero_contiguous_dp(var, n, opt_acc_async, lacc) + SUBROUTINE init_zero_contiguous_dp(var, n, lacc, opt_acc_async) INTEGER, INTENT(IN) :: n REAL(dp), INTENT(OUT) :: var(n) - LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async - CALL init_contiguous_dp(var, n, 0.0_dp, opt_acc_async, lacc) + CALL init_contiguous_dp(var, n, 0.0_dp, lacc, opt_acc_async) END SUBROUTINE init_zero_contiguous_dp - SUBROUTINE init_contiguous_sp(var, n, v, opt_acc_async, lacc) + SUBROUTINE init_contiguous_sp(var, n, v, lacc, opt_acc_async) INTEGER, INTENT(IN) :: n REAL(sp), INTENT(OUT) :: var(n) REAL(sp), INTENT(IN) :: v - LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i LOGICAL :: lzacc @@ -1712,21 +1712,21 @@ CONTAINS END SUBROUTINE init_contiguous_sp - SUBROUTINE init_zero_contiguous_sp(var, n, opt_acc_async, lacc) + SUBROUTINE init_zero_contiguous_sp(var, n, lacc, opt_acc_async) INTEGER, INTENT(IN) :: n REAL(sp), INTENT(OUT) :: var(n) - LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async - CALL init_contiguous_sp(var, n, 0.0_sp, opt_acc_async, lacc=lacc) + CALL init_contiguous_sp(var, n, 0.0_sp, lacc, opt_acc_async) END SUBROUTINE init_zero_contiguous_sp - SUBROUTINE init_contiguous_i4(var, n, v, opt_acc_async, lacc) + SUBROUTINE init_contiguous_i4(var, n, v, lacc, opt_acc_async) INTEGER, INTENT(IN) :: n INTEGER(ik4), INTENT(OUT) :: var(n) INTEGER(ik4), INTENT(IN) :: v - LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i LOGICAL :: lzacc @@ -1743,12 +1743,12 @@ CONTAINS CALL acc_wait_if_requested(1, opt_acc_async) END SUBROUTINE init_contiguous_i4 - SUBROUTINE init_contiguous_l(var, n, v, opt_acc_async, lacc) + SUBROUTINE init_contiguous_l(var, n, v, lacc, opt_acc_async) INTEGER, INTENT(IN) :: n LOGICAL, INTENT(OUT) :: var(n) LOGICAL, INTENT(IN) :: v - LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i LOGICAL :: lzacc @@ -2325,8 +2325,10 @@ CONTAINS LOGICAL, INTENT(IN), OPTIONAL :: lacc #ifdef _OPENACC - IF (PRESENT(lacc) .AND. lacc) THEN - CALL finish(routine_name, ' not supported on ACC device.') + IF (PRESENT(lacc)) THEN + IF (lacc) THEN + CALL finish(routine_name, ' not supported on ACC device.') + END IF END IF #endif END SUBROUTINE assert_acc_host_only @@ -2336,22 +2338,24 @@ CONTAINS LOGICAL, INTENT(IN), OPTIONAL :: lacc #ifdef _OPENACC - IF ((.NOT. PRESENT(lacc)) .OR. (.NOT. lacc)) THEN - CALL finish(routine_name, ' not supported on ACC host.') + IF ((.NOT. PRESENT(lacc))) THEN + CALL finish(routine_name, ' must not be called without lacc.') + ELSE + IF (.NOT. lacc) THEN + CALL finish(routine_name, ' not supported on ACC host.') + END IF END IF #endif END SUBROUTINE assert_acc_device_only SUBROUTINE assert_lacc_equals_i_am_accel_node(routine_name, lacc, i_am_accel_node) CHARACTER(len=*), INTENT(IN) :: routine_name - LOGICAL, INTENT(IN), OPTIONAL :: lacc - LOGICAL, INTENT(IN), OPTIONAL :: i_am_accel_node + LOGICAL, INTENT(IN) :: lacc + LOGICAL, INTENT(IN) :: i_am_accel_node #ifdef _OPENACC - IF (PRESENT(lacc) .AND. PRESENT(i_am_accel_node)) THEN - IF (lacc .NEQV. i_am_accel_node) THEN - CALL finish(routine_name, 'lacc /= i_am_accel_node') - END IF + IF (lacc .NEQV. i_am_accel_node) THEN + CALL finish(routine_name, 'lacc /= i_am_accel_node') END IF #endif diff --git a/test/fortran/test_fortran_tools.f90 b/test/fortran/test_fortran_tools.f90 index 67b3c138be15238206f5ffa3c42925933a0cc931..a0512e0f721bab2ffb1be615f9f4824b6d634163 100644 --- a/test/fortran/test_fortran_tools.f90 +++ b/test/fortran/test_fortran_tools.f90 @@ -279,12 +279,12 @@ CONTAINS REAL(dp) :: src(10) = 1.0, dest(10) CALL TAG_TEST("Test_copy_1d_dp_ones") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_real_array(src, dest), .TRUE.) CALL RANDOM_NUMBER(src) CALL TAG_TEST("Test_copy_1d_dp_random") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_real_array(src, dest), .TRUE.) END SUBROUTINE @@ -292,12 +292,12 @@ CONTAINS REAL(dp) :: src(10, 10) = 1.0, dest(10, 10) CALL TAG_TEST("Test_copy_2d_dp_ones") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_real_2d_array(src, dest), .TRUE.) CALL RANDOM_NUMBER(src) CALL TAG_TEST("Test_copy_2d_dp_random") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_real_2d_array(src, dest), .TRUE.) END SUBROUTINE @@ -305,12 +305,12 @@ CONTAINS REAL(dp) :: src(10, 10, 10) = 1.0, dest(10, 10, 10) CALL TAG_TEST("Test_copy_3d_dp_ones") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_real_3d_array(src, dest), .TRUE.) CALL RANDOM_NUMBER(src) CALL TAG_TEST("Test_copy_3d_dp_random") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_real_3d_array(src, dest), .TRUE.) END SUBROUTINE @@ -318,12 +318,12 @@ CONTAINS REAL(dp) :: src(5, 5, 5, 5) = 1.0, dest(5, 5, 5, 5) CALL TAG_TEST("Test_copy_4d_dp_ones") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_real_4d_array(src, dest), .TRUE.) CALL RANDOM_NUMBER(src) CALL TAG_TEST("Test_copy_4d_dp_random") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_real_4d_array(src, dest), .TRUE.) END SUBROUTINE @@ -331,12 +331,12 @@ CONTAINS REAL(dp) :: src(5, 5, 5, 5, 5) = 1.0, dest(5, 5, 5, 5, 5) CALL TAG_TEST("Test_copy_5d_dp_ones") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_real_5d_array(src, dest), .TRUE.) CALL RANDOM_NUMBER(src) CALL TAG_TEST("Test_copy_5d_dp_random") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_real_5d_array(src, dest), .TRUE.) END SUBROUTINE @@ -344,12 +344,12 @@ CONTAINS REAL(sp) :: src(5, 5, 5, 5, 5) = 1.0, dest(5, 5, 5, 5, 5) CALL TAG_TEST("Test_copy_5d_sp_ones") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_real_sp_5d_array(src, dest), .TRUE.) CALL RANDOM_NUMBER(src) CALL TAG_TEST("Test_copy_5d_sp_random") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_real_sp_5d_array(src, dest), .TRUE.) END SUBROUTINE @@ -358,12 +358,12 @@ CONTAINS REAL(dp) :: dest(10, 10) CALL TAG_TEST("Test_copy_2d_spdp_ones") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_real_spdp_2d_array(src, dest), .TRUE.) CALL RANDOM_NUMBER(src) CALL TAG_TEST("Test_copy_2d_spdp_random") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_real_spdp_2d_array(src, dest), .TRUE.) END SUBROUTINE @@ -372,12 +372,12 @@ CONTAINS REAL(dp) :: dest(10, 10, 10) CALL TAG_TEST("Test_copy_3d_spdp_ones") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_real_spdp_3d_array(src, dest), .TRUE.) CALL RANDOM_NUMBER(src) CALL TAG_TEST("Test_copy_3d_spdp_random") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_real_spdp_3d_array(src, dest), .TRUE.) END SUBROUTINE @@ -386,12 +386,12 @@ CONTAINS REAL(dp) :: dest(5, 5, 5, 5) CALL TAG_TEST("Test_copy_4d_spdp_ones") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_real_spdp_4d_array(src, dest), .TRUE.) CALL RANDOM_NUMBER(src) CALL TAG_TEST("Test_copy_4d_spdp_random") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_real_spdp_4d_array(src, dest), .TRUE.) END SUBROUTINE @@ -400,12 +400,12 @@ CONTAINS REAL(dp) :: dest(5, 5, 5, 5, 5) CALL TAG_TEST("Test_copy_5d_spdp_ones") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_real_spdp_5d_array(src, dest), .TRUE.) CALL RANDOM_NUMBER(src) CALL TAG_TEST("Test_copy_5d_spdp_random") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_real_spdp_5d_array(src, dest), .TRUE.) END SUBROUTINE @@ -414,13 +414,13 @@ CONTAINS REAL(sp) :: rand(10, 10) CALL TAG_TEST("Test_copy_2d_i4_ones") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_integer_2d_array(src, dest), .TRUE.) CALL RANDOM_NUMBER(rand) src = 1 + FLOOR(100*rand) CALL TAG_TEST("Test_copy_2d_i4_random") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_integer_2d_array(src, dest), .TRUE.) END SUBROUTINE @@ -429,13 +429,13 @@ CONTAINS REAL(sp) :: rand(10, 10, 10) CALL TAG_TEST("Test_copy_3d_i4_ones") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_integer_3d_array(src, dest), .TRUE.) CALL RANDOM_NUMBER(rand) src = 1 + FLOOR(100*rand) CALL TAG_TEST("Test_copy_3d_i4_random") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_integer_3d_array(src, dest), .TRUE.) END SUBROUTINE @@ -444,13 +444,13 @@ CONTAINS REAL(sp) :: rand(5, 5, 5, 5, 5) CALL TAG_TEST("Test_copy_5d_i4_ones") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_integer_5d_array(src, dest), .TRUE.) CALL RANDOM_NUMBER(rand) src = 1 + FLOOR(100*rand) CALL TAG_TEST("Test_copy_5d_i4_random") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_integer_5d_array(src, dest), .TRUE.) END SUBROUTINE @@ -459,13 +459,13 @@ CONTAINS REAL(sp) :: rand(5, 5, 5, 5, 5) CALL TAG_TEST("Test_copy_5d_l_trues") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_logical_5d_array(src, dest), .TRUE.) CALL RANDOM_NUMBER(rand) src = rand < 0.5 CALL TAG_TEST("Test_copy_5d_l_random") - CALL copy(src, dest) + CALL copy(src, dest, .FALSE.) CALL ASSERT_EQUAL(assert_logical_5d_array(src, dest), .TRUE.) END SUBROUTINE @@ -473,7 +473,7 @@ CONTAINS REAL(dp) :: arr(10), zeros(10) = 0.0 CALL TAG_TEST("Test_init_zero_1d_dp") - CALL init(arr) + CALL init(arr, .FALSE.) CALL ASSERT_EQUAL(assert_real_array(arr, zeros), .TRUE.) END SUBROUTINE @@ -481,7 +481,7 @@ CONTAINS REAL(sp) :: arr(10), zeros(10) = 0.0 CALL TAG_TEST("Test_init_zero_1d_sp") - CALL init(arr) + CALL init(arr, .FALSE.) CALL ASSERT_EQUAL(assert_real_sp_array(arr, zeros), .TRUE.) END SUBROUTINE @@ -489,7 +489,7 @@ CONTAINS REAL(dp) :: arr(10, 10), zeros(10, 10) = 0.0 CALL TAG_TEST("Test_init_zero_2d_dp") - CALL init(arr) + CALL init(arr, .FALSE.) CALL ASSERT_EQUAL(assert_real_2d_array(arr, zeros), .TRUE.) END SUBROUTINE @@ -497,7 +497,7 @@ CONTAINS INTEGER(i4) :: arr(10, 10), zeros(10, 10) = 0 CALL TAG_TEST("Test_init_zero_2d_i4") - CALL init(arr) + CALL init(arr, .FALSE.) CALL ASSERT_EQUAL(assert_integer_2d_array(arr, zeros), .TRUE.) END SUBROUTINE @@ -505,7 +505,7 @@ CONTAINS REAL(dp) :: arr(10, 10, 10), zeros(10, 10, 10) = 0.0 CALL TAG_TEST("Test_init_zero_3d_dp") - CALL init(arr) + CALL init(arr, .FALSE.) CALL ASSERT_EQUAL(assert_real_3d_array(arr, zeros), .TRUE.) END SUBROUTINE @@ -513,7 +513,7 @@ CONTAINS REAL(sp) :: arr(10, 10, 10), zeros(10, 10, 10) = 0.0 CALL TAG_TEST("Test_init_zero_3d_sp") - CALL init(arr) + CALL init(arr, .FALSE.) CALL ASSERT_EQUAL(assert_real_sp_3d_array(arr, zeros), .TRUE.) END SUBROUTINE @@ -521,7 +521,7 @@ CONTAINS INTEGER(i4) :: arr(10, 10, 10), zeros(10, 10, 10) = 0 CALL TAG_TEST("Test_init_zero_3d_i4") - CALL init(arr) + CALL init(arr, .FALSE.) CALL ASSERT_EQUAL(assert_integer_3d_array(arr, zeros), .TRUE.) END SUBROUTINE @@ -529,7 +529,7 @@ CONTAINS REAL(dp) :: arr(5, 5, 5, 5), zeros(5, 5, 5, 5) = 0.0 CALL TAG_TEST("Test_init_zero_4d_dp") - CALL init(arr) + CALL init(arr, .FALSE.) CALL ASSERT_EQUAL(assert_real_4d_array(arr, zeros), .TRUE.) END SUBROUTINE @@ -537,7 +537,7 @@ CONTAINS REAL(sp) :: arr(5, 5, 5, 5), zeros(5, 5, 5, 5) = 0.0 CALL TAG_TEST("Test_init_zero_4d_sp") - CALL init(arr) + CALL init(arr, .FALSE.) CALL ASSERT_EQUAL(assert_real_sp_4d_array(arr, zeros), .TRUE.) END SUBROUTINE @@ -545,7 +545,7 @@ CONTAINS INTEGER(i4) :: arr(5, 5, 5, 5), zeros(5, 5, 5, 5) = 0 CALL TAG_TEST("Test_init_zero_4d_i4") - CALL init(arr) + CALL init(arr, .FALSE.) CALL ASSERT_EQUAL(assert_integer_4d_array(arr, zeros), .TRUE.) END SUBROUTINE @@ -553,7 +553,7 @@ CONTAINS REAL(dp) :: arr(10), ones(10) = 1.0 CALL TAG_TEST("Test_init_1d_dp") - CALL init(arr, 1.0_dp) + CALL init(arr, 1.0_dp, .FALSE.) CALL ASSERT_EQUAL(assert_real_array(arr, ones), .TRUE.) END SUBROUTINE @@ -561,7 +561,7 @@ CONTAINS REAL(dp) :: arr(10, 10), ones(10, 10) = 1.0 CALL TAG_TEST("Test_init_2d_dp") - CALL init(arr, 1.0_dp) + CALL init(arr, 1.0_dp, .FALSE.) CALL ASSERT_EQUAL(assert_real_2d_array(arr, ones), .TRUE.) END SUBROUTINE @@ -569,7 +569,7 @@ CONTAINS REAL(dp) :: arr(10, 10, 10), ones(10, 10, 10) = 1.0 CALL TAG_TEST("Test_init_3d_dp") - CALL init(arr, 1.0_dp) + CALL init(arr, 1.0_dp, .FALSE.) CALL ASSERT_EQUAL(assert_real_3d_array(arr, ones), .TRUE.) END SUBROUTINE @@ -578,7 +578,7 @@ CONTAINS REAL(dp) :: ones(10, 10, 10) = 1.0 CALL TAG_TEST("Test_init_3d_spdp") - CALL init(arr, 1.0_dp) + CALL init(arr, 1.0_dp, .FALSE.) CALL ASSERT_EQUAL(assert_real_spdp_3d_array(arr, ones), .TRUE.) END SUBROUTINE @@ -586,7 +586,7 @@ CONTAINS REAL(dp) :: arr(5, 5, 5, 5, 5), ones(5, 5, 5, 5, 5) = 1.0 CALL TAG_TEST("Test_init_5d_dp") - CALL init(arr, 1.0_dp) + CALL init(arr, 1.0_dp, .FALSE.) CALL ASSERT_EQUAL(assert_real_5d_array(arr, ones), .TRUE.) END SUBROUTINE @@ -594,7 +594,7 @@ CONTAINS REAL(sp) :: arr(5, 5, 5, 5, 5), ones(5, 5, 5, 5, 5) = 1.0 CALL TAG_TEST("Test_init_5d_sp") - CALL init(arr, 1.0) + CALL init(arr, 1.0, .FALSE.) CALL ASSERT_EQUAL(assert_real_sp_5d_array(arr, ones), .TRUE.) END SUBROUTINE @@ -602,7 +602,7 @@ CONTAINS INTEGER(i4) :: arr(5, 5, 5, 5, 5), ones(5, 5, 5, 5, 5) = 1 CALL TAG_TEST("Test_init_5d_i4") - CALL init(arr, 1) + CALL init(arr, 1, .FALSE.) CALL ASSERT_EQUAL(assert_integer_5d_array(arr, ones), .TRUE.) END SUBROUTINE @@ -610,7 +610,7 @@ CONTAINS LOGICAL :: arr(5, 5, 5, 5, 5), trues(5, 5, 5, 5, 5) = .TRUE. CALL TAG_TEST("Test_init_5d_l") - CALL init(arr, .TRUE.) + CALL init(arr, .TRUE., .FALSE.) CALL ASSERT_EQUAL(assert_logical_5d_array(arr, trues), .TRUE.) END SUBROUTINE @@ -619,7 +619,7 @@ CONTAINS REAL(dp) :: ans(10, 10, 10) = 5.0 CALL TAG_TEST("Test_var_scale_3d") - CALL var_scale(arr, scale) + CALL var_scale(arr, scale, .FALSE.) CALL ASSERT_EQUAL(assert_real_3d_array(arr, ans), .TRUE.) END SUBROUTINE @@ -628,7 +628,7 @@ CONTAINS REAL(dp) :: ans(10, 10, 10) = 5.0 CALL TAG_TEST("Test_var_addc_3d_dp") - CALL var_add(arr, const) + CALL var_add(arr, const, .FALSE.) CALL ASSERT_EQUAL(assert_real_3d_array(arr, ans), .TRUE.) END SUBROUTINE @@ -653,7 +653,7 @@ CONTAINS END DO CALL TAG_TEST("Test_negative2zero_4d_dp") - CALL negative2zero(arr) + CALL negative2zero(arr, .FALSE.) CALL ASSERT_EQUAL(assert_real_4d_array(arr, ans), .TRUE.) END SUBROUTINE @@ -661,7 +661,7 @@ CONTAINS REAL(dp) :: arr(10), ans(10) = 7.0 CALL TAG_TEST("Test_init_contiguous_dp") - CALL init_contiguous_dp(arr, 10, 7.0_dp) + CALL init_contiguous_dp(arr, 10, 7.0_dp, .FALSE.) CALL ASSERT_EQUAL(assert_real_array(arr, ans), .TRUE.) END SUBROUTINE @@ -669,7 +669,7 @@ CONTAINS REAL(sp) :: arr(10), ans(10) = 7.0 CALL TAG_TEST("Test_init_contiguous_sp") - CALL init_contiguous_sp(arr, 10, 7.0) + CALL init_contiguous_sp(arr, 10, 7.0, .FALSE.) CALL ASSERT_EQUAL(assert_real_sp_array(arr, ans), .TRUE.) END SUBROUTINE @@ -677,7 +677,7 @@ CONTAINS REAL(dp) :: arr(10), zeros(10) = 0.0 CALL TAG_TEST("Test_init_zero_contiguous_dp") - CALL init_zero_contiguous_dp(arr, 10) + CALL init_zero_contiguous_dp(arr, 10, .FALSE.) CALL ASSERT_EQUAL(assert_real_array(arr, zeros), .TRUE.) END SUBROUTINE @@ -685,7 +685,7 @@ CONTAINS REAL(sp) :: arr(10), zeros(10) = 0.0 CALL TAG_TEST("Test_init_zero_contiguous_sp") - CALL init_zero_contiguous_sp(arr, 10) + CALL init_zero_contiguous_sp(arr, 10, .FALSE.) CALL ASSERT_EQUAL(assert_real_sp_array(arr, zeros), .TRUE.) END SUBROUTINE @@ -693,7 +693,7 @@ CONTAINS INTEGER(i4) :: arr(10), ans(10) = 7 CALL TAG_TEST("Test_init_contiguous_i4") - CALL init_contiguous_i4(arr, 10, 7) + CALL init_contiguous_i4(arr, 10, 7, .FALSE.) CALL ASSERT_EQUAL(assert_integer_array(arr, ans), .TRUE.) END SUBROUTINE @@ -701,7 +701,7 @@ CONTAINS LOGICAL :: arr(10), ans(10) = .TRUE. CALL TAG_TEST("Test_init_contiguous_l") - CALL init_contiguous_l(arr, 10, .TRUE.) + CALL init_contiguous_l(arr, 10, .TRUE., .FALSE.) CALL ASSERT_EQUAL(assert_logical_array(arr, ans), .TRUE.) END SUBROUTINE @@ -713,7 +713,7 @@ CONTAINS ! Make arr an array of numbers between 1 and 100 arr = 1 + FLOOR(100*rand) CALL TAG_TEST("Test_minval_1d") - min = minval_1d(arr) + min = minval_1d(arr, .FALSE.) CALL ASSERT_EQUAL(min, MINVAL(arr(:))) END SUBROUTINE @@ -725,7 +725,7 @@ CONTAINS ! Make arr an array of numbers between 1 and 100 arr = 1 + FLOOR(100*rand) CALL TAG_TEST("Test_minval_2d") - min = minval_2d(arr) + min = minval_2d(arr, .FALSE.) CALL ASSERT_EQUAL(min, MINVAL(arr(:, :))) END SUBROUTINE