From 551cd4df9f08eef603a63f017fab99a810b82f0e Mon Sep 17 00:00:00 2001 From: "Vandenplas, Jeremie" Date: Tue, 21 Jan 2020 21:34:48 +0100 Subject: [PATCH 1/4] addition of stdlib_experimental_stats function mean Squashed commit of the following: commit 3266163757d27309e87ba549324ad960d1473952 Merge: e96c12d 4274f0d Author: Vandenplas, Jeremie Date: Tue Jan 21 20:47:32 2020 +0100 modification of CMake and Makefile Merge branch 'stat_cmake' into stat_dev commit 4274f0d7fec31d98cc4ef172129eb23f44cb71ad Author: Vandenplas, Jeremie Date: Tue Jan 21 20:44:24 2020 +0100 stat_cmake: update Makefile commit 17e3d1640a993ba484de5e9869797f99a423eae7 Author: Vandenplas, Jeremie Date: Tue Jan 21 20:35:19 2020 +0100 second try cmake commit 397eb1864302f724531ca392dee3d90a2cce675b Author: Vandenplas, Jeremie Date: Tue Jan 21 20:18:37 2020 +0100 Modifications of CMake for tests on Ubuntu 7 commit e96c12dc88e559e54af476e105916165cab80712 Author: Vandenplas, Jeremie Date: Tue Jan 21 19:40:05 2020 +0100 small change in md commit 7eec9aedea3695f9b0a6f2238a22b4dc885f912e Author: Vandenplas, Jeremie Date: Tue Jan 21 19:37:06 2020 +0100 stat_dev: renamed stat to stats commit 8199b6df7a69eaca383d327fdbb0da8cf2d3063f Author: Vandenplas, Jeremie Date: Tue Jan 21 19:26:20 2020 +0100 stat_dev: changed spec commit b1c481dd270392d66d761a593ee5c2ca80cfeed8 Author: Vandenplas, Jeremie Date: Tue Jan 21 19:15:25 2020 +0100 stat_dev: modifs following comments commit e64657c903caca25d151a44111b6b1ab8ea87ce8 Author: Vandenplas, Jeremie Date: Tue Jan 21 14:23:59 2020 +0100 stat_dev: addition of .md file for mean commit ad504e8da6e299fda994d3c4f5a5ee91d3c944bd Merge: 5a1adcb bab50e3 Author: Vandenplas, Jeremie Date: Tue Jan 21 13:16:21 2020 +0100 Merge remote-tracking branch 'jvdp1/stat_dev_1' into stat_dev commit bab50e33637e0e20c23c562339ff540c51cf44fc Author: Vandenplas, Jeremie Date: Tue Jan 21 13:13:00 2020 +0100 stat_dev_1: changed all to iterations commit 8d4c11f985ae93ab3147827bdb03e4061247f053 Author: Vandenplas, Jeremie Date: Tue Jan 21 10:31:26 2020 +0100 stat_dev_1:moved all calls to mean functions to loops commit 922e523622b7eef768d784544ed6dbc5f7225db9 Author: Vandenplas, Jeremie Date: Tue Jan 21 09:13:10 2020 +0100 stat_dev_1: update test_mean commit 5a1adcb1a6b9b293542b1dba5c34606bf1999e49 Author: Vandenplas, Jeremie Date: Mon Jan 20 23:55:15 2020 +0100 stat_dev: inverting loops for efficiency commit 86970ae7579ea8af4c2efe5aabc3a20a0a04dfd3 Author: Vandenplas, Jeremie Date: Mon Jan 20 22:54:55 2020 +0100 stat_dev: use specific interface commit 6574a67d231d80502a90d37a0cba2c3cc6f957da Author: Vandenplas, Jeremie Date: Mon Jan 20 22:36:33 2020 +0100 stat_dev: addition of calls to error_stop commit e98090b6bbb58eb1e0758a061c30fe758049e2b0 Author: Vandenplas, Jeremie Date: Mon Jan 20 21:32:27 2020 +0100 stat_dev: extension to rank 15 commit e0e309284a99d3387f48c6231d4dcc91615ad375 Author: Vandenplas, Jeremie Date: Mon Jan 20 12:46:44 2020 +0100 stat_dev: simplified merge commit 22ff6e4a7928d0e6ba5d7e7999adf2b18e21994a Author: Vandenplas, Jeremie Date: Mon Jan 20 10:38:41 2020 +0100 stat_dev: progress rank 3 commit 7612613cac723e0c8bf0ddcf9ac2554f05925f9d Author: Vandenplas, Jeremie Date: Mon Jan 20 10:34:06 2020 +0100 stat_dev: add rank 3 commit 60ab523a12f5c1801ff5746f6bb7cde0af596fd5 Author: Vandenplas, Jeremie Date: Sun Jan 19 22:14:51 2020 +0100 stat_dev: addition of integer cases commit 6fb6ca52103024df374ab39e6bfde7b43525cf93 Author: Vandenplas, Jeremie Date: Sun Jan 19 21:03:46 2020 +0100 stat_dev: avoid allocatable functions commit a1c63535a07a074e196436635fb3e354bf49670a Author: Vandenplas, Jeremie Date: Sun Jan 19 20:11:49 2020 +0100 modification to have the same behaviour as Fortran sum commit 72500e12aa7e9fac3afe3da2b0a2578b71cf253d Author: Vandenplas, Jeremie Date: Sun Jan 19 15:23:34 2020 +0100 stat_dev: add error_stop commit 1272574d44390db9c7874b9de0cdb61dad04f658 Author: Vandenplas, Jeremie Date: Sun Jan 19 15:02:52 2020 +0100 stat_dev: update Makefile commit 426d43fc9a784d9204173e182706bd5aa8697b5a Author: Vandenplas, Jeremie Date: Sun Jan 19 12:21:09 2020 +0100 stat_dev: addition of test and creation of modules and submodules with fypp how to use pure functions inside submodules commit 965f37b7847855febea946d645018f8bc0783ca4 Author: Vandenplas, Jeremie Date: Sun Jan 19 11:35:11 2020 +0100 moved to submodules how to use pure functions in submodules commit d9af336d7047c0181e123d48b2f8fc285093bf54 Author: Vandenplas, Jeremie Date: Sun Jan 19 11:22:52 2020 +0100 stat_dev: init --- CMakeLists.txt | 1 + src/CMakeLists.txt | 8 + src/Makefile.manual | 8 +- src/f03_stdlib_experimental_stats.f90 | 1667 ++ src/f03_stdlib_experimental_stats_mean.f90 | 25896 +++++++++++++++++++ src/f90_stdlib_experimental_stats.f90 | 575 + src/f90_stdlib_experimental_stats_mean.f90 | 4225 +++ src/stdlib_experimental_stats.fypp | 124 + src/stdlib_experimental_stats.md | 43 + src/stdlib_experimental_stats_mean.fypp | 293 + src/tests/CMakeLists.txt | 1 + src/tests/Makefile.manual | 3 + src/tests/stats/CMakeLists.txt | 5 + src/tests/stats/Makefile.manual | 3 + src/tests/stats/array3.dat | 16 + src/tests/stats/test_mean.f90 | 75 + src/tests/stats/test_mean_f03.f90 | 38 + 17 files changed, 32980 insertions(+), 1 deletion(-) create mode 100644 src/f03_stdlib_experimental_stats.f90 create mode 100644 src/f03_stdlib_experimental_stats_mean.f90 create mode 100644 src/f90_stdlib_experimental_stats.f90 create mode 100644 src/f90_stdlib_experimental_stats_mean.f90 create mode 100644 src/stdlib_experimental_stats.fypp create mode 100644 src/stdlib_experimental_stats.md create mode 100644 src/stdlib_experimental_stats_mean.fypp create mode 100644 src/tests/stats/CMakeLists.txt create mode 100644 src/tests/stats/Makefile.manual create mode 100644 src/tests/stats/array3.dat create mode 100644 src/tests/stats/test_mean.f90 create mode 100644 src/tests/stats/test_mean_f03.f90 diff --git a/CMakeLists.txt b/CMakeLists.txt index b858ebd6b..a99f32292 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,6 +15,7 @@ endif() include(CheckFortranSourceCompiles) include(CheckFortranSourceRuns) check_fortran_source_compiles("error stop i; end" f18errorstop SRC_EXT f90) +check_fortran_source_compiles("real, allocatable :: array(:, :, :, :, :, :, :, :, :, :); end" f03rank SRC_EXT f90) check_fortran_source_runs("use, intrinsic :: iso_fortran_env, only : real128; real(real128) :: x; x = x+1; end" f03real128) add_subdirectory(src) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4a8d3fe03..32e46f617 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -23,6 +23,14 @@ else() target_sources(fortran_stdlib PRIVATE f08estop.f90) endif() +if(f03rank) + target_sources(fortran_stdlib PRIVATE f03_stdlib_experimental_stats.f90) + target_sources(fortran_stdlib PRIVATE f03_stdlib_experimental_stats_mean.f90) +else() + target_sources(fortran_stdlib PRIVATE f90_stdlib_experimental_stats.f90) + target_sources(fortran_stdlib PRIVATE f90_stdlib_experimental_stats_mean.f90) +endif() + add_subdirectory(tests) install(TARGETS fortran_stdlib diff --git a/src/Makefile.manual b/src/Makefile.manual index 0807f3ff1..e61ee5a08 100644 --- a/src/Makefile.manual +++ b/src/Makefile.manual @@ -3,7 +3,9 @@ SRC = stdlib_experimental_ascii.f90 \ stdlib_experimental_io.f90 \ stdlib_experimental_optval.f90 \ stdlib_experimental_kinds.f90 \ - f18estop.f90 + f18estop.f90 \ + f03_stdlib_experimental_stats.f90 \ + f03_stdlib_experimental_stats_mean.f90 LIB = libstdlib.a @@ -34,3 +36,7 @@ stdlib_experimental_io.o: \ stdlib_experimental_optval.o \ stdlib_experimental_kinds.o stdlib_experimental_optval.o: stdlib_experimental_kinds.o +f03_stdlib_experimental_stats_mean.o: \ + stdlib_experimental_optval.o \ + stdlib_experimental_kinds.o \ + f03_stdlib_experimental_stats.o diff --git a/src/f03_stdlib_experimental_stats.f90 b/src/f03_stdlib_experimental_stats.f90 new file mode 100644 index 000000000..7685b49a5 --- /dev/null +++ b/src/f03_stdlib_experimental_stats.f90 @@ -0,0 +1,1667 @@ +module stdlib_experimental_stats + + +use stdlib_experimental_kinds, only: sp, dp, qp, & + int8, int16, int32, int64 +implicit none +private +! Public API +public :: mean + +interface mean + module function mean_1_sp_sp(x) result(res) + real(sp), intent(in) :: x(:) + real(sp) :: res + end function mean_1_sp_sp + module function mean_1_dp_dp(x) result(res) + real(dp), intent(in) :: x(:) + real(dp) :: res + end function mean_1_dp_dp + module function mean_1_qp_qp(x) result(res) + real(qp), intent(in) :: x(:) + real(qp) :: res + end function mean_1_qp_qp + + module function mean_1_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:) + real(dp) :: res + end function mean_1_int8_dp + module function mean_1_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:) + real(dp) :: res + end function mean_1_int16_dp + module function mean_1_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:) + real(dp) :: res + end function mean_1_int32_dp + module function mean_1_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:) + real(dp) :: res + end function mean_1_int64_dp + + + module function mean_2_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:) + real(sp) :: res + end function mean_2_all_sp_sp + module function mean_2_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:) + real(dp) :: res + end function mean_2_all_dp_dp + module function mean_2_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:) + real(qp) :: res + end function mean_2_all_qp_qp + + module function mean_2_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:) + real(dp) :: res + end function mean_2_all_int8_dp + module function mean_2_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:) + real(dp) :: res + end function mean_2_all_int16_dp + module function mean_2_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:) + real(dp) :: res + end function mean_2_all_int32_dp + module function mean_2_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:) + real(dp) :: res + end function mean_2_all_int64_dp + + module function mean_2_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(sp) :: res(size(x)/size(x, dim)) + end function mean_2_sp_sp + module function mean_2_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + end function mean_2_dp_dp + module function mean_2_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(qp) :: res(size(x)/size(x, dim)) + end function mean_2_qp_qp + + module function mean_2_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + end function mean_2_int8_dp + module function mean_2_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + end function mean_2_int16_dp + module function mean_2_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + end function mean_2_int32_dp + module function mean_2_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + end function mean_2_int64_dp + + + + + +module function mean_3_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:) + real(sp) :: res +end function mean_3_all_sp_sp +module function mean_4_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:) + real(sp) :: res +end function mean_4_all_sp_sp +module function mean_5_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:) + real(sp) :: res +end function mean_5_all_sp_sp +module function mean_6_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:) + real(sp) :: res +end function mean_6_all_sp_sp +module function mean_7_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:) + real(sp) :: res +end function mean_7_all_sp_sp +module function mean_8_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:) + real(sp) :: res +end function mean_8_all_sp_sp +module function mean_9_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:) + real(sp) :: res +end function mean_9_all_sp_sp +module function mean_10_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + real(sp) :: res +end function mean_10_all_sp_sp +module function mean_11_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + real(sp) :: res +end function mean_11_all_sp_sp +module function mean_12_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + real(sp) :: res +end function mean_12_all_sp_sp +module function mean_13_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + real(sp) :: res +end function mean_13_all_sp_sp +module function mean_14_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(sp) :: res +end function mean_14_all_sp_sp +module function mean_15_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(sp) :: res +end function mean_15_all_sp_sp +module function mean_3_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:) + real(dp) :: res +end function mean_3_all_dp_dp +module function mean_4_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:) + real(dp) :: res +end function mean_4_all_dp_dp +module function mean_5_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:) + real(dp) :: res +end function mean_5_all_dp_dp +module function mean_6_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:) + real(dp) :: res +end function mean_6_all_dp_dp +module function mean_7_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:) + real(dp) :: res +end function mean_7_all_dp_dp +module function mean_8_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_8_all_dp_dp +module function mean_9_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_9_all_dp_dp +module function mean_10_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_10_all_dp_dp +module function mean_11_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_11_all_dp_dp +module function mean_12_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_12_all_dp_dp +module function mean_13_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_13_all_dp_dp +module function mean_14_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_14_all_dp_dp +module function mean_15_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_15_all_dp_dp +module function mean_3_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:) + real(qp) :: res +end function mean_3_all_qp_qp +module function mean_4_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:) + real(qp) :: res +end function mean_4_all_qp_qp +module function mean_5_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:) + real(qp) :: res +end function mean_5_all_qp_qp +module function mean_6_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:) + real(qp) :: res +end function mean_6_all_qp_qp +module function mean_7_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:) + real(qp) :: res +end function mean_7_all_qp_qp +module function mean_8_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:) + real(qp) :: res +end function mean_8_all_qp_qp +module function mean_9_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:) + real(qp) :: res +end function mean_9_all_qp_qp +module function mean_10_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + real(qp) :: res +end function mean_10_all_qp_qp +module function mean_11_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + real(qp) :: res +end function mean_11_all_qp_qp +module function mean_12_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + real(qp) :: res +end function mean_12_all_qp_qp +module function mean_13_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + real(qp) :: res +end function mean_13_all_qp_qp +module function mean_14_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(qp) :: res +end function mean_14_all_qp_qp +module function mean_15_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(qp) :: res +end function mean_15_all_qp_qp + +module function mean_3_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:) + real(dp) :: res +end function mean_3_all_int8_dp +module function mean_4_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:) + real(dp) :: res +end function mean_4_all_int8_dp +module function mean_5_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:) + real(dp) :: res +end function mean_5_all_int8_dp +module function mean_6_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:) + real(dp) :: res +end function mean_6_all_int8_dp +module function mean_7_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:) + real(dp) :: res +end function mean_7_all_int8_dp +module function mean_8_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_8_all_int8_dp +module function mean_9_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_9_all_int8_dp +module function mean_10_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_10_all_int8_dp +module function mean_11_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_11_all_int8_dp +module function mean_12_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_12_all_int8_dp +module function mean_13_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_13_all_int8_dp +module function mean_14_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_14_all_int8_dp +module function mean_15_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_15_all_int8_dp +module function mean_3_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:) + real(dp) :: res +end function mean_3_all_int16_dp +module function mean_4_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:) + real(dp) :: res +end function mean_4_all_int16_dp +module function mean_5_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:) + real(dp) :: res +end function mean_5_all_int16_dp +module function mean_6_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:) + real(dp) :: res +end function mean_6_all_int16_dp +module function mean_7_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:) + real(dp) :: res +end function mean_7_all_int16_dp +module function mean_8_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_8_all_int16_dp +module function mean_9_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_9_all_int16_dp +module function mean_10_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_10_all_int16_dp +module function mean_11_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_11_all_int16_dp +module function mean_12_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_12_all_int16_dp +module function mean_13_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_13_all_int16_dp +module function mean_14_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_14_all_int16_dp +module function mean_15_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_15_all_int16_dp +module function mean_3_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:) + real(dp) :: res +end function mean_3_all_int32_dp +module function mean_4_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:) + real(dp) :: res +end function mean_4_all_int32_dp +module function mean_5_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:) + real(dp) :: res +end function mean_5_all_int32_dp +module function mean_6_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:) + real(dp) :: res +end function mean_6_all_int32_dp +module function mean_7_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:) + real(dp) :: res +end function mean_7_all_int32_dp +module function mean_8_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_8_all_int32_dp +module function mean_9_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_9_all_int32_dp +module function mean_10_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_10_all_int32_dp +module function mean_11_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_11_all_int32_dp +module function mean_12_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_12_all_int32_dp +module function mean_13_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_13_all_int32_dp +module function mean_14_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_14_all_int32_dp +module function mean_15_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_15_all_int32_dp +module function mean_3_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:) + real(dp) :: res +end function mean_3_all_int64_dp +module function mean_4_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:) + real(dp) :: res +end function mean_4_all_int64_dp +module function mean_5_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:) + real(dp) :: res +end function mean_5_all_int64_dp +module function mean_6_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:) + real(dp) :: res +end function mean_6_all_int64_dp +module function mean_7_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:) + real(dp) :: res +end function mean_7_all_int64_dp +module function mean_8_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_8_all_int64_dp +module function mean_9_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_9_all_int64_dp +module function mean_10_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_10_all_int64_dp +module function mean_11_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_11_all_int64_dp +module function mean_12_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_12_all_int64_dp +module function mean_13_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_13_all_int64_dp +module function mean_14_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_14_all_int64_dp +module function mean_15_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res +end function mean_15_all_int64_dp + +module function mean_3_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) +end function mean_3_sp_sp +module function mean_4_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) +end function mean_4_sp_sp +module function mean_5_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) +end function mean_5_sp_sp +module function mean_6_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) +end function mean_6_sp_sp +module function mean_7_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) +end function mean_7_sp_sp +module function mean_8_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ) ) +end function mean_8_sp_sp +module function mean_9_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ) ) +end function mean_9_sp_sp +module function mean_10_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ) ) +end function mean_10_sp_sp +module function mean_11_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ) ) +end function mean_11_sp_sp +module function mean_12_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ) ) +end function mean_12_sp_sp +module function mean_13_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ) ) +end function mean_13_sp_sp +module function mean_14_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ) ) +end function mean_14_sp_sp +module function mean_15_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ), & + merge(size(x,14),size(x,15),mask = 14 < dim ) ) +end function mean_15_sp_sp +module function mean_3_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) +end function mean_3_dp_dp +module function mean_4_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) +end function mean_4_dp_dp +module function mean_5_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) +end function mean_5_dp_dp +module function mean_6_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) +end function mean_6_dp_dp +module function mean_7_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) +end function mean_7_dp_dp +module function mean_8_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ) ) +end function mean_8_dp_dp +module function mean_9_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ) ) +end function mean_9_dp_dp +module function mean_10_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ) ) +end function mean_10_dp_dp +module function mean_11_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ) ) +end function mean_11_dp_dp +module function mean_12_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ) ) +end function mean_12_dp_dp +module function mean_13_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ) ) +end function mean_13_dp_dp +module function mean_14_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ) ) +end function mean_14_dp_dp +module function mean_15_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ), & + merge(size(x,14),size(x,15),mask = 14 < dim ) ) +end function mean_15_dp_dp +module function mean_3_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) +end function mean_3_qp_qp +module function mean_4_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) +end function mean_4_qp_qp +module function mean_5_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) +end function mean_5_qp_qp +module function mean_6_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) +end function mean_6_qp_qp +module function mean_7_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) +end function mean_7_qp_qp +module function mean_8_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ) ) +end function mean_8_qp_qp +module function mean_9_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ) ) +end function mean_9_qp_qp +module function mean_10_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ) ) +end function mean_10_qp_qp +module function mean_11_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ) ) +end function mean_11_qp_qp +module function mean_12_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ) ) +end function mean_12_qp_qp +module function mean_13_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ) ) +end function mean_13_qp_qp +module function mean_14_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ) ) +end function mean_14_qp_qp +module function mean_15_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ), & + merge(size(x,14),size(x,15),mask = 14 < dim ) ) +end function mean_15_qp_qp + +module function mean_3_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) +end function mean_3_int8_dp +module function mean_4_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) +end function mean_4_int8_dp +module function mean_5_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) +end function mean_5_int8_dp +module function mean_6_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) +end function mean_6_int8_dp +module function mean_7_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) +end function mean_7_int8_dp +module function mean_8_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ) ) +end function mean_8_int8_dp +module function mean_9_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ) ) +end function mean_9_int8_dp +module function mean_10_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ) ) +end function mean_10_int8_dp +module function mean_11_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ) ) +end function mean_11_int8_dp +module function mean_12_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ) ) +end function mean_12_int8_dp +module function mean_13_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ) ) +end function mean_13_int8_dp +module function mean_14_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ) ) +end function mean_14_int8_dp +module function mean_15_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ), & + merge(size(x,14),size(x,15),mask = 14 < dim ) ) +end function mean_15_int8_dp +module function mean_3_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) +end function mean_3_int16_dp +module function mean_4_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) +end function mean_4_int16_dp +module function mean_5_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) +end function mean_5_int16_dp +module function mean_6_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) +end function mean_6_int16_dp +module function mean_7_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) +end function mean_7_int16_dp +module function mean_8_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ) ) +end function mean_8_int16_dp +module function mean_9_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ) ) +end function mean_9_int16_dp +module function mean_10_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ) ) +end function mean_10_int16_dp +module function mean_11_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ) ) +end function mean_11_int16_dp +module function mean_12_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ) ) +end function mean_12_int16_dp +module function mean_13_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ) ) +end function mean_13_int16_dp +module function mean_14_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ) ) +end function mean_14_int16_dp +module function mean_15_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ), & + merge(size(x,14),size(x,15),mask = 14 < dim ) ) +end function mean_15_int16_dp +module function mean_3_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) +end function mean_3_int32_dp +module function mean_4_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) +end function mean_4_int32_dp +module function mean_5_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) +end function mean_5_int32_dp +module function mean_6_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) +end function mean_6_int32_dp +module function mean_7_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) +end function mean_7_int32_dp +module function mean_8_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ) ) +end function mean_8_int32_dp +module function mean_9_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ) ) +end function mean_9_int32_dp +module function mean_10_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ) ) +end function mean_10_int32_dp +module function mean_11_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ) ) +end function mean_11_int32_dp +module function mean_12_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ) ) +end function mean_12_int32_dp +module function mean_13_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ) ) +end function mean_13_int32_dp +module function mean_14_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ) ) +end function mean_14_int32_dp +module function mean_15_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ), & + merge(size(x,14),size(x,15),mask = 14 < dim ) ) +end function mean_15_int32_dp +module function mean_3_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) +end function mean_3_int64_dp +module function mean_4_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) +end function mean_4_int64_dp +module function mean_5_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) +end function mean_5_int64_dp +module function mean_6_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) +end function mean_6_int64_dp +module function mean_7_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) +end function mean_7_int64_dp +module function mean_8_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ) ) +end function mean_8_int64_dp +module function mean_9_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ) ) +end function mean_9_int64_dp +module function mean_10_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ) ) +end function mean_10_int64_dp +module function mean_11_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ) ) +end function mean_11_int64_dp +module function mean_12_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ) ) +end function mean_12_int64_dp +module function mean_13_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ) ) +end function mean_13_int64_dp +module function mean_14_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ) ) +end function mean_14_int64_dp +module function mean_15_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ), & + merge(size(x,14),size(x,15),mask = 14 < dim ) ) +end function mean_15_int64_dp + +end interface + +end module diff --git a/src/f03_stdlib_experimental_stats_mean.f90 b/src/f03_stdlib_experimental_stats_mean.f90 new file mode 100644 index 000000000..e4a0069a7 --- /dev/null +++ b/src/f03_stdlib_experimental_stats_mean.f90 @@ -0,0 +1,25896 @@ +submodule (stdlib_experimental_stats) stdlib_experimental_stats_mean + + +use stdlib_experimental_error, only: error_stop +implicit none + +contains + +module function mean_1_sp_sp(x) result(res) + real(sp), intent(in) :: x(:) + real(sp) :: res + + integer :: i + + res = 0.0_sp + do i = 1, size(x) + res = res + x(i) + enddo + res = res / real(size(x), sp) + +end function mean_1_sp_sp +module function mean_1_dp_dp(x) result(res) + real(dp), intent(in) :: x(:) + real(dp) :: res + + integer :: i + + res = 0.0_dp + do i = 1, size(x) + res = res + x(i) + enddo + res = res / real(size(x), dp) + +end function mean_1_dp_dp +module function mean_1_qp_qp(x) result(res) + real(qp), intent(in) :: x(:) + real(qp) :: res + + integer :: i + + res = 0.0_qp + do i = 1, size(x) + res = res + x(i) + enddo + res = res / real(size(x), qp) + +end function mean_1_qp_qp + +module function mean_1_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:) + real(dp) :: res + + integer :: i + + res = 0.0_dp + do i = 1, size(x) + res = res + real(x(i), dp) + enddo + res = res / real(size(x), dp) + +end function mean_1_int8_dp +module function mean_1_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:) + real(dp) :: res + + integer :: i + + res = 0.0_dp + do i = 1, size(x) + res = res + real(x(i), dp) + enddo + res = res / real(size(x), dp) + +end function mean_1_int16_dp +module function mean_1_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:) + real(dp) :: res + + integer :: i + + res = 0.0_dp + do i = 1, size(x) + res = res + real(x(i), dp) + enddo + res = res / real(size(x), dp) + +end function mean_1_int32_dp +module function mean_1_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:) + real(dp) :: res + + integer :: i + + res = 0.0_dp + do i = 1, size(x) + res = res + real(x(i), dp) + enddo + res = res / real(size(x), dp) + +end function mean_1_int64_dp + + +module function mean_2_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:) + real(sp) :: res + + integer :: i, i_ + + res = 0.0_sp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_) + enddo + enddo + res = res / real(size(x), sp) + +end function mean_2_all_sp_sp +module function mean_2_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:) + real(dp) :: res + + integer :: i, i_ + + res = 0.0_dp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_) + enddo + enddo + res = res / real(size(x), dp) + +end function mean_2_all_dp_dp +module function mean_2_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:) + real(qp) :: res + + integer :: i, i_ + + res = 0.0_qp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_) + enddo + enddo + res = res / real(size(x), qp) + +end function mean_2_all_qp_qp + +module function mean_2_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:) + real(dp) :: res + + integer :: i, i_ + + res = 0.0_dp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_), dp) + enddo + enddo + res = res / real(size(x), dp) + +end function mean_2_all_int8_dp +module function mean_2_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:) + real(dp) :: res + + integer :: i, i_ + + res = 0.0_dp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_), dp) + enddo + enddo + res = res / real(size(x), dp) + +end function mean_2_all_int16_dp +module function mean_2_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:) + real(dp) :: res + + integer :: i, i_ + + res = 0.0_dp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_), dp) + enddo + enddo + res = res / real(size(x), dp) + +end function mean_2_all_int32_dp +module function mean_2_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:) + real(dp) :: res + + integer :: i, i_ + + res = 0.0_dp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_), dp) + enddo + enddo + res = res / real(size(x), dp) + +end function mean_2_all_int64_dp + +module function mean_2_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(sp) :: res(size(x)/size(x, dim)) + + integer :: i, i_ + + res = 0.0_sp + + select case(dim) + case(1) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + x(i, i_) + end do + end do + case(2) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + x(i, i_) + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), sp) + +end function mean_2_sp_sp +module function mean_2_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + + integer :: i, i_ + + res = 0.0_dp + + select case(dim) + case(1) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + x(i, i_) + end do + end do + case(2) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + x(i, i_) + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_2_dp_dp +module function mean_2_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(qp) :: res(size(x)/size(x, dim)) + + integer :: i, i_ + + res = 0.0_qp + + select case(dim) + case(1) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + x(i, i_) + end do + end do + case(2) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + x(i, i_) + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), qp) + +end function mean_2_qp_qp + +module function mean_2_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + + integer :: i, i_ + + res = 0.0_dp + + select case(dim) + case(1) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + real(x(i, i_), dp) + end do + end do + case(2) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + real(x(i, i_), dp) + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_2_int8_dp +module function mean_2_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + + integer :: i, i_ + + res = 0.0_dp + + select case(dim) + case(1) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + real(x(i, i_), dp) + end do + end do + case(2) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + real(x(i, i_), dp) + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_2_int16_dp +module function mean_2_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + + integer :: i, i_ + + res = 0.0_dp + + select case(dim) + case(1) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + real(x(i, i_), dp) + end do + end do + case(2) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + real(x(i, i_), dp) + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_2_int32_dp +module function mean_2_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + + integer :: i, i_ + + res = 0.0_dp + + select case(dim) + case(1) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + real(x(i, i_), dp) + end do + end do + case(2) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + real(x(i, i_), dp) + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_2_int64_dp + + + + + + + +module function mean_3_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:) + real(sp) :: res + + integer :: i,i_,i__ + + res = 0.0_sp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__) + end do + end do + end do + + res = res / real(size(x), sp) + +end function mean_3_all_sp_sp +module function mean_4_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:) + real(sp) :: res + + integer :: i,i_,i__,i___ + + res = 0.0_sp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___) + end do + end do + end do + end do + + res = res / real(size(x), sp) + +end function mean_4_all_sp_sp +module function mean_5_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:) + real(sp) :: res + + integer :: i,i_,i__,i___,i____ + + res = 0.0_sp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) + +end function mean_5_all_sp_sp +module function mean_6_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:) + real(sp) :: res + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_sp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) + +end function mean_6_all_sp_sp +module function mean_7_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:) + real(sp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_sp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) + +end function mean_7_all_sp_sp +module function mean_8_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:) + real(sp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_sp + + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) + +end function mean_8_all_sp_sp +module function mean_9_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:) + real(sp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_sp + + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) + +end function mean_9_all_sp_sp +module function mean_10_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + real(sp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_sp + + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) + +end function mean_10_all_sp_sp +module function mean_11_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + real(sp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_sp + + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) + +end function mean_11_all_sp_sp +module function mean_12_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + real(sp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_sp + + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) + +end function mean_12_all_sp_sp +module function mean_13_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + real(sp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_sp + + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_________& + &___) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) + +end function mean_13_all_sp_sp +module function mean_14_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(sp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_sp + + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& + &____,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) + +end function mean_14_all_sp_sp +module function mean_15_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(sp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_sp + + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) + +end function mean_15_all_sp_sp +module function mean_3_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:) + real(dp) :: res + + integer :: i,i_,i__ + + res = 0.0_dp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__) + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_3_all_dp_dp +module function mean_4_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___ + + res = 0.0_dp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___) + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_4_all_dp_dp +module function mean_5_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_5_all_dp_dp +module function mean_6_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_6_all_dp_dp +module function mean_7_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_7_all_dp_dp +module function mean_8_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_dp + + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_8_all_dp_dp +module function mean_9_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_dp + + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_9_all_dp_dp +module function mean_10_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_dp + + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_10_all_dp_dp +module function mean_11_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_dp + + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_11_all_dp_dp +module function mean_12_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_dp + + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_12_all_dp_dp +module function mean_13_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_dp + + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_________& + &___) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_13_all_dp_dp +module function mean_14_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_dp + + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& + &____,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_14_all_dp_dp +module function mean_15_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_dp + + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_15_all_dp_dp +module function mean_3_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:) + real(qp) :: res + + integer :: i,i_,i__ + + res = 0.0_qp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__) + end do + end do + end do + + res = res / real(size(x), qp) + +end function mean_3_all_qp_qp +module function mean_4_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:) + real(qp) :: res + + integer :: i,i_,i__,i___ + + res = 0.0_qp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___) + end do + end do + end do + end do + + res = res / real(size(x), qp) + +end function mean_4_all_qp_qp +module function mean_5_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:) + real(qp) :: res + + integer :: i,i_,i__,i___,i____ + + res = 0.0_qp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) + +end function mean_5_all_qp_qp +module function mean_6_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:) + real(qp) :: res + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_qp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) + +end function mean_6_all_qp_qp +module function mean_7_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:) + real(qp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_qp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) + +end function mean_7_all_qp_qp +module function mean_8_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:) + real(qp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_qp + + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) + +end function mean_8_all_qp_qp +module function mean_9_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:) + real(qp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_qp + + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) + +end function mean_9_all_qp_qp +module function mean_10_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + real(qp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_qp + + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) + +end function mean_10_all_qp_qp +module function mean_11_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + real(qp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_qp + + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) + +end function mean_11_all_qp_qp +module function mean_12_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + real(qp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_qp + + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) + +end function mean_12_all_qp_qp +module function mean_13_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + real(qp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_qp + + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_________& + &___) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) + +end function mean_13_all_qp_qp +module function mean_14_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(qp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_qp + + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& + &____,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) + +end function mean_14_all_qp_qp +module function mean_15_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(qp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_qp + + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) + +end function mean_15_all_qp_qp + +module function mean_3_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:) + real(dp) :: res + + integer :: i,i_,i__ + + res = 0.0_dp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__), dp) + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_3_all_int8_dp +module function mean_4_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___ + + res = 0.0_dp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_4_all_int8_dp +module function mean_5_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_5_all_int8_dp +module function mean_6_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_6_all_int8_dp +module function mean_7_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_7_all_int8_dp +module function mean_8_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_dp + + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_8_all_int8_dp +module function mean_9_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_dp + + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_9_all_int8_dp +module function mean_10_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_dp + + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_10_all_int8_dp +module function mean_11_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_dp + + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_11_all_int8_dp +module function mean_12_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_dp + + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_12_all_int8_dp +module function mean_13_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_dp + + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_13_all_int8_dp +module function mean_14_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_dp + + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& + &_________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_14_all_int8_dp +module function mean_15_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_dp + + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_15_all_int8_dp +module function mean_3_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:) + real(dp) :: res + + integer :: i,i_,i__ + + res = 0.0_dp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__), dp) + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_3_all_int16_dp +module function mean_4_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___ + + res = 0.0_dp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_4_all_int16_dp +module function mean_5_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_5_all_int16_dp +module function mean_6_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_6_all_int16_dp +module function mean_7_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_7_all_int16_dp +module function mean_8_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_dp + + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_8_all_int16_dp +module function mean_9_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_dp + + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_9_all_int16_dp +module function mean_10_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_dp + + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_10_all_int16_dp +module function mean_11_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_dp + + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_11_all_int16_dp +module function mean_12_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_dp + + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_12_all_int16_dp +module function mean_13_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_dp + + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_13_all_int16_dp +module function mean_14_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_dp + + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& + &_________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_14_all_int16_dp +module function mean_15_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_dp + + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_15_all_int16_dp +module function mean_3_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:) + real(dp) :: res + + integer :: i,i_,i__ + + res = 0.0_dp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__), dp) + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_3_all_int32_dp +module function mean_4_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___ + + res = 0.0_dp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_4_all_int32_dp +module function mean_5_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_5_all_int32_dp +module function mean_6_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_6_all_int32_dp +module function mean_7_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_7_all_int32_dp +module function mean_8_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_dp + + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_8_all_int32_dp +module function mean_9_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_dp + + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_9_all_int32_dp +module function mean_10_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_dp + + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_10_all_int32_dp +module function mean_11_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_dp + + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_11_all_int32_dp +module function mean_12_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_dp + + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_12_all_int32_dp +module function mean_13_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_dp + + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_13_all_int32_dp +module function mean_14_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_dp + + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& + &_________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_14_all_int32_dp +module function mean_15_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_dp + + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_15_all_int32_dp +module function mean_3_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:) + real(dp) :: res + + integer :: i,i_,i__ + + res = 0.0_dp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__), dp) + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_3_all_int64_dp +module function mean_4_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___ + + res = 0.0_dp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_4_all_int64_dp +module function mean_5_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_5_all_int64_dp +module function mean_6_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_6_all_int64_dp +module function mean_7_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_7_all_int64_dp +module function mean_8_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_dp + + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_8_all_int64_dp +module function mean_9_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_dp + + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_9_all_int64_dp +module function mean_10_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_dp + + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_10_all_int64_dp +module function mean_11_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_dp + + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_11_all_int64_dp +module function mean_12_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_dp + + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_12_all_int64_dp +module function mean_13_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_dp + + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_13_all_int64_dp +module function mean_14_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_dp + + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& + &_________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_14_all_int64_dp +module function mean_15_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_dp + + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_15_all_int64_dp + +module function mean_3_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) + + integer :: i,i_,i__ + + res = 0.0_sp + + select case(dim) + case(1) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + x(i,i_,i__) + end do + end do + end do + case(2) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + x(i,i_,i__) + end do + end do + end do + case(3) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + x(i,i_,i__) + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), sp) + +end function mean_3_sp_sp +module function mean_4_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) + + integer :: i,i_,i__,i___ + + res = 0.0_sp + + select case(dim) + case(1) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + x(i,i_,i__,i___) + end do + end do + end do + end do + case(2) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + x(i,i_,i__,i___) + end do + end do + end do + end do + case(3) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + x(i,i_,i__,i___) + end do + end do + end do + end do + case(4) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + x(i,i_,i__,i___) + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), sp) + +end function mean_4_sp_sp +module function mean_5_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) + + integer :: i,i_,i__,i___,i____ + + res = 0.0_sp + + select case(dim) + case(1) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(2) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(3) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(4) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(5) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), sp) + +end function mean_5_sp_sp +module function mean_6_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_sp + + select case(dim) + case(1) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(2) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(3) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(4) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(5) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(6) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), sp) + +end function mean_6_sp_sp +module function mean_7_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_sp + + select case(dim) + case(1) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), sp) + +end function mean_7_sp_sp +module function mean_8_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_sp + + select case(dim) + case(1) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), sp) + +end function mean_8_sp_sp +module function mean_9_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_sp + + select case(dim) + case(1) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), sp) + +end function mean_9_sp_sp +module function mean_10_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_sp + + select case(dim) + case(1) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& + &_______,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& + &_____,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& + &___,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& + &_,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& + &i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& + &________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& + &____) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), sp) + +end function mean_10_sp_sp +module function mean_11_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_sp + + select case(dim) + case(1) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), sp) + +end function mean_11_sp_sp +module function mean_12_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_sp + + select case(dim) + case(1) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), sp) + +end function mean_12_sp_sp +module function mean_13_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_sp + + select case(dim) + case(1) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& + &) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_________& + &___) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& + &__) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& + &__) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& + &__) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), sp) + +end function mean_13_sp_sp +module function mean_14_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_sp + + select case(dim) + case(1) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i____& + &______,i___________,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& + &____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i______& + &____,i___________,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i________& + &__,i___________,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________& + &,i___________,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& + &______,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i& + &___________,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& + &____,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& + &_________,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& + &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& + &__,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& + &_______,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& + &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& + &,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i______& + &_____,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& + &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& + &_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i________& + &___,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& + &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& + &___________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& + &_,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& + &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& + &_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,& + &i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& + &_______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_& + &___________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(14) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& + &_________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), sp) + +end function mean_14_sp_sp +module function mean_15_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ), & + merge(size(x,14),size(x,15),mask = 14 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_sp + + select case(dim) + case(1) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& + &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,& + &i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_& + &______,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i___& + &____,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_____& + &__,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______& + &,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i& + &________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i__& + &______,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& + &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& + &____,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i____& + &____,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& + &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& + &__,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i______& + &__,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& + &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& + &,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________& + &,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& + &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& + &____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i& + &_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& + &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& + &__________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__& + &_______,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& + &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i____& + &_____,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(14) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& + &_______,i____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i______& + &___,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(15) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i________& + &_,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), sp) + +end function mean_15_sp_sp +module function mean_3_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) + + integer :: i,i_,i__ + + res = 0.0_dp + + select case(dim) + case(1) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + x(i,i_,i__) + end do + end do + end do + case(2) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + x(i,i_,i__) + end do + end do + end do + case(3) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + x(i,i_,i__) + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_3_dp_dp +module function mean_4_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) + + integer :: i,i_,i__,i___ + + res = 0.0_dp + + select case(dim) + case(1) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + x(i,i_,i__,i___) + end do + end do + end do + end do + case(2) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + x(i,i_,i__,i___) + end do + end do + end do + end do + case(3) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + x(i,i_,i__,i___) + end do + end do + end do + end do + case(4) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + x(i,i_,i__,i___) + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_4_dp_dp +module function mean_5_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) + + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + select case(dim) + case(1) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(2) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(3) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(4) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(5) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_5_dp_dp +module function mean_6_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + select case(dim) + case(1) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(2) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(3) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(4) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(5) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(6) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_6_dp_dp +module function mean_7_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + select case(dim) + case(1) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_7_dp_dp +module function mean_8_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_dp + + select case(dim) + case(1) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_8_dp_dp +module function mean_9_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_dp + + select case(dim) + case(1) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_9_dp_dp +module function mean_10_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_dp + + select case(dim) + case(1) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& + &_______,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& + &_____,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& + &___,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& + &_,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& + &i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& + &________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& + &____) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_10_dp_dp +module function mean_11_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_dp + + select case(dim) + case(1) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_11_dp_dp +module function mean_12_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_dp + + select case(dim) + case(1) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_12_dp_dp +module function mean_13_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_dp + + select case(dim) + case(1) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& + &) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_________& + &___) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& + &__) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& + &__) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& + &__) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_13_dp_dp +module function mean_14_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_dp + + select case(dim) + case(1) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i____& + &______,i___________,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& + &____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i______& + &____,i___________,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i________& + &__,i___________,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________& + &,i___________,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& + &______,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i& + &___________,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& + &____,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& + &_________,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& + &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& + &__,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& + &_______,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& + &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& + &,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i______& + &_____,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& + &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& + &_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i________& + &___,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& + &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& + &___________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& + &_,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& + &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& + &_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,& + &i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& + &_______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_& + &___________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(14) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& + &_________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_14_dp_dp +module function mean_15_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ), & + merge(size(x,14),size(x,15),mask = 14 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_dp + + select case(dim) + case(1) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& + &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,& + &i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_& + &______,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i___& + &____,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_____& + &__,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______& + &,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i& + &________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i__& + &______,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& + &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& + &____,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i____& + &____,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& + &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& + &__,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i______& + &__,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& + &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& + &,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________& + &,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& + &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& + &____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i& + &_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& + &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& + &__________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__& + &_______,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& + &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i____& + &_____,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(14) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& + &_______,i____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i______& + &___,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(15) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i________& + &_,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_15_dp_dp +module function mean_3_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) + + integer :: i,i_,i__ + + res = 0.0_qp + + select case(dim) + case(1) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + x(i,i_,i__) + end do + end do + end do + case(2) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + x(i,i_,i__) + end do + end do + end do + case(3) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + x(i,i_,i__) + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), qp) + +end function mean_3_qp_qp +module function mean_4_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) + + integer :: i,i_,i__,i___ + + res = 0.0_qp + + select case(dim) + case(1) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + x(i,i_,i__,i___) + end do + end do + end do + end do + case(2) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + x(i,i_,i__,i___) + end do + end do + end do + end do + case(3) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + x(i,i_,i__,i___) + end do + end do + end do + end do + case(4) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + x(i,i_,i__,i___) + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), qp) + +end function mean_4_qp_qp +module function mean_5_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) + + integer :: i,i_,i__,i___,i____ + + res = 0.0_qp + + select case(dim) + case(1) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(2) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(3) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(4) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(5) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), qp) + +end function mean_5_qp_qp +module function mean_6_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_qp + + select case(dim) + case(1) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(2) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(3) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(4) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(5) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(6) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), qp) + +end function mean_6_qp_qp +module function mean_7_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_qp + + select case(dim) + case(1) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), qp) + +end function mean_7_qp_qp +module function mean_8_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_qp + + select case(dim) + case(1) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), qp) + +end function mean_8_qp_qp +module function mean_9_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_qp + + select case(dim) + case(1) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), qp) + +end function mean_9_qp_qp +module function mean_10_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_qp + + select case(dim) + case(1) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& + &_______,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& + &_____,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& + &___,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& + &_,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& + &i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& + &________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& + &____) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), qp) + +end function mean_10_qp_qp +module function mean_11_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_qp + + select case(dim) + case(1) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), qp) + +end function mean_11_qp_qp +module function mean_12_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_qp + + select case(dim) + case(1) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), qp) + +end function mean_12_qp_qp +module function mean_13_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_qp + + select case(dim) + case(1) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& + &) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_________& + &___) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& + &__) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& + &__) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& + &__) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), qp) + +end function mean_13_qp_qp +module function mean_14_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_qp + + select case(dim) + case(1) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i____& + &______,i___________,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& + &____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i______& + &____,i___________,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i________& + &__,i___________,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________& + &,i___________,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& + &______,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i& + &___________,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& + &____,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& + &_________,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& + &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& + &__,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& + &_______,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& + &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& + &,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i______& + &_____,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& + &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& + &_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i________& + &___,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& + &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& + &___________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& + &_,i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& + &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& + &_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,& + &i____________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& + &_______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_& + &___________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(14) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& + &_________,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), qp) + +end function mean_14_qp_qp +module function mean_15_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ), & + merge(size(x,14),size(x,15),mask = 14 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_qp + + select case(dim) + case(1) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& + &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,& + &i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_& + &______,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i___& + &____,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_____& + &__,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______& + &,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i& + &________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i__& + &______,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& + &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& + &____,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i____& + &____,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& + &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& + &__,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i______& + &__,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& + &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& + &,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________& + &,i_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& + &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& + &____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i& + &_________,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& + &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& + &__________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__& + &_______,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& + &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i____& + &_____,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(14) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& + &_______,i____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i______& + &___,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(15) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i________& + &_,i__________,i___________,i____________,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), qp) + +end function mean_15_qp_qp + +module function mean_3_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) + + integer :: i,i_,i__ + + res = 0.0_dp + + select case(dim) + case(1) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + real(x(i,i_,i__), dp) + end do + end do + end do + case(2) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + real(x(i,i_,i__), dp) + end do + end do + end do + case(3) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + real(x(i,i_,i__), dp) + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_3_int8_dp +module function mean_4_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) + + integer :: i,i_,i__,i___ + + res = 0.0_dp + + select case(dim) + case(1) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(2) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(3) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(4) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_4_int8_dp +module function mean_5_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) + + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + select case(dim) + case(1) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(2) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(3) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(4) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(5) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_5_int8_dp +module function mean_6_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + select case(dim) + case(1) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(2) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(3) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(4) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(5) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(6) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_6_int8_dp +module function mean_7_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + select case(dim) + case(1) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______),& + & dp) + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_7_int8_dp +module function mean_8_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_dp + + select case(dim) + case(1) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_8_int8_dp +module function mean_9_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_dp + + select case(dim) + case(1) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_9_int8_dp +module function mean_10_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_dp + + select case(dim) + case(1) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& + &_______,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& + &_____,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& + &___,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& + &_,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& + &i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& + &________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& + &____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_10_int8_dp +module function mean_11_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_dp + + select case(dim) + case(1) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_11_int8_dp +module function mean_12_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_dp + + select case(dim) + case(1) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_12_int8_dp +module function mean_13_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_dp + + select case(dim) + case(1) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& + &) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_13_int8_dp +module function mean_14_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_dp + + select case(dim) + case(1) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,& + &i__________,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& + &____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_& + &_________,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___& + &_______,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& + &______,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& + &____,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& + &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& + &__,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& + &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& + &,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& + &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& + &_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& + &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& + &___________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& + &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& + &_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_______& + &____,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& + &_______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_________& + &__,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& + &_,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(14) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_14_int8_dp +module function mean_15_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ), & + merge(size(x,14),size(x,15),mask = 14 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_dp + + select case(dim) + case(1) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& + &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i__& + &____,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________& + &), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i____& + &__,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& + & dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______& + &,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& + & dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i& + &_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i__& + &_____,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i____& + &___,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& + &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& + &____,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& + &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& + &__,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_& + &_______,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& + &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& + &,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &_____,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& + &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& + &____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_____& + &___,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& + &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& + &__________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_______& + &_,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& + &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,& + &i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(14) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& + &_______,i____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_& + &________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(15) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i___& + &______,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_15_int8_dp +module function mean_3_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) + + integer :: i,i_,i__ + + res = 0.0_dp + + select case(dim) + case(1) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + real(x(i,i_,i__), dp) + end do + end do + end do + case(2) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + real(x(i,i_,i__), dp) + end do + end do + end do + case(3) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + real(x(i,i_,i__), dp) + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_3_int16_dp +module function mean_4_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) + + integer :: i,i_,i__,i___ + + res = 0.0_dp + + select case(dim) + case(1) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(2) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(3) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(4) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_4_int16_dp +module function mean_5_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) + + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + select case(dim) + case(1) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(2) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(3) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(4) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(5) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_5_int16_dp +module function mean_6_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + select case(dim) + case(1) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(2) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(3) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(4) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(5) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(6) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_6_int16_dp +module function mean_7_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + select case(dim) + case(1) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______),& + & dp) + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_7_int16_dp +module function mean_8_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_dp + + select case(dim) + case(1) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_8_int16_dp +module function mean_9_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_dp + + select case(dim) + case(1) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_9_int16_dp +module function mean_10_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_dp + + select case(dim) + case(1) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& + &_______,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& + &_____,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& + &___,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& + &_,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& + &i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& + &________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& + &____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_10_int16_dp +module function mean_11_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_dp + + select case(dim) + case(1) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_11_int16_dp +module function mean_12_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_dp + + select case(dim) + case(1) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_12_int16_dp +module function mean_13_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_dp + + select case(dim) + case(1) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& + &) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_13_int16_dp +module function mean_14_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_dp + + select case(dim) + case(1) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,& + &i__________,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& + &____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_& + &_________,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___& + &_______,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& + &______,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& + &____,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& + &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& + &__,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& + &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& + &,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& + &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& + &_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& + &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& + &___________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& + &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& + &_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_______& + &____,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& + &_______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_________& + &__,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& + &_,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(14) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_14_int16_dp +module function mean_15_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ), & + merge(size(x,14),size(x,15),mask = 14 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_dp + + select case(dim) + case(1) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& + &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i__& + &____,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________& + &), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i____& + &__,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& + & dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______& + &,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& + & dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i& + &_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i__& + &_____,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i____& + &___,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& + &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& + &____,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& + &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& + &__,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_& + &_______,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& + &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& + &,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &_____,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& + &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& + &____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_____& + &___,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& + &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& + &__________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_______& + &_,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& + &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,& + &i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(14) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& + &_______,i____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_& + &________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(15) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i___& + &______,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_15_int16_dp +module function mean_3_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) + + integer :: i,i_,i__ + + res = 0.0_dp + + select case(dim) + case(1) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + real(x(i,i_,i__), dp) + end do + end do + end do + case(2) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + real(x(i,i_,i__), dp) + end do + end do + end do + case(3) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + real(x(i,i_,i__), dp) + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_3_int32_dp +module function mean_4_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) + + integer :: i,i_,i__,i___ + + res = 0.0_dp + + select case(dim) + case(1) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(2) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(3) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(4) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_4_int32_dp +module function mean_5_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) + + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + select case(dim) + case(1) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(2) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(3) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(4) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(5) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_5_int32_dp +module function mean_6_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + select case(dim) + case(1) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(2) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(3) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(4) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(5) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(6) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_6_int32_dp +module function mean_7_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + select case(dim) + case(1) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______),& + & dp) + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_7_int32_dp +module function mean_8_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_dp + + select case(dim) + case(1) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_8_int32_dp +module function mean_9_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_dp + + select case(dim) + case(1) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_9_int32_dp +module function mean_10_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_dp + + select case(dim) + case(1) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& + &_______,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& + &_____,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& + &___,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& + &_,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& + &i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& + &________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& + &____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_10_int32_dp +module function mean_11_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_dp + + select case(dim) + case(1) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_11_int32_dp +module function mean_12_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_dp + + select case(dim) + case(1) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_12_int32_dp +module function mean_13_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_dp + + select case(dim) + case(1) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& + &) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_13_int32_dp +module function mean_14_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_dp + + select case(dim) + case(1) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,& + &i__________,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& + &____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_& + &_________,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___& + &_______,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& + &______,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& + &____,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& + &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& + &__,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& + &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& + &,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& + &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& + &_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& + &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& + &___________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& + &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& + &_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_______& + &____,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& + &_______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_________& + &__,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& + &_,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(14) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_14_int32_dp +module function mean_15_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ), & + merge(size(x,14),size(x,15),mask = 14 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_dp + + select case(dim) + case(1) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& + &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i__& + &____,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________& + &), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i____& + &__,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& + & dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______& + &,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& + & dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i& + &_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i__& + &_____,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i____& + &___,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& + &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& + &____,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& + &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& + &__,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_& + &_______,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& + &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& + &,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &_____,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& + &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& + &____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_____& + &___,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& + &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& + &__________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_______& + &_,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& + &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,& + &i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(14) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& + &_______,i____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_& + &________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(15) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i___& + &______,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_15_int32_dp +module function mean_3_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) + + integer :: i,i_,i__ + + res = 0.0_dp + + select case(dim) + case(1) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + real(x(i,i_,i__), dp) + end do + end do + end do + case(2) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + real(x(i,i_,i__), dp) + end do + end do + end do + case(3) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + real(x(i,i_,i__), dp) + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_3_int64_dp +module function mean_4_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) + + integer :: i,i_,i__,i___ + + res = 0.0_dp + + select case(dim) + case(1) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(2) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(3) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(4) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_4_int64_dp +module function mean_5_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) + + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + select case(dim) + case(1) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(2) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(3) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(4) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(5) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_5_int64_dp +module function mean_6_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + select case(dim) + case(1) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(2) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(3) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(4) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(5) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(6) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_6_int64_dp +module function mean_7_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + select case(dim) + case(1) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______),& + & dp) + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_7_int64_dp +module function mean_8_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_dp + + select case(dim) + case(1) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_8_int64_dp +module function mean_9_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_dp + + select case(dim) + case(1) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_9_int64_dp +module function mean_10_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_dp + + select case(dim) + case(1) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& + &_______,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& + &_____,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& + &___,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& + &_,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& + &i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& + &________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& + &____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_10_int64_dp +module function mean_11_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_dp + + select case(dim) + case(1) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_11_int64_dp +module function mean_12_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_dp + + select case(dim) + case(1) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_12_int64_dp +module function mean_13_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_dp + + select case(dim) + case(1) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& + &) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_13_int64_dp +module function mean_14_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_dp + + select case(dim) + case(1) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,& + &i__________,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& + &____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_& + &_________,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___& + &_______,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& + &______,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& + &____,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& + &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& + &__,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& + &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& + &,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& + &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& + &_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& + &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& + &___________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& + &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& + &_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_______& + &____,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& + &_______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_________& + &__,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& + &_,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(14) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_14_int64_dp +module function mean_15_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ), & + merge(size(x,7),size(x,8),mask = 7 < dim ), & + merge(size(x,8),size(x,9),mask = 8 < dim ), & + merge(size(x,9),size(x,10),mask = 9 < dim ), & + merge(size(x,10),size(x,11),mask = 10 < dim ), & + merge(size(x,11),size(x,12),mask = 11 < dim ), & + merge(size(x,12),size(x,13),mask = 12 < dim ), & + merge(size(x,13),size(x,14),mask = 13 < dim ), & + merge(size(x,14),size(x,15),mask = 14 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_dp + + select case(dim) + case(1) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& + &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i__& + &____,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________& + &), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i____& + &__,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& + & dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______& + &,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& + & dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i& + &_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i__& + &_____,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i____& + &___,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(8) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& + &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& + &____,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(9) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& + &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& + &__,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_& + &_______,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(10) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& + &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& + &,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &_____,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(11) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& + &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& + &____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_____& + &___,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(12) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& + &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& + &__________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_______& + &_,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(13) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& + &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,& + &i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(14) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& + &_______,i____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_& + &________,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case(15) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i___& + &______,i__________,i___________,i____________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_15_int64_dp + +end submodule diff --git a/src/f90_stdlib_experimental_stats.f90 b/src/f90_stdlib_experimental_stats.f90 new file mode 100644 index 000000000..861efe174 --- /dev/null +++ b/src/f90_stdlib_experimental_stats.f90 @@ -0,0 +1,575 @@ +module stdlib_experimental_stats + + +use stdlib_experimental_kinds, only: sp, dp, qp, & + int8, int16, int32, int64 +implicit none +private +! Public API +public :: mean + +interface mean + module function mean_1_sp_sp(x) result(res) + real(sp), intent(in) :: x(:) + real(sp) :: res + end function mean_1_sp_sp + module function mean_1_dp_dp(x) result(res) + real(dp), intent(in) :: x(:) + real(dp) :: res + end function mean_1_dp_dp + module function mean_1_qp_qp(x) result(res) + real(qp), intent(in) :: x(:) + real(qp) :: res + end function mean_1_qp_qp + + module function mean_1_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:) + real(dp) :: res + end function mean_1_int8_dp + module function mean_1_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:) + real(dp) :: res + end function mean_1_int16_dp + module function mean_1_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:) + real(dp) :: res + end function mean_1_int32_dp + module function mean_1_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:) + real(dp) :: res + end function mean_1_int64_dp + + + module function mean_2_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:) + real(sp) :: res + end function mean_2_all_sp_sp + module function mean_2_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:) + real(dp) :: res + end function mean_2_all_dp_dp + module function mean_2_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:) + real(qp) :: res + end function mean_2_all_qp_qp + + module function mean_2_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:) + real(dp) :: res + end function mean_2_all_int8_dp + module function mean_2_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:) + real(dp) :: res + end function mean_2_all_int16_dp + module function mean_2_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:) + real(dp) :: res + end function mean_2_all_int32_dp + module function mean_2_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:) + real(dp) :: res + end function mean_2_all_int64_dp + + module function mean_2_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(sp) :: res(size(x)/size(x, dim)) + end function mean_2_sp_sp + module function mean_2_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + end function mean_2_dp_dp + module function mean_2_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(qp) :: res(size(x)/size(x, dim)) + end function mean_2_qp_qp + + module function mean_2_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + end function mean_2_int8_dp + module function mean_2_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + end function mean_2_int16_dp + module function mean_2_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + end function mean_2_int32_dp + module function mean_2_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + end function mean_2_int64_dp + + + + + +module function mean_3_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:) + real(sp) :: res +end function mean_3_all_sp_sp +module function mean_4_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:) + real(sp) :: res +end function mean_4_all_sp_sp +module function mean_5_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:) + real(sp) :: res +end function mean_5_all_sp_sp +module function mean_6_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:) + real(sp) :: res +end function mean_6_all_sp_sp +module function mean_7_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:) + real(sp) :: res +end function mean_7_all_sp_sp +module function mean_3_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:) + real(dp) :: res +end function mean_3_all_dp_dp +module function mean_4_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:) + real(dp) :: res +end function mean_4_all_dp_dp +module function mean_5_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:) + real(dp) :: res +end function mean_5_all_dp_dp +module function mean_6_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:) + real(dp) :: res +end function mean_6_all_dp_dp +module function mean_7_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:) + real(dp) :: res +end function mean_7_all_dp_dp +module function mean_3_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:) + real(qp) :: res +end function mean_3_all_qp_qp +module function mean_4_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:) + real(qp) :: res +end function mean_4_all_qp_qp +module function mean_5_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:) + real(qp) :: res +end function mean_5_all_qp_qp +module function mean_6_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:) + real(qp) :: res +end function mean_6_all_qp_qp +module function mean_7_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:) + real(qp) :: res +end function mean_7_all_qp_qp + +module function mean_3_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:) + real(dp) :: res +end function mean_3_all_int8_dp +module function mean_4_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:) + real(dp) :: res +end function mean_4_all_int8_dp +module function mean_5_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:) + real(dp) :: res +end function mean_5_all_int8_dp +module function mean_6_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:) + real(dp) :: res +end function mean_6_all_int8_dp +module function mean_7_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:) + real(dp) :: res +end function mean_7_all_int8_dp +module function mean_3_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:) + real(dp) :: res +end function mean_3_all_int16_dp +module function mean_4_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:) + real(dp) :: res +end function mean_4_all_int16_dp +module function mean_5_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:) + real(dp) :: res +end function mean_5_all_int16_dp +module function mean_6_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:) + real(dp) :: res +end function mean_6_all_int16_dp +module function mean_7_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:) + real(dp) :: res +end function mean_7_all_int16_dp +module function mean_3_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:) + real(dp) :: res +end function mean_3_all_int32_dp +module function mean_4_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:) + real(dp) :: res +end function mean_4_all_int32_dp +module function mean_5_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:) + real(dp) :: res +end function mean_5_all_int32_dp +module function mean_6_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:) + real(dp) :: res +end function mean_6_all_int32_dp +module function mean_7_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:) + real(dp) :: res +end function mean_7_all_int32_dp +module function mean_3_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:) + real(dp) :: res +end function mean_3_all_int64_dp +module function mean_4_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:) + real(dp) :: res +end function mean_4_all_int64_dp +module function mean_5_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:) + real(dp) :: res +end function mean_5_all_int64_dp +module function mean_6_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:) + real(dp) :: res +end function mean_6_all_int64_dp +module function mean_7_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:) + real(dp) :: res +end function mean_7_all_int64_dp + +module function mean_3_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) +end function mean_3_sp_sp +module function mean_4_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) +end function mean_4_sp_sp +module function mean_5_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) +end function mean_5_sp_sp +module function mean_6_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) +end function mean_6_sp_sp +module function mean_7_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) +end function mean_7_sp_sp +module function mean_3_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) +end function mean_3_dp_dp +module function mean_4_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) +end function mean_4_dp_dp +module function mean_5_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) +end function mean_5_dp_dp +module function mean_6_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) +end function mean_6_dp_dp +module function mean_7_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) +end function mean_7_dp_dp +module function mean_3_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) +end function mean_3_qp_qp +module function mean_4_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) +end function mean_4_qp_qp +module function mean_5_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) +end function mean_5_qp_qp +module function mean_6_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) +end function mean_6_qp_qp +module function mean_7_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) +end function mean_7_qp_qp + +module function mean_3_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) +end function mean_3_int8_dp +module function mean_4_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) +end function mean_4_int8_dp +module function mean_5_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) +end function mean_5_int8_dp +module function mean_6_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) +end function mean_6_int8_dp +module function mean_7_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) +end function mean_7_int8_dp +module function mean_3_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) +end function mean_3_int16_dp +module function mean_4_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) +end function mean_4_int16_dp +module function mean_5_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) +end function mean_5_int16_dp +module function mean_6_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) +end function mean_6_int16_dp +module function mean_7_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) +end function mean_7_int16_dp +module function mean_3_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) +end function mean_3_int32_dp +module function mean_4_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) +end function mean_4_int32_dp +module function mean_5_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) +end function mean_5_int32_dp +module function mean_6_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) +end function mean_6_int32_dp +module function mean_7_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) +end function mean_7_int32_dp +module function mean_3_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) +end function mean_3_int64_dp +module function mean_4_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) +end function mean_4_int64_dp +module function mean_5_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) +end function mean_5_int64_dp +module function mean_6_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) +end function mean_6_int64_dp +module function mean_7_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) +end function mean_7_int64_dp + +end interface + +end module diff --git a/src/f90_stdlib_experimental_stats_mean.f90 b/src/f90_stdlib_experimental_stats_mean.f90 new file mode 100644 index 000000000..991199e19 --- /dev/null +++ b/src/f90_stdlib_experimental_stats_mean.f90 @@ -0,0 +1,4225 @@ +submodule (stdlib_experimental_stats) stdlib_experimental_stats_mean + + +use stdlib_experimental_error, only: error_stop +implicit none + +contains + +module function mean_1_sp_sp(x) result(res) + real(sp), intent(in) :: x(:) + real(sp) :: res + + integer :: i + + res = 0.0_sp + do i = 1, size(x) + res = res + x(i) + enddo + res = res / real(size(x), sp) + +end function mean_1_sp_sp +module function mean_1_dp_dp(x) result(res) + real(dp), intent(in) :: x(:) + real(dp) :: res + + integer :: i + + res = 0.0_dp + do i = 1, size(x) + res = res + x(i) + enddo + res = res / real(size(x), dp) + +end function mean_1_dp_dp +module function mean_1_qp_qp(x) result(res) + real(qp), intent(in) :: x(:) + real(qp) :: res + + integer :: i + + res = 0.0_qp + do i = 1, size(x) + res = res + x(i) + enddo + res = res / real(size(x), qp) + +end function mean_1_qp_qp + +module function mean_1_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:) + real(dp) :: res + + integer :: i + + res = 0.0_dp + do i = 1, size(x) + res = res + real(x(i), dp) + enddo + res = res / real(size(x), dp) + +end function mean_1_int8_dp +module function mean_1_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:) + real(dp) :: res + + integer :: i + + res = 0.0_dp + do i = 1, size(x) + res = res + real(x(i), dp) + enddo + res = res / real(size(x), dp) + +end function mean_1_int16_dp +module function mean_1_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:) + real(dp) :: res + + integer :: i + + res = 0.0_dp + do i = 1, size(x) + res = res + real(x(i), dp) + enddo + res = res / real(size(x), dp) + +end function mean_1_int32_dp +module function mean_1_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:) + real(dp) :: res + + integer :: i + + res = 0.0_dp + do i = 1, size(x) + res = res + real(x(i), dp) + enddo + res = res / real(size(x), dp) + +end function mean_1_int64_dp + + +module function mean_2_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:) + real(sp) :: res + + integer :: i, i_ + + res = 0.0_sp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_) + enddo + enddo + res = res / real(size(x), sp) + +end function mean_2_all_sp_sp +module function mean_2_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:) + real(dp) :: res + + integer :: i, i_ + + res = 0.0_dp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_) + enddo + enddo + res = res / real(size(x), dp) + +end function mean_2_all_dp_dp +module function mean_2_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:) + real(qp) :: res + + integer :: i, i_ + + res = 0.0_qp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_) + enddo + enddo + res = res / real(size(x), qp) + +end function mean_2_all_qp_qp + +module function mean_2_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:) + real(dp) :: res + + integer :: i, i_ + + res = 0.0_dp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_), dp) + enddo + enddo + res = res / real(size(x), dp) + +end function mean_2_all_int8_dp +module function mean_2_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:) + real(dp) :: res + + integer :: i, i_ + + res = 0.0_dp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_), dp) + enddo + enddo + res = res / real(size(x), dp) + +end function mean_2_all_int16_dp +module function mean_2_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:) + real(dp) :: res + + integer :: i, i_ + + res = 0.0_dp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_), dp) + enddo + enddo + res = res / real(size(x), dp) + +end function mean_2_all_int32_dp +module function mean_2_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:) + real(dp) :: res + + integer :: i, i_ + + res = 0.0_dp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_), dp) + enddo + enddo + res = res / real(size(x), dp) + +end function mean_2_all_int64_dp + +module function mean_2_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(sp) :: res(size(x)/size(x, dim)) + + integer :: i, i_ + + res = 0.0_sp + + select case(dim) + case(1) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + x(i, i_) + end do + end do + case(2) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + x(i, i_) + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), sp) + +end function mean_2_sp_sp +module function mean_2_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + + integer :: i, i_ + + res = 0.0_dp + + select case(dim) + case(1) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + x(i, i_) + end do + end do + case(2) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + x(i, i_) + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_2_dp_dp +module function mean_2_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(qp) :: res(size(x)/size(x, dim)) + + integer :: i, i_ + + res = 0.0_qp + + select case(dim) + case(1) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + x(i, i_) + end do + end do + case(2) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + x(i, i_) + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), qp) + +end function mean_2_qp_qp + +module function mean_2_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + + integer :: i, i_ + + res = 0.0_dp + + select case(dim) + case(1) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + real(x(i, i_), dp) + end do + end do + case(2) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + real(x(i, i_), dp) + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_2_int8_dp +module function mean_2_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + + integer :: i, i_ + + res = 0.0_dp + + select case(dim) + case(1) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + real(x(i, i_), dp) + end do + end do + case(2) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + real(x(i, i_), dp) + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_2_int16_dp +module function mean_2_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + + integer :: i, i_ + + res = 0.0_dp + + select case(dim) + case(1) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + real(x(i, i_), dp) + end do + end do + case(2) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + real(x(i, i_), dp) + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_2_int32_dp +module function mean_2_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + + integer :: i, i_ + + res = 0.0_dp + + select case(dim) + case(1) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + real(x(i, i_), dp) + end do + end do + case(2) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + real(x(i, i_), dp) + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_2_int64_dp + + + + + + + +module function mean_3_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:) + real(sp) :: res + + integer :: i,i_,i__ + + res = 0.0_sp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__) + end do + end do + end do + + res = res / real(size(x), sp) + +end function mean_3_all_sp_sp +module function mean_4_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:) + real(sp) :: res + + integer :: i,i_,i__,i___ + + res = 0.0_sp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___) + end do + end do + end do + end do + + res = res / real(size(x), sp) + +end function mean_4_all_sp_sp +module function mean_5_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:) + real(sp) :: res + + integer :: i,i_,i__,i___,i____ + + res = 0.0_sp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) + +end function mean_5_all_sp_sp +module function mean_6_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:) + real(sp) :: res + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_sp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) + +end function mean_6_all_sp_sp +module function mean_7_all_sp_sp(x) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:) + real(sp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_sp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) + +end function mean_7_all_sp_sp +module function mean_3_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:) + real(dp) :: res + + integer :: i,i_,i__ + + res = 0.0_dp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__) + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_3_all_dp_dp +module function mean_4_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___ + + res = 0.0_dp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___) + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_4_all_dp_dp +module function mean_5_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_5_all_dp_dp +module function mean_6_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_6_all_dp_dp +module function mean_7_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_7_all_dp_dp +module function mean_3_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:) + real(qp) :: res + + integer :: i,i_,i__ + + res = 0.0_qp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__) + end do + end do + end do + + res = res / real(size(x), qp) + +end function mean_3_all_qp_qp +module function mean_4_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:) + real(qp) :: res + + integer :: i,i_,i__,i___ + + res = 0.0_qp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___) + end do + end do + end do + end do + + res = res / real(size(x), qp) + +end function mean_4_all_qp_qp +module function mean_5_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:) + real(qp) :: res + + integer :: i,i_,i__,i___,i____ + + res = 0.0_qp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) + +end function mean_5_all_qp_qp +module function mean_6_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:) + real(qp) :: res + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_qp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) + +end function mean_6_all_qp_qp +module function mean_7_all_qp_qp(x) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:) + real(qp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_qp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) + +end function mean_7_all_qp_qp + +module function mean_3_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:) + real(dp) :: res + + integer :: i,i_,i__ + + res = 0.0_dp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__), dp) + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_3_all_int8_dp +module function mean_4_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___ + + res = 0.0_dp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_4_all_int8_dp +module function mean_5_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_5_all_int8_dp +module function mean_6_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_6_all_int8_dp +module function mean_7_all_int8_dp(x) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_7_all_int8_dp +module function mean_3_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:) + real(dp) :: res + + integer :: i,i_,i__ + + res = 0.0_dp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__), dp) + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_3_all_int16_dp +module function mean_4_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___ + + res = 0.0_dp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_4_all_int16_dp +module function mean_5_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_5_all_int16_dp +module function mean_6_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_6_all_int16_dp +module function mean_7_all_int16_dp(x) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_7_all_int16_dp +module function mean_3_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:) + real(dp) :: res + + integer :: i,i_,i__ + + res = 0.0_dp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__), dp) + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_3_all_int32_dp +module function mean_4_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___ + + res = 0.0_dp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_4_all_int32_dp +module function mean_5_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_5_all_int32_dp +module function mean_6_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_6_all_int32_dp +module function mean_7_all_int32_dp(x) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_7_all_int32_dp +module function mean_3_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:) + real(dp) :: res + + integer :: i,i_,i__ + + res = 0.0_dp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__), dp) + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_3_all_int64_dp +module function mean_4_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___ + + res = 0.0_dp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_4_all_int64_dp +module function mean_5_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_5_all_int64_dp +module function mean_6_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_6_all_int64_dp +module function mean_7_all_int64_dp(x) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_7_all_int64_dp + +module function mean_3_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) + + integer :: i,i_,i__ + + res = 0.0_sp + + select case(dim) + case(1) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + x(i,i_,i__) + end do + end do + end do + case(2) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + x(i,i_,i__) + end do + end do + end do + case(3) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + x(i,i_,i__) + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), sp) + +end function mean_3_sp_sp +module function mean_4_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) + + integer :: i,i_,i__,i___ + + res = 0.0_sp + + select case(dim) + case(1) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + x(i,i_,i__,i___) + end do + end do + end do + end do + case(2) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + x(i,i_,i__,i___) + end do + end do + end do + end do + case(3) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + x(i,i_,i__,i___) + end do + end do + end do + end do + case(4) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + x(i,i_,i__,i___) + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), sp) + +end function mean_4_sp_sp +module function mean_5_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) + + integer :: i,i_,i__,i___,i____ + + res = 0.0_sp + + select case(dim) + case(1) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(2) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(3) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(4) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(5) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), sp) + +end function mean_5_sp_sp +module function mean_6_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_sp + + select case(dim) + case(1) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(2) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(3) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(4) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(5) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(6) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), sp) + +end function mean_6_sp_sp +module function mean_7_sp_sp(x, dim) result(res) + real(sp), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(sp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_sp + + select case(dim) + case(1) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), sp) + +end function mean_7_sp_sp +module function mean_3_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) + + integer :: i,i_,i__ + + res = 0.0_dp + + select case(dim) + case(1) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + x(i,i_,i__) + end do + end do + end do + case(2) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + x(i,i_,i__) + end do + end do + end do + case(3) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + x(i,i_,i__) + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_3_dp_dp +module function mean_4_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) + + integer :: i,i_,i__,i___ + + res = 0.0_dp + + select case(dim) + case(1) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + x(i,i_,i__,i___) + end do + end do + end do + end do + case(2) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + x(i,i_,i__,i___) + end do + end do + end do + end do + case(3) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + x(i,i_,i__,i___) + end do + end do + end do + end do + case(4) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + x(i,i_,i__,i___) + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_4_dp_dp +module function mean_5_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) + + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + select case(dim) + case(1) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(2) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(3) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(4) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(5) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_5_dp_dp +module function mean_6_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + select case(dim) + case(1) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(2) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(3) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(4) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(5) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(6) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_6_dp_dp +module function mean_7_dp_dp(x, dim) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + select case(dim) + case(1) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_7_dp_dp +module function mean_3_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) + + integer :: i,i_,i__ + + res = 0.0_qp + + select case(dim) + case(1) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + x(i,i_,i__) + end do + end do + end do + case(2) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + x(i,i_,i__) + end do + end do + end do + case(3) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + x(i,i_,i__) + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), qp) + +end function mean_3_qp_qp +module function mean_4_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) + + integer :: i,i_,i__,i___ + + res = 0.0_qp + + select case(dim) + case(1) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + x(i,i_,i__,i___) + end do + end do + end do + end do + case(2) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + x(i,i_,i__,i___) + end do + end do + end do + end do + case(3) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + x(i,i_,i__,i___) + end do + end do + end do + end do + case(4) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + x(i,i_,i__,i___) + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), qp) + +end function mean_4_qp_qp +module function mean_5_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) + + integer :: i,i_,i__,i___,i____ + + res = 0.0_qp + + select case(dim) + case(1) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(2) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(3) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(4) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case(5) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), qp) + +end function mean_5_qp_qp +module function mean_6_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_qp + + select case(dim) + case(1) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(2) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(3) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(4) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(5) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case(6) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), qp) + +end function mean_6_qp_qp +module function mean_7_qp_qp(x, dim) result(res) + real(qp), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(qp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_qp + + select case(dim) + case(1) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), qp) + +end function mean_7_qp_qp + +module function mean_3_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) + + integer :: i,i_,i__ + + res = 0.0_dp + + select case(dim) + case(1) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + real(x(i,i_,i__), dp) + end do + end do + end do + case(2) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + real(x(i,i_,i__), dp) + end do + end do + end do + case(3) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + real(x(i,i_,i__), dp) + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_3_int8_dp +module function mean_4_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) + + integer :: i,i_,i__,i___ + + res = 0.0_dp + + select case(dim) + case(1) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(2) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(3) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(4) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_4_int8_dp +module function mean_5_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) + + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + select case(dim) + case(1) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(2) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(3) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(4) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(5) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_5_int8_dp +module function mean_6_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + select case(dim) + case(1) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(2) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(3) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(4) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(5) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(6) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_6_int8_dp +module function mean_7_int8_dp(x, dim) result(res) + integer(int8), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + select case(dim) + case(1) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______),& + & dp) + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_7_int8_dp +module function mean_3_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) + + integer :: i,i_,i__ + + res = 0.0_dp + + select case(dim) + case(1) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + real(x(i,i_,i__), dp) + end do + end do + end do + case(2) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + real(x(i,i_,i__), dp) + end do + end do + end do + case(3) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + real(x(i,i_,i__), dp) + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_3_int16_dp +module function mean_4_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) + + integer :: i,i_,i__,i___ + + res = 0.0_dp + + select case(dim) + case(1) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(2) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(3) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(4) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_4_int16_dp +module function mean_5_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) + + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + select case(dim) + case(1) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(2) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(3) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(4) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(5) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_5_int16_dp +module function mean_6_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + select case(dim) + case(1) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(2) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(3) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(4) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(5) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(6) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_6_int16_dp +module function mean_7_int16_dp(x, dim) result(res) + integer(int16), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + select case(dim) + case(1) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______),& + & dp) + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_7_int16_dp +module function mean_3_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) + + integer :: i,i_,i__ + + res = 0.0_dp + + select case(dim) + case(1) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + real(x(i,i_,i__), dp) + end do + end do + end do + case(2) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + real(x(i,i_,i__), dp) + end do + end do + end do + case(3) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + real(x(i,i_,i__), dp) + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_3_int32_dp +module function mean_4_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) + + integer :: i,i_,i__,i___ + + res = 0.0_dp + + select case(dim) + case(1) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(2) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(3) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(4) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_4_int32_dp +module function mean_5_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) + + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + select case(dim) + case(1) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(2) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(3) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(4) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(5) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_5_int32_dp +module function mean_6_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + select case(dim) + case(1) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(2) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(3) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(4) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(5) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(6) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_6_int32_dp +module function mean_7_int32_dp(x, dim) result(res) + integer(int32), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + select case(dim) + case(1) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______),& + & dp) + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_7_int32_dp +module function mean_3_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ) ) + + integer :: i,i_,i__ + + res = 0.0_dp + + select case(dim) + case(1) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + real(x(i,i_,i__), dp) + end do + end do + end do + case(2) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + real(x(i,i_,i__), dp) + end do + end do + end do + case(3) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + real(x(i,i_,i__), dp) + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_3_int64_dp +module function mean_4_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ) ) + + integer :: i,i_,i__,i___ + + res = 0.0_dp + + select case(dim) + case(1) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(2) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(3) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case(4) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_4_int64_dp +module function mean_5_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ) ) + + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + select case(dim) + case(1) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(2) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(3) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(4) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case(5) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_5_int64_dp +module function mean_6_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + select case(dim) + case(1) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(2) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(3) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(4) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(5) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case(6) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_6_int64_dp +module function mean_7_int64_dp(x, dim) result(res) + integer(int64), intent(in) :: x(:,:,:,:,:,:,:) + integer, intent(in) :: dim + real(dp) :: res( & + merge(size(x,1),size(x,2),mask = 1 < dim ), & + merge(size(x,2),size(x,3),mask = 2 < dim ), & + merge(size(x,3),size(x,4),mask = 3 < dim ), & + merge(size(x,4),size(x,5),mask = 4 < dim ), & + merge(size(x,5),size(x,6),mask = 5 < dim ), & + merge(size(x,6),size(x,7),mask = 6 < dim ) ) + + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + select case(dim) + case(1) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(2) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(3) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(4) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(5) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______),& + & dp) + end do + end do + end do + end do + end do + end do + end do + case(6) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case(7) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_7_int64_dp + +end submodule diff --git a/src/stdlib_experimental_stats.fypp b/src/stdlib_experimental_stats.fypp new file mode 100644 index 000000000..385177564 --- /dev/null +++ b/src/stdlib_experimental_stats.fypp @@ -0,0 +1,124 @@ +module stdlib_experimental_stats + +#:set VERSION90 = defined('VERSION90') +#:set REALKINDS = ["sp", "dp", "qp"] +#:set INTKINDS = ["int8", "int16", "int32", "int64"] +#:set REALTYPES = ["real({})".format(k) for k in REALKINDS] +#:set INTTYPES = ["integer({})".format(k) for k in INTKINDS] +#:set iktr = list(zip(range(len(REALKINDS)), REALKINDS, REALTYPES)) +#:set ikti = list(zip(range(len(INTKINDS)), INTKINDS, INTTYPES)) + +use stdlib_experimental_kinds, only: sp, dp, qp, & + int8, int16, int32, int64 +implicit none +private +! Public API +public :: mean + +interface mean +#:for i1, k1, t1 in iktr + module function mean_1_${k1}$_${k1}$(x) result(res) + ${t1}$, intent(in) :: x(:) + ${t1}$ :: res + end function mean_1_${k1}$_${k1}$ +#:endfor + +#:for i1, k1, t1 in ikti + module function mean_1_${k1}$_dp(x) result(res) + ${t1}$, intent(in) :: x(:) + real(dp) :: res + end function mean_1_${k1}$_dp +#:endfor + + +#:for i1, k1, t1 in iktr + module function mean_2_all_${k1}$_${k1}$(x) result(res) + ${t1}$, intent(in) :: x(:,:) + ${t1}$ :: res + end function mean_2_all_${k1}$_${k1}$ +#:endfor + +#:for i1, k1, t1 in ikti + module function mean_2_all_${k1}$_dp(x) result(res) + ${t1}$, intent(in) :: x(:,:) + real(dp) :: res + end function mean_2_all_${k1}$_dp +#:endfor + +#:for i1, k1, t1 in iktr + module function mean_2_${k1}$_${k1}$(x, dim) result(res) + ${t1}$, intent(in) :: x(:,:) + integer, intent(in) :: dim + ${t1}$ :: res(size(x)/size(x, dim)) + end function mean_2_${k1}$_${k1}$ +#:endfor + +#:for i1, k1, t1 in ikti + module function mean_2_${k1}$_dp(x, dim) result(res) + ${t1}$, intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + end function mean_2_${k1}$_dp +#:endfor + + +#:def ranksuffix(rank) +#{if rank > 0}#(${":" + ",:" * (rank - 1)}$)#{endif}# +#:enddef + +#:if VERSION90 +#:set ranks = range(3,8) +#:else +#:set ranks = range(3,16) +#:endif + + +#:for i1, k1, t1 in iktr +#:for rank in ranks +module function mean_${rank}$_all_${k1}$_${k1}$(x) result(res) + ${t1}$, intent(in) :: x${ranksuffix(rank)}$ + ${t1}$ :: res +end function mean_${rank}$_all_${k1}$_${k1}$ +#:endfor +#:endfor + +#:for i1, k1, t1 in ikti +#:for rank in ranks +module function mean_${rank}$_all_${k1}$_dp(x) result(res) + ${t1}$, intent(in) :: x${ranksuffix(rank)}$ + real(dp) :: res +end function mean_${rank}$_all_${k1}$_dp +#:endfor +#:endfor + +#:for i1, k1, t1 in iktr +#:for rank in ranks +module function mean_${rank}$_${k1}$_${k1}$(x, dim) result(res) + ${t1}$, intent(in) :: x${ranksuffix(rank)}$ + integer, intent(in) :: dim + ${t1}$ :: res( & +#:for imerge in range(1,rank-1) + merge(size(x,${imerge}$),size(x,${imerge + 1}$),mask = ${imerge}$ < dim ), & +#:endfor + merge(size(x,${rank-1}$),size(x,${rank}$),mask = ${rank-1}$ < dim ) ) +end function mean_${rank}$_${k1}$_${k1}$ +#:endfor +#:endfor + +#:for i1, k1, t1 in ikti +#:for rank in ranks +module function mean_${rank}$_${k1}$_dp(x, dim) result(res) + ${t1}$, intent(in) :: x${ranksuffix(rank)}$ + integer, intent(in) :: dim + real(dp) :: res( & +#:for imerge in range(1,rank-1) + merge(size(x,${imerge}$),size(x,${imerge + 1}$),mask = ${imerge}$ < dim ), & +#:endfor + merge(size(x,${rank-1}$),size(x,${rank}$),mask = ${rank-1}$ < dim ) ) +end function mean_${rank}$_${k1}$_dp +#:endfor +#:endfor + +end interface + +end module diff --git a/src/stdlib_experimental_stats.md b/src/stdlib_experimental_stats.md new file mode 100644 index 000000000..00d06b801 --- /dev/null +++ b/src/stdlib_experimental_stats.md @@ -0,0 +1,43 @@ +# Descriptive statistics + +## Implemented + + * `mean` + +## MEAN - mean of array elements + +### Description: + +Returns the mean of all the elements of *array*, or of the elements of *array* along dimension *dim*. + +### Syntax: + +RESULT = mean(*array*) + +RESULT = mean(*array*, *dim*) + +### Arguments: + +*array*: Shall be an array of type INTEGER, or REAL. + +*dim* (optional): Shall be a scalar of type INTEGER with a value in the range from 1 to n, where n is the rank of *array*. + +### Return value: + +If *array* is of type REAL, the result is of the same type as array. +If *array* is of type INTEGER, the result is of type as *double precision*. + +If *dim* is absent, a scalar with the mean of all elements in *array* is returned. Otherwise, an array of rank n-1, where n equals the rank of *array*, and a shape similar to that of *array* with dimension *dim* dropped is returned. + +### Example: + +```fortran +program test + use stdlib_experimental_stats, only: mean + implicit none + real :: x(1:6) = [ 1., 2., 3., 4., 5., 6. ] + print *, mean(x) !returns 21. + print *, mean( reshape(x, [ 2, 3 ] )) !returns 21. + print *, mean( reshape(x, [ 2, 3 ] ), 1) !returns [ 3., 7., 11. ] +end program +``` diff --git a/src/stdlib_experimental_stats_mean.fypp b/src/stdlib_experimental_stats_mean.fypp new file mode 100644 index 000000000..615b72de1 --- /dev/null +++ b/src/stdlib_experimental_stats_mean.fypp @@ -0,0 +1,293 @@ +submodule (stdlib_experimental_stats) stdlib_experimental_stats_mean + +#:set VERSION90 = defined('VERSION90') +#:set REALKINDS = ["sp", "dp", "qp"] +#:set INTKINDS = ["int8", "int16", "int32", "int64"] +#:set REALTYPES = ["real({})".format(k) for k in REALKINDS] +#:set INTTYPES = ["integer({})".format(k) for k in INTKINDS] +#:set iktr = list(zip(range(len(REALKINDS)), REALKINDS, REALTYPES)) +#:set ikti = list(zip(range(len(INTKINDS)), INTKINDS, INTTYPES)) + +use stdlib_experimental_error, only: error_stop +implicit none + +contains + +#:for i1, k1, t1 in iktr +module function mean_1_${k1}$_${k1}$(x) result(res) + ${t1}$, intent(in) :: x(:) + ${t1}$ :: res + + integer :: i + + res = 0.0_${k1}$ + do i = 1, size(x) + res = res + x(i) + enddo + res = res / real(size(x), ${k1}$) + +end function mean_1_${k1}$_${k1}$ +#:endfor + +#:for i1, k1, t1 in ikti +module function mean_1_${k1}$_dp(x) result(res) + ${t1}$, intent(in) :: x(:) + real(dp) :: res + + integer :: i + + res = 0.0_dp + do i = 1, size(x) + res = res + real(x(i), dp) + enddo + res = res / real(size(x), dp) + +end function mean_1_${k1}$_dp +#:endfor + + +#:for i1, k1, t1 in iktr +module function mean_2_all_${k1}$_${k1}$(x) result(res) + ${t1}$, intent(in) :: x(:,:) + ${t1}$ :: res + + integer :: i, i_ + + res = 0.0_${k1}$ + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_) + enddo + enddo + res = res / real(size(x), ${k1}$) + +end function mean_2_all_${k1}$_${k1}$ +#:endfor + +#:for i1, k1, t1 in ikti +module function mean_2_all_${k1}$_dp(x) result(res) + ${t1}$, intent(in) :: x(:,:) + real(dp) :: res + + integer :: i, i_ + + res = 0.0_dp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_), dp) + enddo + enddo + res = res / real(size(x), dp) + +end function mean_2_all_${k1}$_dp +#:endfor + +#:for i1, k1, t1 in iktr +module function mean_2_${k1}$_${k1}$(x, dim) result(res) + ${t1}$, intent(in) :: x(:,:) + integer, intent(in) :: dim + ${t1}$ :: res(size(x)/size(x, dim)) + + integer :: i, i_ + + res = 0.0_${k1}$ + + select case(dim) + case(1) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + x(i, i_) + end do + end do + case(2) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + x(i, i_) + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), ${k1}$) + +end function mean_2_${k1}$_${k1}$ +#:endfor + +#:for i1, k1, t1 in ikti +module function mean_2_${k1}$_dp(x, dim) result(res) + ${t1}$, intent(in) :: x(:,:) + integer, intent(in) :: dim + real(dp) :: res(size(x)/size(x, dim)) + + integer :: i, i_ + + res = 0.0_dp + + select case(dim) + case(1) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + real(x(i, i_), dp) + end do + end do + case(2) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + real(x(i, i_), dp) + end do + end do + case default + call error_stop("ERROR (mean): wrong dimension") + end select + + res = res / real(size(x, dim), dp) + +end function mean_2_${k1}$_dp +#:endfor + + +#:def ranksuffix(rank) +#{if rank > 0}#(${":" + ",:" * (rank - 1)}$)#{endif}# +#:enddef + +#:def isuffix(rank) +#:if rank > 0 +i#{for i in range(2,rank)}#${",i"+"_" * (i-1)}$#{endfor}# +#:endif +#:enddef + +#:def ressuffix(rank,dim) +#:if rank > 0 +#{for i in range(1,dim-1)}#${"i" + "_" * (i-1)+","}$#{endfor}##{if dim-1 >0}#i${"_"*(dim-2) }$#{endif}##{if dim -1 >0 and dim Date: Wed, 22 Jan 2020 13:36:17 +0100 Subject: [PATCH 2/4] stat_mean_dev: update of the spec following comments --- src/stdlib_experimental_stats.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/stdlib_experimental_stats.md b/src/stdlib_experimental_stats.md index 00d06b801..4cb850a5c 100644 --- a/src/stdlib_experimental_stats.md +++ b/src/stdlib_experimental_stats.md @@ -4,32 +4,32 @@ * `mean` -## MEAN - mean of array elements +## `mean` - mean of array elements -### Description: +### Description -Returns the mean of all the elements of *array*, or of the elements of *array* along dimension *dim*. +Returns the mean of all the elements of `array`, or of the elements of `array` along dimension `dim` if provided. -### Syntax: +### Syntax -RESULT = mean(*array*) +`result = mean(array)` -RESULT = mean(*array*, *dim*) +`result = mean(array, dim)` -### Arguments: +### Arguments -*array*: Shall be an array of type INTEGER, or REAL. +`array`: Shall be an array of type `integer`, or `real`. -*dim* (optional): Shall be a scalar of type INTEGER with a value in the range from 1 to n, where n is the rank of *array*. +`dim`: Shall be a scalar of type `integer` with a value in the range from 1 to n, where n is the rank of `array`. -### Return value: +### Return value -If *array* is of type REAL, the result is of the same type as array. -If *array* is of type INTEGER, the result is of type as *double precision*. +If `array` is of type `real`, the result is of the same type as `array`. +If `array` is of type `integer`, the result is of type `double precision`. -If *dim* is absent, a scalar with the mean of all elements in *array* is returned. Otherwise, an array of rank n-1, where n equals the rank of *array*, and a shape similar to that of *array* with dimension *dim* dropped is returned. +If `dim` is absent, a scalar with the mean of all elements in `array` is returned. Otherwise, an array of rank n-1, where n equals the rank of `array`, and a shape similar to that of `array` with dimension `dim` dropped is returned. -### Example: +### Example ```fortran program test From 977895b521c5161da7aadd023109c03714cc82a3 Mon Sep 17 00:00:00 2001 From: "Vandenplas, Jeremie" Date: Thu, 23 Jan 2020 14:44:03 +0100 Subject: [PATCH 3/4] stat_mean_dev: correction of some indentations --- src/f03_stdlib_experimental_stats_mean.f90 | 168 ++++++++++----------- src/f90_stdlib_experimental_stats_mean.f90 | 168 ++++++++++----------- src/stdlib_experimental_stats_mean.fypp | 48 +++--- 3 files changed, 192 insertions(+), 192 deletions(-) diff --git a/src/f03_stdlib_experimental_stats_mean.f90 b/src/f03_stdlib_experimental_stats_mean.f90 index e4a0069a7..7034d2e57 100644 --- a/src/f03_stdlib_experimental_stats_mean.f90 +++ b/src/f03_stdlib_experimental_stats_mean.f90 @@ -15,7 +15,7 @@ module function mean_1_sp_sp(x) result(res) res = 0.0_sp do i = 1, size(x) res = res + x(i) - enddo + end do res = res / real(size(x), sp) end function mean_1_sp_sp @@ -28,7 +28,7 @@ module function mean_1_dp_dp(x) result(res) res = 0.0_dp do i = 1, size(x) res = res + x(i) - enddo + end do res = res / real(size(x), dp) end function mean_1_dp_dp @@ -41,7 +41,7 @@ module function mean_1_qp_qp(x) result(res) res = 0.0_qp do i = 1, size(x) res = res + x(i) - enddo + end do res = res / real(size(x), qp) end function mean_1_qp_qp @@ -55,7 +55,7 @@ module function mean_1_int8_dp(x) result(res) res = 0.0_dp do i = 1, size(x) res = res + real(x(i), dp) - enddo + end do res = res / real(size(x), dp) end function mean_1_int8_dp @@ -68,7 +68,7 @@ module function mean_1_int16_dp(x) result(res) res = 0.0_dp do i = 1, size(x) res = res + real(x(i), dp) - enddo + end do res = res / real(size(x), dp) end function mean_1_int16_dp @@ -81,7 +81,7 @@ module function mean_1_int32_dp(x) result(res) res = 0.0_dp do i = 1, size(x) res = res + real(x(i), dp) - enddo + end do res = res / real(size(x), dp) end function mean_1_int32_dp @@ -94,7 +94,7 @@ module function mean_1_int64_dp(x) result(res) res = 0.0_dp do i = 1, size(x) res = res + real(x(i), dp) - enddo + end do res = res / real(size(x), dp) end function mean_1_int64_dp @@ -108,10 +108,10 @@ module function mean_2_all_sp_sp(x) result(res) res = 0.0_sp do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_) - enddo - enddo + do i = 1, size(x, 1) + res = res + x(i, i_) + end do + end do res = res / real(size(x), sp) end function mean_2_all_sp_sp @@ -123,10 +123,10 @@ module function mean_2_all_dp_dp(x) result(res) res = 0.0_dp do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_) - enddo - enddo + do i = 1, size(x, 1) + res = res + x(i, i_) + end do + end do res = res / real(size(x), dp) end function mean_2_all_dp_dp @@ -138,10 +138,10 @@ module function mean_2_all_qp_qp(x) result(res) res = 0.0_qp do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_) - enddo - enddo + do i = 1, size(x, 1) + res = res + x(i, i_) + end do + end do res = res / real(size(x), qp) end function mean_2_all_qp_qp @@ -154,10 +154,10 @@ module function mean_2_all_int8_dp(x) result(res) res = 0.0_dp do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_), dp) - enddo - enddo + do i = 1, size(x, 1) + res = res + real(x(i, i_), dp) + end do + end do res = res / real(size(x), dp) end function mean_2_all_int8_dp @@ -169,10 +169,10 @@ module function mean_2_all_int16_dp(x) result(res) res = 0.0_dp do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_), dp) - enddo - enddo + do i = 1, size(x, 1) + res = res + real(x(i, i_), dp) + end do + end do res = res / real(size(x), dp) end function mean_2_all_int16_dp @@ -184,10 +184,10 @@ module function mean_2_all_int32_dp(x) result(res) res = 0.0_dp do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_), dp) - enddo - enddo + do i = 1, size(x, 1) + res = res + real(x(i, i_), dp) + end do + end do res = res / real(size(x), dp) end function mean_2_all_int32_dp @@ -199,10 +199,10 @@ module function mean_2_all_int64_dp(x) result(res) res = 0.0_dp do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_), dp) - enddo - enddo + do i = 1, size(x, 1) + res = res + real(x(i, i_), dp) + end do + end do res = res / real(size(x), dp) end function mean_2_all_int64_dp @@ -218,19 +218,19 @@ module function mean_2_sp_sp(x, dim) result(res) select case(dim) case(1) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i_) = res(i_) + x(i, i_) + res(i_) = res(i_) + x(i, i_) end do - end do + end do case(2) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i) = res(i) + x(i, i_) + res(i) = res(i) + x(i, i_) end do - end do + end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select res = res / real(size(x, dim), sp) @@ -247,19 +247,19 @@ module function mean_2_dp_dp(x, dim) result(res) select case(dim) case(1) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i_) = res(i_) + x(i, i_) + res(i_) = res(i_) + x(i, i_) end do - end do + end do case(2) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i) = res(i) + x(i, i_) + res(i) = res(i) + x(i, i_) end do - end do + end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select res = res / real(size(x, dim), dp) @@ -276,19 +276,19 @@ module function mean_2_qp_qp(x, dim) result(res) select case(dim) case(1) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i_) = res(i_) + x(i, i_) + res(i_) = res(i_) + x(i, i_) end do - end do + end do case(2) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i) = res(i) + x(i, i_) + res(i) = res(i) + x(i, i_) end do - end do + end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select res = res / real(size(x, dim), qp) @@ -306,19 +306,19 @@ module function mean_2_int8_dp(x, dim) result(res) select case(dim) case(1) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i_) = res(i_) + real(x(i, i_), dp) + res(i_) = res(i_) + real(x(i, i_), dp) end do - end do + end do case(2) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i) = res(i) + real(x(i, i_), dp) + res(i) = res(i) + real(x(i, i_), dp) end do - end do + end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select res = res / real(size(x, dim), dp) @@ -335,19 +335,19 @@ module function mean_2_int16_dp(x, dim) result(res) select case(dim) case(1) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i_) = res(i_) + real(x(i, i_), dp) + res(i_) = res(i_) + real(x(i, i_), dp) end do - end do + end do case(2) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i) = res(i) + real(x(i, i_), dp) + res(i) = res(i) + real(x(i, i_), dp) end do - end do + end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select res = res / real(size(x, dim), dp) @@ -364,19 +364,19 @@ module function mean_2_int32_dp(x, dim) result(res) select case(dim) case(1) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i_) = res(i_) + real(x(i, i_), dp) + res(i_) = res(i_) + real(x(i, i_), dp) end do - end do + end do case(2) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i) = res(i) + real(x(i, i_), dp) + res(i) = res(i) + real(x(i, i_), dp) end do - end do + end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select res = res / real(size(x, dim), dp) @@ -393,19 +393,19 @@ module function mean_2_int64_dp(x, dim) result(res) select case(dim) case(1) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i_) = res(i_) + real(x(i, i_), dp) + res(i_) = res(i_) + real(x(i, i_), dp) end do - end do + end do case(2) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i) = res(i) + real(x(i, i_), dp) + res(i) = res(i) + real(x(i, i_), dp) end do - end do + end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select res = res / real(size(x, dim), dp) diff --git a/src/f90_stdlib_experimental_stats_mean.f90 b/src/f90_stdlib_experimental_stats_mean.f90 index 991199e19..fbaa6e4fe 100644 --- a/src/f90_stdlib_experimental_stats_mean.f90 +++ b/src/f90_stdlib_experimental_stats_mean.f90 @@ -15,7 +15,7 @@ module function mean_1_sp_sp(x) result(res) res = 0.0_sp do i = 1, size(x) res = res + x(i) - enddo + end do res = res / real(size(x), sp) end function mean_1_sp_sp @@ -28,7 +28,7 @@ module function mean_1_dp_dp(x) result(res) res = 0.0_dp do i = 1, size(x) res = res + x(i) - enddo + end do res = res / real(size(x), dp) end function mean_1_dp_dp @@ -41,7 +41,7 @@ module function mean_1_qp_qp(x) result(res) res = 0.0_qp do i = 1, size(x) res = res + x(i) - enddo + end do res = res / real(size(x), qp) end function mean_1_qp_qp @@ -55,7 +55,7 @@ module function mean_1_int8_dp(x) result(res) res = 0.0_dp do i = 1, size(x) res = res + real(x(i), dp) - enddo + end do res = res / real(size(x), dp) end function mean_1_int8_dp @@ -68,7 +68,7 @@ module function mean_1_int16_dp(x) result(res) res = 0.0_dp do i = 1, size(x) res = res + real(x(i), dp) - enddo + end do res = res / real(size(x), dp) end function mean_1_int16_dp @@ -81,7 +81,7 @@ module function mean_1_int32_dp(x) result(res) res = 0.0_dp do i = 1, size(x) res = res + real(x(i), dp) - enddo + end do res = res / real(size(x), dp) end function mean_1_int32_dp @@ -94,7 +94,7 @@ module function mean_1_int64_dp(x) result(res) res = 0.0_dp do i = 1, size(x) res = res + real(x(i), dp) - enddo + end do res = res / real(size(x), dp) end function mean_1_int64_dp @@ -108,10 +108,10 @@ module function mean_2_all_sp_sp(x) result(res) res = 0.0_sp do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_) - enddo - enddo + do i = 1, size(x, 1) + res = res + x(i, i_) + end do + end do res = res / real(size(x), sp) end function mean_2_all_sp_sp @@ -123,10 +123,10 @@ module function mean_2_all_dp_dp(x) result(res) res = 0.0_dp do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_) - enddo - enddo + do i = 1, size(x, 1) + res = res + x(i, i_) + end do + end do res = res / real(size(x), dp) end function mean_2_all_dp_dp @@ -138,10 +138,10 @@ module function mean_2_all_qp_qp(x) result(res) res = 0.0_qp do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_) - enddo - enddo + do i = 1, size(x, 1) + res = res + x(i, i_) + end do + end do res = res / real(size(x), qp) end function mean_2_all_qp_qp @@ -154,10 +154,10 @@ module function mean_2_all_int8_dp(x) result(res) res = 0.0_dp do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_), dp) - enddo - enddo + do i = 1, size(x, 1) + res = res + real(x(i, i_), dp) + end do + end do res = res / real(size(x), dp) end function mean_2_all_int8_dp @@ -169,10 +169,10 @@ module function mean_2_all_int16_dp(x) result(res) res = 0.0_dp do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_), dp) - enddo - enddo + do i = 1, size(x, 1) + res = res + real(x(i, i_), dp) + end do + end do res = res / real(size(x), dp) end function mean_2_all_int16_dp @@ -184,10 +184,10 @@ module function mean_2_all_int32_dp(x) result(res) res = 0.0_dp do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_), dp) - enddo - enddo + do i = 1, size(x, 1) + res = res + real(x(i, i_), dp) + end do + end do res = res / real(size(x), dp) end function mean_2_all_int32_dp @@ -199,10 +199,10 @@ module function mean_2_all_int64_dp(x) result(res) res = 0.0_dp do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_), dp) - enddo - enddo + do i = 1, size(x, 1) + res = res + real(x(i, i_), dp) + end do + end do res = res / real(size(x), dp) end function mean_2_all_int64_dp @@ -218,19 +218,19 @@ module function mean_2_sp_sp(x, dim) result(res) select case(dim) case(1) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i_) = res(i_) + x(i, i_) + res(i_) = res(i_) + x(i, i_) end do - end do + end do case(2) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i) = res(i) + x(i, i_) + res(i) = res(i) + x(i, i_) end do - end do + end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select res = res / real(size(x, dim), sp) @@ -247,19 +247,19 @@ module function mean_2_dp_dp(x, dim) result(res) select case(dim) case(1) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i_) = res(i_) + x(i, i_) + res(i_) = res(i_) + x(i, i_) end do - end do + end do case(2) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i) = res(i) + x(i, i_) + res(i) = res(i) + x(i, i_) end do - end do + end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select res = res / real(size(x, dim), dp) @@ -276,19 +276,19 @@ module function mean_2_qp_qp(x, dim) result(res) select case(dim) case(1) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i_) = res(i_) + x(i, i_) + res(i_) = res(i_) + x(i, i_) end do - end do + end do case(2) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i) = res(i) + x(i, i_) + res(i) = res(i) + x(i, i_) end do - end do + end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select res = res / real(size(x, dim), qp) @@ -306,19 +306,19 @@ module function mean_2_int8_dp(x, dim) result(res) select case(dim) case(1) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i_) = res(i_) + real(x(i, i_), dp) + res(i_) = res(i_) + real(x(i, i_), dp) end do - end do + end do case(2) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i) = res(i) + real(x(i, i_), dp) + res(i) = res(i) + real(x(i, i_), dp) end do - end do + end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select res = res / real(size(x, dim), dp) @@ -335,19 +335,19 @@ module function mean_2_int16_dp(x, dim) result(res) select case(dim) case(1) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i_) = res(i_) + real(x(i, i_), dp) + res(i_) = res(i_) + real(x(i, i_), dp) end do - end do + end do case(2) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i) = res(i) + real(x(i, i_), dp) + res(i) = res(i) + real(x(i, i_), dp) end do - end do + end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select res = res / real(size(x, dim), dp) @@ -364,19 +364,19 @@ module function mean_2_int32_dp(x, dim) result(res) select case(dim) case(1) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i_) = res(i_) + real(x(i, i_), dp) + res(i_) = res(i_) + real(x(i, i_), dp) end do - end do + end do case(2) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i) = res(i) + real(x(i, i_), dp) + res(i) = res(i) + real(x(i, i_), dp) end do - end do + end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select res = res / real(size(x, dim), dp) @@ -393,19 +393,19 @@ module function mean_2_int64_dp(x, dim) result(res) select case(dim) case(1) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i_) = res(i_) + real(x(i, i_), dp) + res(i_) = res(i_) + real(x(i, i_), dp) end do - end do + end do case(2) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i) = res(i) + real(x(i, i_), dp) + res(i) = res(i) + real(x(i, i_), dp) end do - end do + end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select res = res / real(size(x, dim), dp) diff --git a/src/stdlib_experimental_stats_mean.fypp b/src/stdlib_experimental_stats_mean.fypp index 615b72de1..6c731d655 100644 --- a/src/stdlib_experimental_stats_mean.fypp +++ b/src/stdlib_experimental_stats_mean.fypp @@ -23,7 +23,7 @@ module function mean_1_${k1}$_${k1}$(x) result(res) res = 0.0_${k1}$ do i = 1, size(x) res = res + x(i) - enddo + end do res = res / real(size(x), ${k1}$) end function mean_1_${k1}$_${k1}$ @@ -39,7 +39,7 @@ module function mean_1_${k1}$_dp(x) result(res) res = 0.0_dp do i = 1, size(x) res = res + real(x(i), dp) - enddo + end do res = res / real(size(x), dp) end function mean_1_${k1}$_dp @@ -55,10 +55,10 @@ module function mean_2_all_${k1}$_${k1}$(x) result(res) res = 0.0_${k1}$ do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_) - enddo - enddo + do i = 1, size(x, 1) + res = res + x(i, i_) + end do + end do res = res / real(size(x), ${k1}$) end function mean_2_all_${k1}$_${k1}$ @@ -73,10 +73,10 @@ module function mean_2_all_${k1}$_dp(x) result(res) res = 0.0_dp do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_), dp) - enddo - enddo + do i = 1, size(x, 1) + res = res + real(x(i, i_), dp) + end do + end do res = res / real(size(x), dp) end function mean_2_all_${k1}$_dp @@ -94,19 +94,19 @@ module function mean_2_${k1}$_${k1}$(x, dim) result(res) select case(dim) case(1) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i_) = res(i_) + x(i, i_) + res(i_) = res(i_) + x(i, i_) end do - end do + end do case(2) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i) = res(i) + x(i, i_) + res(i) = res(i) + x(i, i_) end do - end do + end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select res = res / real(size(x, dim), ${k1}$) @@ -126,19 +126,19 @@ module function mean_2_${k1}$_dp(x, dim) result(res) select case(dim) case(1) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i_) = res(i_) + real(x(i, i_), dp) + res(i_) = res(i_) + real(x(i, i_), dp) end do - end do + end do case(2) - do i_ = 1, size(x, 2) + do i_ = 1, size(x, 2) do i = 1, size(x, 1) - res(i) = res(i) + real(x(i, i_), dp) + res(i) = res(i) + real(x(i, i_), dp) end do - end do + end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select res = res / real(size(x, dim), dp) From 3d21b7b5152c2e31cca258d5195d952126fcd687 Mon Sep 17 00:00:00 2001 From: "Vandenplas, Jeremie" Date: Thu, 23 Jan 2020 22:34:26 +0100 Subject: [PATCH 4/4] stat_mean_dev: modification of _ to numbers (see @aradi comments) --- src/f03_stdlib_experimental_stats_mean.f90 | 32336 +++++++++---------- src/f90_stdlib_experimental_stats_mean.f90 | 4011 ++- src/stdlib_experimental_stats_mean.fypp | 104 +- 3 files changed, 17795 insertions(+), 18656 deletions(-) diff --git a/src/f03_stdlib_experimental_stats_mean.f90 b/src/f03_stdlib_experimental_stats_mean.f90 index 7034d2e57..8726d35b5 100644 --- a/src/f03_stdlib_experimental_stats_mean.f90 +++ b/src/f03_stdlib_experimental_stats_mean.f90 @@ -10,11 +10,11 @@ module function mean_1_sp_sp(x) result(res) real(sp), intent(in) :: x(:) real(sp) :: res - integer :: i + integer :: i1 res = 0.0_sp - do i = 1, size(x) - res = res + x(i) + do i1 = 1, size(x) + res = res + x(i1) end do res = res / real(size(x), sp) @@ -23,11 +23,11 @@ module function mean_1_dp_dp(x) result(res) real(dp), intent(in) :: x(:) real(dp) :: res - integer :: i + integer :: i1 res = 0.0_dp - do i = 1, size(x) - res = res + x(i) + do i1 = 1, size(x) + res = res + x(i1) end do res = res / real(size(x), dp) @@ -36,11 +36,11 @@ module function mean_1_qp_qp(x) result(res) real(qp), intent(in) :: x(:) real(qp) :: res - integer :: i + integer :: i1 res = 0.0_qp - do i = 1, size(x) - res = res + x(i) + do i1 = 1, size(x) + res = res + x(i1) end do res = res / real(size(x), qp) @@ -50,11 +50,11 @@ module function mean_1_int8_dp(x) result(res) integer(int8), intent(in) :: x(:) real(dp) :: res - integer :: i + integer :: i1 res = 0.0_dp - do i = 1, size(x) - res = res + real(x(i), dp) + do i1 = 1, size(x) + res = res + real(x(i1), dp) end do res = res / real(size(x), dp) @@ -63,11 +63,11 @@ module function mean_1_int16_dp(x) result(res) integer(int16), intent(in) :: x(:) real(dp) :: res - integer :: i + integer :: i1 res = 0.0_dp - do i = 1, size(x) - res = res + real(x(i), dp) + do i1 = 1, size(x) + res = res + real(x(i1), dp) end do res = res / real(size(x), dp) @@ -76,11 +76,11 @@ module function mean_1_int32_dp(x) result(res) integer(int32), intent(in) :: x(:) real(dp) :: res - integer :: i + integer :: i1 res = 0.0_dp - do i = 1, size(x) - res = res + real(x(i), dp) + do i1 = 1, size(x) + res = res + real(x(i1), dp) end do res = res / real(size(x), dp) @@ -89,11 +89,11 @@ module function mean_1_int64_dp(x) result(res) integer(int64), intent(in) :: x(:) real(dp) :: res - integer :: i + integer :: i1 res = 0.0_dp - do i = 1, size(x) - res = res + real(x(i), dp) + do i1 = 1, size(x) + res = res + real(x(i1), dp) end do res = res / real(size(x), dp) @@ -104,12 +104,12 @@ module function mean_2_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:) real(sp) :: res - integer :: i, i_ + integer :: i1, i2 res = 0.0_sp - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1, i2) end do end do res = res / real(size(x), sp) @@ -119,12 +119,12 @@ module function mean_2_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:) real(dp) :: res - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1, i2) end do end do res = res / real(size(x), dp) @@ -134,12 +134,12 @@ module function mean_2_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:) real(qp) :: res - integer :: i, i_ + integer :: i1, i2 res = 0.0_qp - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1, i2) end do end do res = res / real(size(x), qp) @@ -150,12 +150,12 @@ module function mean_2_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:) real(dp) :: res - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1, i2), dp) end do end do res = res / real(size(x), dp) @@ -165,12 +165,12 @@ module function mean_2_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:) real(dp) :: res - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1, i2), dp) end do end do res = res / real(size(x), dp) @@ -180,12 +180,12 @@ module function mean_2_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:) real(dp) :: res - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1, i2), dp) end do end do res = res / real(size(x), dp) @@ -195,12 +195,12 @@ module function mean_2_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:) real(dp) :: res - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1, i2), dp) end do end do res = res / real(size(x), dp) @@ -212,21 +212,21 @@ module function mean_2_sp_sp(x, dim) result(res) integer, intent(in) :: dim real(sp) :: res(size(x)/size(x, dim)) - integer :: i, i_ + integer :: i1, i2 res = 0.0_sp select case(dim) case(1) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_) = res(i_) + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2) = res(i2) + x(i1, i2) end do end do case(2) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i) = res(i) + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1) = res(i1) + x(i1, i2) end do end do case default @@ -241,21 +241,21 @@ module function mean_2_dp_dp(x, dim) result(res) integer, intent(in) :: dim real(dp) :: res(size(x)/size(x, dim)) - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp select case(dim) case(1) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_) = res(i_) + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2) = res(i2) + x(i1, i2) end do end do case(2) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i) = res(i) + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1) = res(i1) + x(i1, i2) end do end do case default @@ -270,21 +270,21 @@ module function mean_2_qp_qp(x, dim) result(res) integer, intent(in) :: dim real(qp) :: res(size(x)/size(x, dim)) - integer :: i, i_ + integer :: i1, i2 res = 0.0_qp select case(dim) case(1) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_) = res(i_) + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2) = res(i2) + x(i1, i2) end do end do case(2) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i) = res(i) + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1) = res(i1) + x(i1, i2) end do end do case default @@ -300,21 +300,21 @@ module function mean_2_int8_dp(x, dim) result(res) integer, intent(in) :: dim real(dp) :: res(size(x)/size(x, dim)) - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp select case(dim) case(1) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_) = res(i_) + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2) = res(i2) + real(x(i1, i2), dp) end do end do case(2) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i) = res(i) + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1) = res(i1) + real(x(i1, i2), dp) end do end do case default @@ -329,21 +329,21 @@ module function mean_2_int16_dp(x, dim) result(res) integer, intent(in) :: dim real(dp) :: res(size(x)/size(x, dim)) - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp select case(dim) case(1) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_) = res(i_) + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2) = res(i2) + real(x(i1, i2), dp) end do end do case(2) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i) = res(i) + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1) = res(i1) + real(x(i1, i2), dp) end do end do case default @@ -358,21 +358,21 @@ module function mean_2_int32_dp(x, dim) result(res) integer, intent(in) :: dim real(dp) :: res(size(x)/size(x, dim)) - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp select case(dim) case(1) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_) = res(i_) + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2) = res(i2) + real(x(i1, i2), dp) end do end do case(2) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i) = res(i) + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1) = res(i1) + real(x(i1, i2), dp) end do end do case default @@ -387,21 +387,21 @@ module function mean_2_int64_dp(x, dim) result(res) integer, intent(in) :: dim real(dp) :: res(size(x)/size(x, dim)) - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp select case(dim) case(1) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_) = res(i_) + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2) = res(i2) + real(x(i1, i2), dp) end do end do case(2) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i) = res(i) + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1) = res(i1) + real(x(i1, i2), dp) end do end do case default @@ -414,6 +414,7 @@ end function mean_2_int64_dp +!As proposed by @arady @@ -422,16 +423,16 @@ module function mean_3_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:) real(sp) :: res - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_sp - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3) + end do end do - end do end do res = res / real(size(x), sp) @@ -441,18 +442,18 @@ module function mean_4_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:) real(sp) :: res - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_sp - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4) + end do + end do end do - end do end do res = res / real(size(x), sp) @@ -462,20 +463,20 @@ module function mean_5_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:) real(sp) :: res - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_sp - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do res = res / real(size(x), sp) @@ -485,22 +486,22 @@ module function mean_6_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:) real(sp) :: res - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_sp - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do res = res / real(size(x), sp) @@ -510,24 +511,24 @@ module function mean_7_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:) real(sp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_sp - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), sp) @@ -537,26 +538,26 @@ module function mean_8_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:) real(sp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i1,i2,i3,i4,i5,i6,i7,i8 res = 0.0_sp - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), sp) @@ -566,28 +567,28 @@ module function mean_9_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:) real(sp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9 res = 0.0_sp - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), sp) @@ -597,30 +598,30 @@ module function mean_10_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) real(sp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10 res = 0.0_sp - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), sp) @@ -630,32 +631,32 @@ module function mean_11_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) real(sp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11 res = 0.0_sp - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), sp) @@ -665,34 +666,34 @@ module function mean_12_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) real(sp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12 res = 0.0_sp - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), sp) @@ -702,37 +703,36 @@ module function mean_13_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) real(sp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13 res = 0.0_sp - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_________& - &___) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), sp) @@ -742,40 +742,38 @@ module function mean_14_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(sp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14 res = 0.0_sp - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), sp) @@ -785,42 +783,40 @@ module function mean_15_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(sp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__,i______________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15 res = 0.0_sp - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), sp) @@ -830,16 +826,16 @@ module function mean_3_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:) real(dp) :: res - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_dp - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3) + end do end do - end do end do res = res / real(size(x), dp) @@ -849,18 +845,18 @@ module function mean_4_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_dp - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4) + end do + end do end do - end do end do res = res / real(size(x), dp) @@ -870,20 +866,20 @@ module function mean_5_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_dp - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -893,22 +889,22 @@ module function mean_6_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_dp - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -918,24 +914,24 @@ module function mean_7_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_dp - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -945,26 +941,26 @@ module function mean_8_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i1,i2,i3,i4,i5,i6,i7,i8 res = 0.0_dp - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -974,28 +970,28 @@ module function mean_9_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9 res = 0.0_dp - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1005,30 +1001,30 @@ module function mean_10_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10 res = 0.0_dp - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1038,32 +1034,32 @@ module function mean_11_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11 res = 0.0_dp - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1073,34 +1069,34 @@ module function mean_12_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12 res = 0.0_dp - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1110,37 +1106,36 @@ module function mean_13_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13 res = 0.0_dp - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_________& - &___) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1150,40 +1145,38 @@ module function mean_14_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14 res = 0.0_dp - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1193,42 +1186,40 @@ module function mean_15_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__,i______________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15 res = 0.0_dp - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1238,16 +1229,16 @@ module function mean_3_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:) real(qp) :: res - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_qp - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3) + end do end do - end do end do res = res / real(size(x), qp) @@ -1257,18 +1248,18 @@ module function mean_4_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:) real(qp) :: res - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_qp - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4) + end do + end do end do - end do end do res = res / real(size(x), qp) @@ -1278,20 +1269,20 @@ module function mean_5_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:) real(qp) :: res - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_qp - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do res = res / real(size(x), qp) @@ -1301,22 +1292,22 @@ module function mean_6_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:) real(qp) :: res - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_qp - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do res = res / real(size(x), qp) @@ -1326,24 +1317,24 @@ module function mean_7_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:) real(qp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_qp - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), qp) @@ -1353,26 +1344,26 @@ module function mean_8_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:) real(qp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i1,i2,i3,i4,i5,i6,i7,i8 res = 0.0_qp - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), qp) @@ -1382,28 +1373,28 @@ module function mean_9_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:) real(qp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9 res = 0.0_qp - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), qp) @@ -1413,30 +1404,30 @@ module function mean_10_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) real(qp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10 res = 0.0_qp - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), qp) @@ -1446,32 +1437,32 @@ module function mean_11_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) real(qp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11 res = 0.0_qp - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), qp) @@ -1481,34 +1472,34 @@ module function mean_12_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) real(qp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12 res = 0.0_qp - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), qp) @@ -1518,37 +1509,36 @@ module function mean_13_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) real(qp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13 res = 0.0_qp - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_________& - &___) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), qp) @@ -1558,40 +1548,38 @@ module function mean_14_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(qp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14 res = 0.0_qp - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), qp) @@ -1601,42 +1589,40 @@ module function mean_15_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(qp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__,i______________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15 res = 0.0_qp - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), qp) @@ -1647,16 +1633,16 @@ module function mean_3_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:) real(dp) :: res - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_dp - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3), dp) + end do end do - end do end do res = res / real(size(x), dp) @@ -1666,18 +1652,18 @@ module function mean_4_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_dp - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do res = res / real(size(x), dp) @@ -1687,20 +1673,20 @@ module function mean_5_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_dp - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1710,22 +1696,22 @@ module function mean_6_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_dp - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1735,24 +1721,24 @@ module function mean_7_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_dp - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1762,26 +1748,26 @@ module function mean_8_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i1,i2,i3,i4,i5,i6,i7,i8 res = 0.0_dp - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1791,28 +1777,28 @@ module function mean_9_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9 res = 0.0_dp - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1822,30 +1808,30 @@ module function mean_10_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10 res = 0.0_dp - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1855,32 +1841,32 @@ module function mean_11_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11 res = 0.0_dp - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1890,34 +1876,34 @@ module function mean_12_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12 res = 0.0_dp - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1927,37 +1913,36 @@ module function mean_13_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13 res = 0.0_dp - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1967,40 +1952,38 @@ module function mean_14_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14 res = 0.0_dp - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& - &_________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2010,42 +1993,40 @@ module function mean_15_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__,i______________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15 res = 0.0_dp - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2055,16 +2036,16 @@ module function mean_3_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:) real(dp) :: res - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_dp - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3), dp) + end do end do - end do end do res = res / real(size(x), dp) @@ -2074,18 +2055,18 @@ module function mean_4_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_dp - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do res = res / real(size(x), dp) @@ -2095,20 +2076,20 @@ module function mean_5_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_dp - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2118,22 +2099,22 @@ module function mean_6_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_dp - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2143,24 +2124,24 @@ module function mean_7_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_dp - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2170,26 +2151,26 @@ module function mean_8_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i1,i2,i3,i4,i5,i6,i7,i8 res = 0.0_dp - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2199,28 +2180,28 @@ module function mean_9_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9 res = 0.0_dp - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2230,30 +2211,30 @@ module function mean_10_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10 res = 0.0_dp - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2263,32 +2244,32 @@ module function mean_11_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11 res = 0.0_dp - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2298,34 +2279,34 @@ module function mean_12_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12 res = 0.0_dp - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2335,37 +2316,36 @@ module function mean_13_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13 res = 0.0_dp - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2375,40 +2355,38 @@ module function mean_14_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14 res = 0.0_dp - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& - &_________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2418,42 +2396,40 @@ module function mean_15_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__,i______________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15 res = 0.0_dp - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2463,16 +2439,16 @@ module function mean_3_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:) real(dp) :: res - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_dp - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3), dp) + end do end do - end do end do res = res / real(size(x), dp) @@ -2482,18 +2458,18 @@ module function mean_4_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_dp - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do res = res / real(size(x), dp) @@ -2503,20 +2479,20 @@ module function mean_5_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_dp - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2526,22 +2502,22 @@ module function mean_6_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_dp - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2551,24 +2527,24 @@ module function mean_7_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_dp - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2578,26 +2554,26 @@ module function mean_8_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i1,i2,i3,i4,i5,i6,i7,i8 res = 0.0_dp - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2607,28 +2583,28 @@ module function mean_9_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9 res = 0.0_dp - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2638,30 +2614,30 @@ module function mean_10_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10 res = 0.0_dp - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2671,32 +2647,32 @@ module function mean_11_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11 res = 0.0_dp - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2706,34 +2682,34 @@ module function mean_12_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12 res = 0.0_dp - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2743,37 +2719,36 @@ module function mean_13_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13 res = 0.0_dp - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2783,40 +2758,38 @@ module function mean_14_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14 res = 0.0_dp - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& - &_________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2826,42 +2799,40 @@ module function mean_15_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__,i______________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15 res = 0.0_dp - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2871,16 +2842,16 @@ module function mean_3_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:) real(dp) :: res - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_dp - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3), dp) + end do end do - end do end do res = res / real(size(x), dp) @@ -2890,18 +2861,18 @@ module function mean_4_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_dp - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do res = res / real(size(x), dp) @@ -2911,20 +2882,20 @@ module function mean_5_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_dp - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2934,22 +2905,22 @@ module function mean_6_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_dp - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2959,24 +2930,24 @@ module function mean_7_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_dp - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -2986,26 +2957,26 @@ module function mean_8_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i1,i2,i3,i4,i5,i6,i7,i8 res = 0.0_dp - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -3015,28 +2986,28 @@ module function mean_9_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9 res = 0.0_dp - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -3046,30 +3017,30 @@ module function mean_10_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10 res = 0.0_dp - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -3079,32 +3050,32 @@ module function mean_11_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11 res = 0.0_dp - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -3114,34 +3085,34 @@ module function mean_12_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12 res = 0.0_dp - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -3151,37 +3122,36 @@ module function mean_13_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13 res = 0.0_dp - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -3191,40 +3161,38 @@ module function mean_14_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14 res = 0.0_dp - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& - &_________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -3234,42 +3202,40 @@ module function mean_15_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__,i______________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15 res = 0.0_dp - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -3283,34 +3249,34 @@ module function mean_3_sp_sp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_sp select case(dim) case(1) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__) = res(i_,i__) + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3) = res(i2,i3) + x(i1,i2,i3) + end do end do - end do end do case(2) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__) = res(i,i__) + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3) = res(i1,i3) + x(i1,i2,i3) + end do end do - end do end do case(3) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_) = res(i,i_) + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2) = res(i1,i2) + x(i1,i2,i3) + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -3327,50 +3293,50 @@ module function mean_4_sp_sp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_sp select case(dim) case(1) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___) = res(i_,i__,i___) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4) = res(i2,i3,i4) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case(2) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___) = res(i,i__,i___) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4) = res(i1,i3,i4) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case(3) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___) = res(i,i_,i___) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4) = res(i1,i2,i4) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case(4) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__) = res(i,i_,i__) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3) = res(i1,i2,i3) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -3388,70 +3354,70 @@ module function mean_5_sp_sp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_sp select case(dim) case(1) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5) = res(i2,i3,i4,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(2) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____) = res(i,i__,i___,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5) = res(i1,i3,i4,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(3) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____) = res(i,i_,i___,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5) = res(i1,i2,i4,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(4) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____) = res(i,i_,i__,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5) = res(i1,i2,i3,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(5) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___) = res(i,i_,i__,i___) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4) = res(i1,i2,i3,i4) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -3470,94 +3436,94 @@ module function mean_6_sp_sp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_sp select case(dim) case(1) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6) = res(i2,i3,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(2) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6) = res(i1,i3,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(3) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6) = res(i1,i2,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(4) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6) = res(i1,i2,i3,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(5) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6) = res(i1,i2,i3,i4,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(6) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5) = res(i1,i2,i3,i4,i5) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -3577,122 +3543,122 @@ module function mean_7_sp_sp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_sp select case(dim) case(1) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7) = res(i2,i3,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7) = res(i1,i3,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7) = res(i1,i2,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7) = res(i1,i2,i3,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7) = res(i1,i2,i3,i4,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(6) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7) = res(i1,i2,i3,i4,i5,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6) = res(i1,i2,i3,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -3713,162 +3679,154 @@ module function mean_8_sp_sp(x, dim) result(res) merge(size(x,6),size(x,7),mask = 6 < dim ), & merge(size(x,7),size(x,8),mask = 7 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i1,i2,i3,i4,i5,i6,i7,i8 res = 0.0_sp select case(dim) case(1) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8) = res(i2,i3,i4,i5,i6,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8) = res(i1,i3,i4,i5,i6,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8) = res(i1,i2,i4,i5,i6,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8) = res(i1,i2,i3,i5,i6,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8) = res(i1,i2,i3,i4,i6,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(6) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8) = res(i1,i2,i3,i4,i5,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8) = res(i1,i2,i3,i4,i5,i6,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(8) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7) = res(i1,i2,i3,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -3890,199 +3848,190 @@ module function mean_9_sp_sp(x, dim) result(res) merge(size(x,7),size(x,8),mask = 7 < dim ), & merge(size(x,8),size(x,9),mask = 8 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9 res = 0.0_sp select case(dim) case(1) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& - & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9) = res(i2,i3,i4,i5,i6,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& - & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9) = res(i1,i3,i4,i5,i6,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9) = res(i1,i2,i4,i5,i6,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9) = res(i1,i2,i3,i5,i6,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9) = res(i1,i2,i3,i4,i6,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9) = res(i1,i2,i3,i4,i5,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9) = res(i1,i2,i3,i4,i5,i6,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9) = res(i1,i2,i3,i4,i5,i6,i7,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8) = res(i1,i2,i3,i4,i5,i6,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -4105,240 +4054,230 @@ module function mean_10_sp_sp(x, dim) result(res) merge(size(x,8),size(x,9),mask = 8 < dim ), & merge(size(x,9),size(x,10),mask = 9 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10 res = 0.0_sp select case(dim) case(1) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& - &_,i________,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& - &i________,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& - &_______,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& - &_____,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& - &___,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& - &_,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& - &i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& - &________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& - &______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& - &____) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -4362,296 +4301,285 @@ module function mean_11_sp_sp(x, dim) result(res) merge(size(x,9),size(x,10),mask = 9 < dim ), & merge(size(x,10),size(x,11),mask = 10 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11 res = 0.0_sp select case(dim) case(1) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -4676,346 +4604,334 @@ module function mean_12_sp_sp(x, dim) result(res) merge(size(x,10),size(x,11),mask = 10 < dim ), & merge(size(x,11),size(x,12),mask = 11 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12 res = 0.0_sp select case(dim) case(1) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -5041,404 +4957,387 @@ module function mean_13_sp_sp(x, dim) result(res) merge(size(x,11),size(x,12),mask = 11 < dim ), & merge(size(x,12),size(x,13),mask = 12 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13 res = 0.0_sp select case(dim) case(1) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& - &) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_________& - &___) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& - &__) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& - &__) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& - &__) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -5465,473 +5364,444 @@ module function mean_14_sp_sp(x, dim) result(res) merge(size(x,12),size(x,13),mask = 12 < dim ), & merge(size(x,13),size(x,14),mask = 13 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14 res = 0.0_sp select case(dim) case(1) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& - &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& - &,i____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i____& - &______,i___________,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& - &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& - &____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i______& - &____,i___________,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& - &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i________& - &__,i___________,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& - &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________& - &,i___________,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& - &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& - &______,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i& - &___________,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& - &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& - &_________,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& - &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& - &__,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& - &_______,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& - &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& - &,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i______& - &_____,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& - &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& - &_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i________& - &___,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& - &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& - &___________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& - &_,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14& + &) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& - &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& - &_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,& - &i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14& + &) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& - &_______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_& - &___________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14& + &) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14& + &) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(14) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& - &_________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13& + &) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -5959,536 +5829,520 @@ module function mean_15_sp_sp(x, dim) result(res) merge(size(x,13),size(x,14),mask = 13 < dim ), & merge(size(x,14),size(x,15),mask = 14 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__,i______________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15 res = 0.0_sp select case(dim) case(1) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& - &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& - &_____,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,& - &i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& - &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& - &___,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_& - &______,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& - &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& - &_,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i___& - &____,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& - &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& - &i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_____& - &__,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& - &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& - &__________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______& - &,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& - &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& - &________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i& - &________,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& - &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& - &______,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i__& - &______,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& - &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& - &____,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i____& - &____,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& - &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& - &__,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i______& - &__,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& - &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& - &,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________& - &,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i& + &11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& - &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& - &____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i& - &_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i& + &11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& - &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& - &__________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__& - &_______,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i& + &11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& - &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& - &________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i____& - &_____,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i& + &11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(14) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& - &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& - &_______,i____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i______& - &___,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i& + &11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(15) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& - &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& - &______,i____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i________& - &_,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i& + &11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -6504,34 +6358,34 @@ module function mean_3_dp_dp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_dp select case(dim) case(1) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__) = res(i_,i__) + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3) = res(i2,i3) + x(i1,i2,i3) + end do end do - end do end do case(2) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__) = res(i,i__) + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3) = res(i1,i3) + x(i1,i2,i3) + end do end do - end do end do case(3) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_) = res(i,i_) + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2) = res(i1,i2) + x(i1,i2,i3) + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -6548,50 +6402,50 @@ module function mean_4_dp_dp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_dp select case(dim) case(1) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___) = res(i_,i__,i___) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4) = res(i2,i3,i4) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case(2) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___) = res(i,i__,i___) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4) = res(i1,i3,i4) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case(3) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___) = res(i,i_,i___) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4) = res(i1,i2,i4) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case(4) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__) = res(i,i_,i__) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3) = res(i1,i2,i3) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -6609,70 +6463,70 @@ module function mean_5_dp_dp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_dp select case(dim) case(1) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5) = res(i2,i3,i4,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(2) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____) = res(i,i__,i___,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5) = res(i1,i3,i4,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(3) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____) = res(i,i_,i___,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5) = res(i1,i2,i4,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(4) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____) = res(i,i_,i__,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5) = res(i1,i2,i3,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(5) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___) = res(i,i_,i__,i___) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4) = res(i1,i2,i3,i4) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -6691,94 +6545,94 @@ module function mean_6_dp_dp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_dp select case(dim) case(1) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6) = res(i2,i3,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(2) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6) = res(i1,i3,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(3) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6) = res(i1,i2,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(4) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6) = res(i1,i2,i3,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(5) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6) = res(i1,i2,i3,i4,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(6) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5) = res(i1,i2,i3,i4,i5) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -6798,122 +6652,122 @@ module function mean_7_dp_dp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_dp select case(dim) case(1) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7) = res(i2,i3,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7) = res(i1,i3,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7) = res(i1,i2,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7) = res(i1,i2,i3,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7) = res(i1,i2,i3,i4,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(6) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7) = res(i1,i2,i3,i4,i5,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6) = res(i1,i2,i3,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -6934,162 +6788,154 @@ module function mean_8_dp_dp(x, dim) result(res) merge(size(x,6),size(x,7),mask = 6 < dim ), & merge(size(x,7),size(x,8),mask = 7 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i1,i2,i3,i4,i5,i6,i7,i8 res = 0.0_dp select case(dim) case(1) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8) = res(i2,i3,i4,i5,i6,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8) = res(i1,i3,i4,i5,i6,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8) = res(i1,i2,i4,i5,i6,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8) = res(i1,i2,i3,i5,i6,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8) = res(i1,i2,i3,i4,i6,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(6) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8) = res(i1,i2,i3,i4,i5,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8) = res(i1,i2,i3,i4,i5,i6,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(8) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7) = res(i1,i2,i3,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -7111,199 +6957,190 @@ module function mean_9_dp_dp(x, dim) result(res) merge(size(x,7),size(x,8),mask = 7 < dim ), & merge(size(x,8),size(x,9),mask = 8 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9 res = 0.0_dp select case(dim) case(1) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& - & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9) = res(i2,i3,i4,i5,i6,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& - & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9) = res(i1,i3,i4,i5,i6,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9) = res(i1,i2,i4,i5,i6,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9) = res(i1,i2,i3,i5,i6,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9) = res(i1,i2,i3,i4,i6,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9) = res(i1,i2,i3,i4,i5,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9) = res(i1,i2,i3,i4,i5,i6,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9) = res(i1,i2,i3,i4,i5,i6,i7,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8) = res(i1,i2,i3,i4,i5,i6,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -7326,240 +7163,230 @@ module function mean_10_dp_dp(x, dim) result(res) merge(size(x,8),size(x,9),mask = 8 < dim ), & merge(size(x,9),size(x,10),mask = 9 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10 res = 0.0_dp select case(dim) case(1) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& - &_,i________,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& - &i________,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& - &_______,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& - &_____,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& - &___,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& - &_,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& - &i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& - &________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& - &______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& - &____) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -7583,296 +7410,285 @@ module function mean_11_dp_dp(x, dim) result(res) merge(size(x,9),size(x,10),mask = 9 < dim ), & merge(size(x,10),size(x,11),mask = 10 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11 res = 0.0_dp select case(dim) case(1) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -7897,346 +7713,334 @@ module function mean_12_dp_dp(x, dim) result(res) merge(size(x,10),size(x,11),mask = 10 < dim ), & merge(size(x,11),size(x,12),mask = 11 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12 res = 0.0_dp select case(dim) case(1) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -8262,404 +8066,387 @@ module function mean_13_dp_dp(x, dim) result(res) merge(size(x,11),size(x,12),mask = 11 < dim ), & merge(size(x,12),size(x,13),mask = 12 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13 res = 0.0_dp select case(dim) case(1) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& - &) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_________& - &___) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& - &__) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& - &__) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& - &__) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -8686,473 +8473,444 @@ module function mean_14_dp_dp(x, dim) result(res) merge(size(x,12),size(x,13),mask = 12 < dim ), & merge(size(x,13),size(x,14),mask = 13 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14 res = 0.0_dp select case(dim) case(1) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& - &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& - &,i____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i____& - &______,i___________,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& - &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& - &____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i______& - &____,i___________,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& - &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i________& - &__,i___________,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& - &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________& - &,i___________,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& - &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& - &______,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i& - &___________,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& - &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& - &_________,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& - &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& - &__,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& - &_______,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& - &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& - &,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i______& - &_____,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& - &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& - &_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i________& - &___,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& - &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& - &___________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& - &_,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14& + &) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& - &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& - &_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,& - &i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14& + &) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& - &_______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_& - &___________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14& + &) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14& + &) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(14) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& - &_________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13& + &) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -9180,536 +8938,520 @@ module function mean_15_dp_dp(x, dim) result(res) merge(size(x,13),size(x,14),mask = 13 < dim ), & merge(size(x,14),size(x,15),mask = 14 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__,i______________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15 res = 0.0_dp select case(dim) case(1) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& - &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& - &_____,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,& - &i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& - &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& - &___,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_& - &______,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& - &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& - &_,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i___& - &____,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& - &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& - &i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_____& - &__,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& - &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& - &__________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______& - &,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& - &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& - &________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i& - &________,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& - &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& - &______,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i__& - &______,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& - &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& - &____,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i____& - &____,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& - &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& - &__,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i______& - &__,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& - &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& - &,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________& - &,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i& + &11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& - &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& - &____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i& - &_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i& + &11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& - &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& - &__________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__& - &_______,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i& + &11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& - &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& - &________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i____& - &_____,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i& + &11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(14) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& - &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& - &_______,i____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i______& - &___,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i& + &11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(15) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& - &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& - &______,i____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i________& - &_,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i& + &11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -9725,34 +9467,34 @@ module function mean_3_qp_qp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_qp select case(dim) case(1) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__) = res(i_,i__) + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3) = res(i2,i3) + x(i1,i2,i3) + end do end do - end do end do case(2) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__) = res(i,i__) + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3) = res(i1,i3) + x(i1,i2,i3) + end do end do - end do end do case(3) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_) = res(i,i_) + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2) = res(i1,i2) + x(i1,i2,i3) + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -9769,50 +9511,50 @@ module function mean_4_qp_qp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_qp select case(dim) case(1) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___) = res(i_,i__,i___) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4) = res(i2,i3,i4) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case(2) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___) = res(i,i__,i___) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4) = res(i1,i3,i4) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case(3) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___) = res(i,i_,i___) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4) = res(i1,i2,i4) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case(4) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__) = res(i,i_,i__) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3) = res(i1,i2,i3) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -9830,70 +9572,70 @@ module function mean_5_qp_qp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_qp select case(dim) case(1) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5) = res(i2,i3,i4,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(2) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____) = res(i,i__,i___,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5) = res(i1,i3,i4,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(3) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____) = res(i,i_,i___,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5) = res(i1,i2,i4,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(4) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____) = res(i,i_,i__,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5) = res(i1,i2,i3,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(5) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___) = res(i,i_,i__,i___) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4) = res(i1,i2,i3,i4) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -9912,94 +9654,94 @@ module function mean_6_qp_qp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_qp select case(dim) case(1) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6) = res(i2,i3,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(2) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6) = res(i1,i3,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(3) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6) = res(i1,i2,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(4) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6) = res(i1,i2,i3,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(5) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6) = res(i1,i2,i3,i4,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(6) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5) = res(i1,i2,i3,i4,i5) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -10019,122 +9761,122 @@ module function mean_7_qp_qp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_qp select case(dim) case(1) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7) = res(i2,i3,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7) = res(i1,i3,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7) = res(i1,i2,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7) = res(i1,i2,i3,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7) = res(i1,i2,i3,i4,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(6) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7) = res(i1,i2,i3,i4,i5,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6) = res(i1,i2,i3,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -10155,162 +9897,154 @@ module function mean_8_qp_qp(x, dim) result(res) merge(size(x,6),size(x,7),mask = 6 < dim ), & merge(size(x,7),size(x,8),mask = 7 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i1,i2,i3,i4,i5,i6,i7,i8 res = 0.0_qp select case(dim) case(1) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8) = res(i2,i3,i4,i5,i6,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8) = res(i1,i3,i4,i5,i6,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8) = res(i1,i2,i4,i5,i6,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8) = res(i1,i2,i3,i5,i6,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do - end do - end do - end do - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8) = res(i1,i2,i3,i4,i6,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do + end do + end do end do - end do end do case(6) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8) = res(i1,i2,i3,i4,i5,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8) = res(i1,i2,i3,i4,i5,i6,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(8) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7) = res(i1,i2,i3,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7,i8) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -10332,199 +10066,190 @@ module function mean_9_qp_qp(x, dim) result(res) merge(size(x,7),size(x,8),mask = 7 < dim ), & merge(size(x,8),size(x,9),mask = 8 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9 res = 0.0_qp select case(dim) case(1) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& - & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9) = res(i2,i3,i4,i5,i6,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& - & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9) = res(i1,i3,i4,i5,i6,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9) = res(i1,i2,i4,i5,i6,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9) = res(i1,i2,i3,i5,i6,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9) = res(i1,i2,i3,i4,i6,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9) = res(i1,i2,i3,i4,i5,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9) = res(i1,i2,i3,i4,i5,i6,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9) = res(i1,i2,i3,i4,i5,i6,i7,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8) = res(i1,i2,i3,i4,i5,i6,i7,i8) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -10547,240 +10272,230 @@ module function mean_10_qp_qp(x, dim) result(res) merge(size(x,8),size(x,9),mask = 8 < dim ), & merge(size(x,9),size(x,10),mask = 9 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10 res = 0.0_qp select case(dim) case(1) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& - &_,i________,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& - &i________,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& - &_______,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& - &_____,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& - &___,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& - &_,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& - &i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& - &________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& - &______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& - &____) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -10804,296 +10519,285 @@ module function mean_11_qp_qp(x, dim) result(res) merge(size(x,9),size(x,10),mask = 9 < dim ), & merge(size(x,10),size(x,11),mask = 10 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11 res = 0.0_qp select case(dim) case(1) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -11118,346 +10822,334 @@ module function mean_12_qp_qp(x, dim) result(res) merge(size(x,10),size(x,11),mask = 10 < dim ), & merge(size(x,11),size(x,12),mask = 11 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12 res = 0.0_qp select case(dim) case(1) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -11483,404 +11175,387 @@ module function mean_13_qp_qp(x, dim) result(res) merge(size(x,11),size(x,12),mask = 11 < dim ), & merge(size(x,12),size(x,13),mask = 12 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13 res = 0.0_qp select case(dim) case(1) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& - &) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_________& - &___) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& - &__) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& - &__) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& - &__) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -11907,473 +11582,444 @@ module function mean_14_qp_qp(x, dim) result(res) merge(size(x,12),size(x,13),mask = 12 < dim ), & merge(size(x,13),size(x,14),mask = 13 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14 res = 0.0_qp select case(dim) case(1) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& - &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& - &,i____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i____& - &______,i___________,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& - &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& - &____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i______& - &____,i___________,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& - &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i________& - &__,i___________,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& - &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________& - &,i___________,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& - &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& - &______,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i& - &___________,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& - &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& - &_________,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& - &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& - &__,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& - &_______,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& - &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& - &,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i______& - &_____,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& - &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& - &_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i________& - &___,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i& + &14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& - &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& - &___________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& - &_,i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14& + &) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& - &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& - &_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,& - &i____________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14& + &) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& - &_______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_& - &___________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14& + &) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14& + &) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(14) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& - &_________,i_____________) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13& + &) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -12401,536 +12047,520 @@ module function mean_15_qp_qp(x, dim) result(res) merge(size(x,13),size(x,14),mask = 13 < dim ), & merge(size(x,14),size(x,15),mask = 14 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__,i______________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15 res = 0.0_qp select case(dim) case(1) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& - &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& - &_____,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,& - &i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& - &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& - &___,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_& - &______,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& - &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& - &_,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i___& - &____,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& - &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& - &i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_____& - &__,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& - &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& - &__________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______& - &,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& - &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& - &________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i& - &________,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& - &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& - &______,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i__& - &______,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& - &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& - &____,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i____& - &____,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& - &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& - &__,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i______& - &__,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,& + &i11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& - &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& - &,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________& - &,i_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i& + &11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& - &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& - &____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i& - &_________,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i& + &11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& - &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& - &__________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__& - &_______,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i& + &11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& - &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& - &________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i____& - &_____,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i& + &11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(14) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& - &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& - &_______,i____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i______& - &___,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i15) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i& + &11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(15) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& - &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& - &______,i____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i________& - &_,i__________,i___________,i____________,i_____________,i______________) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i& + &11,i12,i13,i14,i15) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -12947,34 +12577,34 @@ module function mean_3_int8_dp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_dp select case(dim) case(1) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__) = res(i_,i__) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3) = res(i2,i3) + real(x(i1,i2,i3), dp) + end do end do - end do end do case(2) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__) = res(i,i__) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3) = res(i1,i3) + real(x(i1,i2,i3), dp) + end do end do - end do end do case(3) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_) = res(i,i_) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2) = res(i1,i2) + real(x(i1,i2,i3), dp) + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -12991,50 +12621,50 @@ module function mean_4_int8_dp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_dp select case(dim) case(1) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___) = res(i_,i__,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4) = res(i2,i3,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(2) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___) = res(i,i__,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4) = res(i1,i3,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(3) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___) = res(i,i_,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4) = res(i1,i2,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(4) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__) = res(i,i_,i__) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3) = res(i1,i2,i3) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -13052,70 +12682,70 @@ module function mean_5_int8_dp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_dp select case(dim) case(1) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5) = res(i2,i3,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(2) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____) = res(i,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5) = res(i1,i3,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(3) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____) = res(i,i_,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5) = res(i1,i2,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(4) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____) = res(i,i_,i__,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5) = res(i1,i2,i3,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(5) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___) = res(i,i_,i__,i___) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4) = res(i1,i2,i3,i4) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -13134,94 +12764,94 @@ module function mean_6_int8_dp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_dp select case(dim) case(1) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6) = res(i2,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(2) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6) = res(i1,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(3) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6) = res(i1,i2,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(4) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6) = res(i1,i2,i3,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(5) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6) = res(i1,i2,i3,i4,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(6) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5) = res(i1,i2,i3,i4,i5) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -13241,127 +12871,122 @@ module function mean_7_int8_dp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_dp select case(dim) case(1) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7) = res(i2,i3,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7) = res(i1,i3,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7) = res(i1,i2,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7) = res(i1,i2,i3,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______),& - & dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7) = res(i1,i2,i3,i4,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(6) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7) = res(i1,i2,i3,i4,i5,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6) = res(i1,i2,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -13382,162 +13007,154 @@ module function mean_8_int8_dp(x, dim) result(res) merge(size(x,6),size(x,7),mask = 6 < dim ), & merge(size(x,7),size(x,8),mask = 7 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i1,i2,i3,i4,i5,i6,i7,i8 res = 0.0_dp select case(dim) case(1) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8) = res(i2,i3,i4,i5,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8) = res(i1,i3,i4,i5,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8) = res(i1,i2,i4,i5,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8) = res(i1,i2,i3,i5,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8) = res(i1,i2,i3,i4,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(6) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8) = res(i1,i2,i3,i4,i5,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8) = res(i1,i2,i3,i4,i5,i6,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(8) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7) = res(i1,i2,i3,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -13559,199 +13176,190 @@ module function mean_9_int8_dp(x, dim) result(res) merge(size(x,7),size(x,8),mask = 7 < dim ), & merge(size(x,8),size(x,9),mask = 8 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9 res = 0.0_dp select case(dim) case(1) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& - & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9) = res(i2,i3,i4,i5,i6,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& - & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9) = res(i1,i3,i4,i5,i6,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9) = res(i1,i2,i4,i5,i6,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9) = res(i1,i2,i3,i5,i6,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9) = res(i1,i2,i3,i4,i6,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9) = res(i1,i2,i3,i4,i5,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9) = res(i1,i2,i3,i4,i5,i6,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9) = res(i1,i2,i3,i4,i5,i6,i7,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8) = res(i1,i2,i3,i4,i5,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -13774,240 +13382,240 @@ module function mean_10_int8_dp(x, dim) result(res) merge(size(x,8),size(x,9),mask = 8 < dim ), & merge(size(x,9),size(x,10),mask = 9 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10 res = 0.0_dp select case(dim) case(1) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& - &_,i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& - &i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& - &_______,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& - &_____,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& - &___,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& - &_,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& - &i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& - &________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& - &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& - &____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -14031,296 +13639,285 @@ module function mean_11_int8_dp(x, dim) result(res) merge(size(x,9),size(x,10),mask = 9 < dim ), & merge(size(x,10),size(x,11),mask = 10 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11 res = 0.0_dp select case(dim) case(1) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -14345,346 +13942,334 @@ module function mean_12_int8_dp(x, dim) result(res) merge(size(x,10),size(x,11),mask = 10 < dim ), & merge(size(x,11),size(x,12),mask = 11 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12 res = 0.0_dp select case(dim) case(1) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -14710,413 +14295,387 @@ module function mean_13_int8_dp(x, dim) result(res) merge(size(x,11),size(x,12),mask = 11 < dim ), & merge(size(x,12),size(x,13),mask = 12 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13 res = 0.0_dp select case(dim) case(1) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& - &) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -15143,473 +14702,444 @@ module function mean_14_int8_dp(x, dim) result(res) merge(size(x,12),size(x,13),mask = 12 < dim ), & merge(size(x,13),size(x,14),mask = 13 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14 res = 0.0_dp select case(dim) case(1) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& - &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& - &,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,& - &i__________,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& - &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& - &____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_& - &_________,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& - &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___& - &_______,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& - &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& - &_____,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& - &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& - &______,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& - &___,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& - &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_________& - &_,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& - &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& - &__,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,& - &i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& - &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& - &,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_& - &__________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& - &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& - &_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& - &________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& - &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& - &___________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& - &______,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14& + &) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& - &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& - &_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_______& - &____,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14& + &) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& - &_______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_________& - &__,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14& + &) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& - &_,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14& + &) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(14) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& - &,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13& + &) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -15637,539 +15167,520 @@ module function mean_15_int8_dp(x, dim) result(res) merge(size(x,13),size(x,14),mask = 13 < dim ), & merge(size(x,14),size(x,15),mask = 14 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__,i______________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15 res = 0.0_dp select case(dim) case(1) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& - &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& - &_____,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i__& - &____,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________& - &), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& - &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& - &___,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i____& - &__,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& - & dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& - &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& - &_,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______& - &,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& - & dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& - &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& - &i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i& - &_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& - &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& - &__________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i__& - &_____,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& - &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& - &________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i____& - &___,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& - &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& - &______,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i______& - &_,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& - &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& - &____,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,& - &i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& - &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& - &__,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_& - &_______,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& - &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& - &,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i___& - &_____,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& - &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& - &____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_____& - &___,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& - &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& - &__________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_______& - &_,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& - &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& - &________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,& - &i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(14) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& - &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& - &_______,i____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_& - &________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(15) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& - &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& - &______,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i___& - &______,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -16185,34 +15696,34 @@ module function mean_3_int16_dp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_dp select case(dim) case(1) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__) = res(i_,i__) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3) = res(i2,i3) + real(x(i1,i2,i3), dp) + end do end do - end do end do case(2) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__) = res(i,i__) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3) = res(i1,i3) + real(x(i1,i2,i3), dp) + end do end do - end do end do case(3) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_) = res(i,i_) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2) = res(i1,i2) + real(x(i1,i2,i3), dp) + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -16229,50 +15740,50 @@ module function mean_4_int16_dp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_dp select case(dim) case(1) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___) = res(i_,i__,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4) = res(i2,i3,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(2) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___) = res(i,i__,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4) = res(i1,i3,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(3) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___) = res(i,i_,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4) = res(i1,i2,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(4) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__) = res(i,i_,i__) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3) = res(i1,i2,i3) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -16290,70 +15801,70 @@ module function mean_5_int16_dp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_dp select case(dim) case(1) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5) = res(i2,i3,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(2) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____) = res(i,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5) = res(i1,i3,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(3) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____) = res(i,i_,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5) = res(i1,i2,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(4) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____) = res(i,i_,i__,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5) = res(i1,i2,i3,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(5) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___) = res(i,i_,i__,i___) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4) = res(i1,i2,i3,i4) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -16372,94 +15883,94 @@ module function mean_6_int16_dp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_dp select case(dim) case(1) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6) = res(i2,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(2) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6) = res(i1,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(3) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6) = res(i1,i2,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(4) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6) = res(i1,i2,i3,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(5) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6) = res(i1,i2,i3,i4,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(6) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5) = res(i1,i2,i3,i4,i5) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -16479,127 +15990,122 @@ module function mean_7_int16_dp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_dp select case(dim) case(1) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7) = res(i2,i3,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7) = res(i1,i3,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7) = res(i1,i2,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7) = res(i1,i2,i3,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______),& - & dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7) = res(i1,i2,i3,i4,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(6) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7) = res(i1,i2,i3,i4,i5,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6) = res(i1,i2,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -16620,162 +16126,154 @@ module function mean_8_int16_dp(x, dim) result(res) merge(size(x,6),size(x,7),mask = 6 < dim ), & merge(size(x,7),size(x,8),mask = 7 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i1,i2,i3,i4,i5,i6,i7,i8 res = 0.0_dp select case(dim) case(1) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8) = res(i2,i3,i4,i5,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8) = res(i1,i3,i4,i5,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8) = res(i1,i2,i4,i5,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8) = res(i1,i2,i3,i5,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8) = res(i1,i2,i3,i4,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(6) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8) = res(i1,i2,i3,i4,i5,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8) = res(i1,i2,i3,i4,i5,i6,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(8) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7) = res(i1,i2,i3,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -16797,199 +16295,190 @@ module function mean_9_int16_dp(x, dim) result(res) merge(size(x,7),size(x,8),mask = 7 < dim ), & merge(size(x,8),size(x,9),mask = 8 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9 res = 0.0_dp select case(dim) case(1) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& - & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9) = res(i2,i3,i4,i5,i6,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& - & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9) = res(i1,i3,i4,i5,i6,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9) = res(i1,i2,i4,i5,i6,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9) = res(i1,i2,i3,i5,i6,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9) = res(i1,i2,i3,i4,i6,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9) = res(i1,i2,i3,i4,i5,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9) = res(i1,i2,i3,i4,i5,i6,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9) = res(i1,i2,i3,i4,i5,i6,i7,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8) = res(i1,i2,i3,i4,i5,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -17012,240 +16501,240 @@ module function mean_10_int16_dp(x, dim) result(res) merge(size(x,8),size(x,9),mask = 8 < dim ), & merge(size(x,9),size(x,10),mask = 9 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10 res = 0.0_dp select case(dim) case(1) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& - &_,i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& - &i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& - &_______,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& - &_____,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& - &___,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& - &_,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& - &i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& - &________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& - &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& - &____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -17269,296 +16758,285 @@ module function mean_11_int16_dp(x, dim) result(res) merge(size(x,9),size(x,10),mask = 9 < dim ), & merge(size(x,10),size(x,11),mask = 10 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11 res = 0.0_dp select case(dim) case(1) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) - end do - end do + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -17583,346 +17061,334 @@ module function mean_12_int16_dp(x, dim) result(res) merge(size(x,10),size(x,11),mask = 10 < dim ), & merge(size(x,11),size(x,12),mask = 11 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12 res = 0.0_dp select case(dim) case(1) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -17948,413 +17414,387 @@ module function mean_13_int16_dp(x, dim) result(res) merge(size(x,11),size(x,12),mask = 11 < dim ), & merge(size(x,12),size(x,13),mask = 12 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13 res = 0.0_dp select case(dim) case(1) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& - &) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -18381,473 +17821,444 @@ module function mean_14_int16_dp(x, dim) result(res) merge(size(x,12),size(x,13),mask = 12 < dim ), & merge(size(x,13),size(x,14),mask = 13 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14 res = 0.0_dp select case(dim) case(1) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& - &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& - &,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,& - &i__________,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& - &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& - &____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_& - &_________,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& - &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___& - &_______,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& - &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& - &_____,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& - &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& - &______,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& - &___,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& - &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_________& - &_,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& - &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& - &__,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,& - &i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& - &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& - &,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_& - &__________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& - &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& - &_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& - &________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& - &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& - &___________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& - &______,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14& + &) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& - &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& - &_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_______& - &____,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14& + &) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& - &_______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_________& - &__,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14& + &) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& - &_,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14& + &) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(14) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& - &,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13& + &) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -18875,539 +18286,520 @@ module function mean_15_int16_dp(x, dim) result(res) merge(size(x,13),size(x,14),mask = 13 < dim ), & merge(size(x,14),size(x,15),mask = 14 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__,i______________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15 res = 0.0_dp select case(dim) case(1) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& - &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& - &_____,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i__& - &____,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________& - &), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& - &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& - &___,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i____& - &__,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& - & dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& - &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& - &_,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______& - &,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& - & dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& - &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& - &i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i& - &_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& - &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& - &__________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i__& - &_____,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& - &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& - &________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i____& - &___,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& - &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& - &______,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i______& - &_,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& - &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& - &____,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,& - &i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& - &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& - &__,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_& - &_______,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& - &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& - &,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i___& - &_____,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& - &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& - &____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_____& - &___,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& - &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& - &__________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_______& - &_,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& - &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& - &________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,& - &i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(14) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& - &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& - &_______,i____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_& - &________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(15) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& - &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& - &______,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i___& - &______,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -19423,34 +18815,34 @@ module function mean_3_int32_dp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_dp select case(dim) case(1) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__) = res(i_,i__) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3) = res(i2,i3) + real(x(i1,i2,i3), dp) + end do end do - end do end do case(2) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__) = res(i,i__) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3) = res(i1,i3) + real(x(i1,i2,i3), dp) + end do end do - end do end do case(3) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_) = res(i,i_) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2) = res(i1,i2) + real(x(i1,i2,i3), dp) + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -19467,50 +18859,50 @@ module function mean_4_int32_dp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_dp select case(dim) case(1) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___) = res(i_,i__,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4) = res(i2,i3,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(2) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___) = res(i,i__,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4) = res(i1,i3,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(3) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___) = res(i,i_,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4) = res(i1,i2,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(4) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__) = res(i,i_,i__) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3) = res(i1,i2,i3) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -19528,70 +18920,70 @@ module function mean_5_int32_dp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_dp select case(dim) case(1) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5) = res(i2,i3,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(2) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____) = res(i,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5) = res(i1,i3,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(3) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____) = res(i,i_,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5) = res(i1,i2,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(4) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____) = res(i,i_,i__,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5) = res(i1,i2,i3,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(5) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___) = res(i,i_,i__,i___) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4) = res(i1,i2,i3,i4) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -19610,94 +19002,94 @@ module function mean_6_int32_dp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_dp select case(dim) case(1) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6) = res(i2,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(2) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6) = res(i1,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(3) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6) = res(i1,i2,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(4) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6) = res(i1,i2,i3,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(5) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6) = res(i1,i2,i3,i4,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(6) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5) = res(i1,i2,i3,i4,i5) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -19717,127 +19109,122 @@ module function mean_7_int32_dp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_dp select case(dim) case(1) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7) = res(i2,i3,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7) = res(i1,i3,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7) = res(i1,i2,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7) = res(i1,i2,i3,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______),& - & dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7) = res(i1,i2,i3,i4,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(6) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7) = res(i1,i2,i3,i4,i5,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6) = res(i1,i2,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -19858,162 +19245,154 @@ module function mean_8_int32_dp(x, dim) result(res) merge(size(x,6),size(x,7),mask = 6 < dim ), & merge(size(x,7),size(x,8),mask = 7 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i1,i2,i3,i4,i5,i6,i7,i8 res = 0.0_dp select case(dim) case(1) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8) = res(i2,i3,i4,i5,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8) = res(i1,i3,i4,i5,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8) = res(i1,i2,i4,i5,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8) = res(i1,i2,i3,i5,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8) = res(i1,i2,i3,i4,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(6) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8) = res(i1,i2,i3,i4,i5,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8) = res(i1,i2,i3,i4,i5,i6,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(8) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7) = res(i1,i2,i3,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -20035,199 +19414,190 @@ module function mean_9_int32_dp(x, dim) result(res) merge(size(x,7),size(x,8),mask = 7 < dim ), & merge(size(x,8),size(x,9),mask = 8 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9 res = 0.0_dp select case(dim) case(1) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& - & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9) = res(i2,i3,i4,i5,i6,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& - & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9) = res(i1,i3,i4,i5,i6,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9) = res(i1,i2,i4,i5,i6,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9) = res(i1,i2,i3,i5,i6,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9) = res(i1,i2,i3,i4,i6,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9) = res(i1,i2,i3,i4,i5,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9) = res(i1,i2,i3,i4,i5,i6,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9) = res(i1,i2,i3,i4,i5,i6,i7,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8) = res(i1,i2,i3,i4,i5,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -20250,240 +19620,240 @@ module function mean_10_int32_dp(x, dim) result(res) merge(size(x,8),size(x,9),mask = 8 < dim ), & merge(size(x,9),size(x,10),mask = 9 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10 res = 0.0_dp select case(dim) case(1) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& - &_,i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& - &i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& - &_______,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& - &_____,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& - &___,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& - &_,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& - &i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& - &________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& - &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& - &____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -20507,296 +19877,285 @@ module function mean_11_int32_dp(x, dim) result(res) merge(size(x,9),size(x,10),mask = 9 < dim ), & merge(size(x,10),size(x,11),mask = 10 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11 res = 0.0_dp select case(dim) case(1) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -20821,346 +20180,334 @@ module function mean_12_int32_dp(x, dim) result(res) merge(size(x,10),size(x,11),mask = 10 < dim ), & merge(size(x,11),size(x,12),mask = 11 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12 res = 0.0_dp select case(dim) case(1) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -21186,413 +20533,387 @@ module function mean_13_int32_dp(x, dim) result(res) merge(size(x,11),size(x,12),mask = 11 < dim ), & merge(size(x,12),size(x,13),mask = 12 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13 res = 0.0_dp select case(dim) case(1) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& - &) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -21619,473 +20940,444 @@ module function mean_14_int32_dp(x, dim) result(res) merge(size(x,12),size(x,13),mask = 12 < dim ), & merge(size(x,13),size(x,14),mask = 13 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14 res = 0.0_dp select case(dim) case(1) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& - &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& - &,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,& - &i__________,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& - &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& - &____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_& - &_________,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& - &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___& - &_______,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& - &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& - &_____,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& - &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& - &______,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& - &___,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& - &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_________& - &_,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& - &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& - &__,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,& - &i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& - &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& - &,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_& - &__________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& - &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& - &_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& - &________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& - &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& - &___________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& - &______,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14& + &) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& - &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& - &_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_______& - &____,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14& + &) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& - &_______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_________& - &__,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14& + &) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& - &_,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14& + &) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(14) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& - &,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13& + &) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -22113,539 +21405,520 @@ module function mean_15_int32_dp(x, dim) result(res) merge(size(x,13),size(x,14),mask = 13 < dim ), & merge(size(x,14),size(x,15),mask = 14 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__,i______________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15 res = 0.0_dp select case(dim) case(1) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& - &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& - &_____,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i__& - &____,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________& - &), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& - &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& - &___,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i____& - &__,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& - & dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& - &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& - &_,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______& - &,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& - & dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& - &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& - &i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i& - &_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& - &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& - &__________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i__& - &_____,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& - &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& - &________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i____& - &___,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& - &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& - &______,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i______& - &_,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& - &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& - &____,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,& - &i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& - &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& - &__,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_& - &_______,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& - &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& - &,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i___& - &_____,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& - &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& - &____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_____& - &___,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& - &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& - &__________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_______& - &_,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& - &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& - &________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,& - &i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(14) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& - &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& - &_______,i____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_& - &________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(15) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& - &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& - &______,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i___& - &______,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -22661,34 +21934,34 @@ module function mean_3_int64_dp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_dp select case(dim) case(1) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__) = res(i_,i__) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3) = res(i2,i3) + real(x(i1,i2,i3), dp) + end do end do - end do end do case(2) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__) = res(i,i__) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3) = res(i1,i3) + real(x(i1,i2,i3), dp) + end do end do - end do end do case(3) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_) = res(i,i_) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2) = res(i1,i2) + real(x(i1,i2,i3), dp) + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -22705,50 +21978,50 @@ module function mean_4_int64_dp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_dp select case(dim) case(1) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___) = res(i_,i__,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4) = res(i2,i3,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(2) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___) = res(i,i__,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4) = res(i1,i3,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(3) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___) = res(i,i_,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4) = res(i1,i2,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(4) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__) = res(i,i_,i__) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3) = res(i1,i2,i3) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -22766,70 +22039,70 @@ module function mean_5_int64_dp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_dp select case(dim) case(1) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5) = res(i2,i3,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(2) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____) = res(i,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5) = res(i1,i3,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(3) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____) = res(i,i_,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5) = res(i1,i2,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(4) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____) = res(i,i_,i__,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5) = res(i1,i2,i3,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(5) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___) = res(i,i_,i__,i___) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4) = res(i1,i2,i3,i4) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -22848,94 +22121,94 @@ module function mean_6_int64_dp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_dp select case(dim) case(1) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6) = res(i2,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(2) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6) = res(i1,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(3) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6) = res(i1,i2,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(4) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6) = res(i1,i2,i3,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(5) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6) = res(i1,i2,i3,i4,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(6) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5) = res(i1,i2,i3,i4,i5) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -22955,127 +22228,122 @@ module function mean_7_int64_dp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_dp select case(dim) case(1) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7) = res(i2,i3,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7) = res(i1,i3,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7) = res(i1,i2,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7) = res(i1,i2,i3,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______),& - & dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7) = res(i1,i2,i3,i4,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(6) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7) = res(i1,i2,i3,i4,i5,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6) = res(i1,i2,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -23096,162 +22364,154 @@ module function mean_8_int64_dp(x, dim) result(res) merge(size(x,6),size(x,7),mask = 6 < dim ), & merge(size(x,7),size(x,8),mask = 7 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i1,i2,i3,i4,i5,i6,i7,i8 res = 0.0_dp select case(dim) case(1) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8) = res(i2,i3,i4,i5,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8) = res(i1,i3,i4,i5,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8) = res(i1,i2,i4,i5,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8) = res(i1,i2,i3,i5,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8) = res(i1,i2,i3,i4,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(6) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8) = res(i1,i2,i3,i4,i5,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8) = res(i1,i2,i3,i4,i5,i6,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case(8) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) - end do + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7) = res(i1,i2,i3,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7,i8), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -23273,199 +22533,190 @@ module function mean_9_int64_dp(x, dim) result(res) merge(size(x,7),size(x,8),mask = 7 < dim ), & merge(size(x,8),size(x,9),mask = 8 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9 res = 0.0_dp select case(dim) case(1) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& - & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9) = res(i2,i3,i4,i5,i6,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& - & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9) = res(i1,i3,i4,i5,i6,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9) = res(i1,i2,i4,i5,i6,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9) = res(i1,i2,i3,i5,i6,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9) = res(i1,i2,i3,i4,i6,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9) = res(i1,i2,i3,i4,i5,i7,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9) = res(i1,i2,i3,i4,i5,i6,i8,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9) = res(i1,i2,i3,i4,i5,i6,i7,i9) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8) = res(i1,i2,i3,i4,i5,i6,i7,i8) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9), dp) + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -23488,240 +22739,240 @@ module function mean_10_int64_dp(x, dim) result(res) merge(size(x,8),size(x,9),mask = 8 < dim ), & merge(size(x,9),size(x,10),mask = 9 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10 res = 0.0_dp select case(dim) case(1) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& - &_,i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& - &i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& - &_______,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& - &_____,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& - &___,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& - &_,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& - &i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& - &________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& - &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& - &____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) - end do + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -23745,296 +22996,285 @@ module function mean_11_int64_dp(x, dim) result(res) merge(size(x,9),size(x,10),mask = 9 < dim ), & merge(size(x,10),size(x,11),mask = 10 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11 res = 0.0_dp select case(dim) case(1) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11), dp) + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -24059,346 +23299,334 @@ module function mean_12_int64_dp(x, dim) result(res) merge(size(x,10),size(x,11),mask = 10 < dim ), & merge(size(x,11),size(x,12),mask = 11 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12 res = 0.0_dp select case(dim) case(1) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) - end do + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -24424,413 +23652,387 @@ module function mean_13_int64_dp(x, dim) result(res) merge(size(x,11),size(x,12),mask = 11 < dim ), & merge(size(x,12),size(x,13),mask = 12 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13 res = 0.0_dp select case(dim) case(1) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& - &) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& - & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____), dp) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12) +& + & real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13), dp) + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -24857,473 +24059,444 @@ module function mean_14_int64_dp(x, dim) result(res) merge(size(x,12),size(x,13),mask = 12 < dim ), & merge(size(x,13),size(x,14),mask = 13 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14 res = 0.0_dp select case(dim) case(1) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& - &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& - &,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,& - &i__________,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& - &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& - &____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_& - &_________,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& - &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___& - &_______,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& - &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& - &_____,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& - &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& - &______,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& - &___,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& - &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_________& - &_,i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& - &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& - &__,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,& - &i___________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& - &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& - &,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_& - &__________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& - &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& - &_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& - &________,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i& + &14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& - &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& - &___________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& - &______,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14& + &) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& - &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& - &_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_______& - &____,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14& + &) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& - &_______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_________& - &__,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14& + &) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& - &_,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14& + &) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(14) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& - & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& - &,i____________,i_____________), dp) - end do + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) = res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13& + &) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -25351,539 +24524,520 @@ module function mean_15_int64_dp(x, dim) result(res) merge(size(x,13),size(x,14),mask = 13 < dim ), & merge(size(x,14),size(x,15),mask = 14 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__,i______________ + integer :: i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15 res = 0.0_dp select case(dim) case(1) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& - &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& - &_____,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i__& - &____,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________& - &), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(2) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& - &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& - &___,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i____& - &__,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& - & dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(3) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& - &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& - &_,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______& - &,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& - & dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(4) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& - &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& - &i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i& - &_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(5) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& - &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& - &__________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i__& - &_____,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(6) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& - &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& - &________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i____& - &___,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i7,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(7) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& - &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& - &______,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i______& - &_,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i8,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(8) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& - &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& - &____,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,& - &i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i9,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(9) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& - &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& - &__,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_& - &_______,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i10,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9& + &,i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(10) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& - &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& - &,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i___& - &_____,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(11) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& - &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& - &____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_____& - &___,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i12,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(12) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& - &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& - &__________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_______& - &_,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i13,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(13) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& - &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& - &________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,& - &i_________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i14,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(14) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& - &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& - &_______,i____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_& - &________,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i15) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i15) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case(15) - do i______________ = 1, size(x, 15) - do i_____________ = 1, size(x, 14) - do i____________ = 1, size(x, 13) - do i___________ = 1, size(x, 12) - do i__________ = 1, size(x, 11) - do i_________ = 1, size(x, 10) - do i________ = 1, size(x, 9) - do i_______ = 1, size(x, 8) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& - &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& - &______,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i___& - &______,i__________,i___________,i____________,i_____________,i______________), dp) + do i15 = 1, size(x, 15) + do i14 = 1, size(x, 14) + do i13 = 1, size(x, 13) + do i12 = 1, size(x, 12) + do i11 = 1, size(x, 11) + do i10 = 1, size(x, 10) + do i9 = 1, size(x, 9) + do i8 = 1, size(x, 8) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) =& + & res(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14) + real(x(i1,i2,i3,i4,i5,i6,i7,i8,i9,& + &i10,i11,i12,i13,i14,i15), dp) + end do + end do + end do + end do + end do + end do + end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") diff --git a/src/f90_stdlib_experimental_stats_mean.f90 b/src/f90_stdlib_experimental_stats_mean.f90 index fbaa6e4fe..7d69d5d5e 100644 --- a/src/f90_stdlib_experimental_stats_mean.f90 +++ b/src/f90_stdlib_experimental_stats_mean.f90 @@ -10,11 +10,11 @@ module function mean_1_sp_sp(x) result(res) real(sp), intent(in) :: x(:) real(sp) :: res - integer :: i + integer :: i1 res = 0.0_sp - do i = 1, size(x) - res = res + x(i) + do i1 = 1, size(x) + res = res + x(i1) end do res = res / real(size(x), sp) @@ -23,11 +23,11 @@ module function mean_1_dp_dp(x) result(res) real(dp), intent(in) :: x(:) real(dp) :: res - integer :: i + integer :: i1 res = 0.0_dp - do i = 1, size(x) - res = res + x(i) + do i1 = 1, size(x) + res = res + x(i1) end do res = res / real(size(x), dp) @@ -36,11 +36,11 @@ module function mean_1_qp_qp(x) result(res) real(qp), intent(in) :: x(:) real(qp) :: res - integer :: i + integer :: i1 res = 0.0_qp - do i = 1, size(x) - res = res + x(i) + do i1 = 1, size(x) + res = res + x(i1) end do res = res / real(size(x), qp) @@ -50,11 +50,11 @@ module function mean_1_int8_dp(x) result(res) integer(int8), intent(in) :: x(:) real(dp) :: res - integer :: i + integer :: i1 res = 0.0_dp - do i = 1, size(x) - res = res + real(x(i), dp) + do i1 = 1, size(x) + res = res + real(x(i1), dp) end do res = res / real(size(x), dp) @@ -63,11 +63,11 @@ module function mean_1_int16_dp(x) result(res) integer(int16), intent(in) :: x(:) real(dp) :: res - integer :: i + integer :: i1 res = 0.0_dp - do i = 1, size(x) - res = res + real(x(i), dp) + do i1 = 1, size(x) + res = res + real(x(i1), dp) end do res = res / real(size(x), dp) @@ -76,11 +76,11 @@ module function mean_1_int32_dp(x) result(res) integer(int32), intent(in) :: x(:) real(dp) :: res - integer :: i + integer :: i1 res = 0.0_dp - do i = 1, size(x) - res = res + real(x(i), dp) + do i1 = 1, size(x) + res = res + real(x(i1), dp) end do res = res / real(size(x), dp) @@ -89,11 +89,11 @@ module function mean_1_int64_dp(x) result(res) integer(int64), intent(in) :: x(:) real(dp) :: res - integer :: i + integer :: i1 res = 0.0_dp - do i = 1, size(x) - res = res + real(x(i), dp) + do i1 = 1, size(x) + res = res + real(x(i1), dp) end do res = res / real(size(x), dp) @@ -104,12 +104,12 @@ module function mean_2_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:) real(sp) :: res - integer :: i, i_ + integer :: i1, i2 res = 0.0_sp - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1, i2) end do end do res = res / real(size(x), sp) @@ -119,12 +119,12 @@ module function mean_2_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:) real(dp) :: res - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1, i2) end do end do res = res / real(size(x), dp) @@ -134,12 +134,12 @@ module function mean_2_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:) real(qp) :: res - integer :: i, i_ + integer :: i1, i2 res = 0.0_qp - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1, i2) end do end do res = res / real(size(x), qp) @@ -150,12 +150,12 @@ module function mean_2_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:) real(dp) :: res - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1, i2), dp) end do end do res = res / real(size(x), dp) @@ -165,12 +165,12 @@ module function mean_2_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:) real(dp) :: res - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1, i2), dp) end do end do res = res / real(size(x), dp) @@ -180,12 +180,12 @@ module function mean_2_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:) real(dp) :: res - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1, i2), dp) end do end do res = res / real(size(x), dp) @@ -195,12 +195,12 @@ module function mean_2_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:) real(dp) :: res - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1, i2), dp) end do end do res = res / real(size(x), dp) @@ -212,21 +212,21 @@ module function mean_2_sp_sp(x, dim) result(res) integer, intent(in) :: dim real(sp) :: res(size(x)/size(x, dim)) - integer :: i, i_ + integer :: i1, i2 res = 0.0_sp select case(dim) case(1) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_) = res(i_) + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2) = res(i2) + x(i1, i2) end do end do case(2) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i) = res(i) + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1) = res(i1) + x(i1, i2) end do end do case default @@ -241,21 +241,21 @@ module function mean_2_dp_dp(x, dim) result(res) integer, intent(in) :: dim real(dp) :: res(size(x)/size(x, dim)) - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp select case(dim) case(1) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_) = res(i_) + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2) = res(i2) + x(i1, i2) end do end do case(2) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i) = res(i) + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1) = res(i1) + x(i1, i2) end do end do case default @@ -270,21 +270,21 @@ module function mean_2_qp_qp(x, dim) result(res) integer, intent(in) :: dim real(qp) :: res(size(x)/size(x, dim)) - integer :: i, i_ + integer :: i1, i2 res = 0.0_qp select case(dim) case(1) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_) = res(i_) + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2) = res(i2) + x(i1, i2) end do end do case(2) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i) = res(i) + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1) = res(i1) + x(i1, i2) end do end do case default @@ -300,21 +300,21 @@ module function mean_2_int8_dp(x, dim) result(res) integer, intent(in) :: dim real(dp) :: res(size(x)/size(x, dim)) - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp select case(dim) case(1) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_) = res(i_) + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2) = res(i2) + real(x(i1, i2), dp) end do end do case(2) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i) = res(i) + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1) = res(i1) + real(x(i1, i2), dp) end do end do case default @@ -329,21 +329,21 @@ module function mean_2_int16_dp(x, dim) result(res) integer, intent(in) :: dim real(dp) :: res(size(x)/size(x, dim)) - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp select case(dim) case(1) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_) = res(i_) + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2) = res(i2) + real(x(i1, i2), dp) end do end do case(2) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i) = res(i) + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1) = res(i1) + real(x(i1, i2), dp) end do end do case default @@ -358,21 +358,21 @@ module function mean_2_int32_dp(x, dim) result(res) integer, intent(in) :: dim real(dp) :: res(size(x)/size(x, dim)) - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp select case(dim) case(1) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_) = res(i_) + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2) = res(i2) + real(x(i1, i2), dp) end do end do case(2) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i) = res(i) + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1) = res(i1) + real(x(i1, i2), dp) end do end do case default @@ -387,21 +387,21 @@ module function mean_2_int64_dp(x, dim) result(res) integer, intent(in) :: dim real(dp) :: res(size(x)/size(x, dim)) - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp select case(dim) case(1) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_) = res(i_) + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2) = res(i2) + real(x(i1, i2), dp) end do end do case(2) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i) = res(i) + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1) = res(i1) + real(x(i1, i2), dp) end do end do case default @@ -414,6 +414,7 @@ end function mean_2_int64_dp +!As proposed by @arady @@ -422,16 +423,16 @@ module function mean_3_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:) real(sp) :: res - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_sp - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3) + end do end do - end do end do res = res / real(size(x), sp) @@ -441,18 +442,18 @@ module function mean_4_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:) real(sp) :: res - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_sp - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4) + end do + end do end do - end do end do res = res / real(size(x), sp) @@ -462,20 +463,20 @@ module function mean_5_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:) real(sp) :: res - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_sp - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do res = res / real(size(x), sp) @@ -485,22 +486,22 @@ module function mean_6_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:) real(sp) :: res - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_sp - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do res = res / real(size(x), sp) @@ -510,24 +511,24 @@ module function mean_7_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:) real(sp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_sp - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), sp) @@ -537,16 +538,16 @@ module function mean_3_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:) real(dp) :: res - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_dp - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3) + end do end do - end do end do res = res / real(size(x), dp) @@ -556,18 +557,18 @@ module function mean_4_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_dp - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4) + end do + end do end do - end do end do res = res / real(size(x), dp) @@ -577,20 +578,20 @@ module function mean_5_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_dp - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -600,22 +601,22 @@ module function mean_6_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_dp - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -625,24 +626,24 @@ module function mean_7_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_dp - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -652,16 +653,16 @@ module function mean_3_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:) real(qp) :: res - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_qp - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3) + end do end do - end do end do res = res / real(size(x), qp) @@ -671,18 +672,18 @@ module function mean_4_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:) real(qp) :: res - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_qp - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4) + end do + end do end do - end do end do res = res / real(size(x), qp) @@ -692,20 +693,20 @@ module function mean_5_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:) real(qp) :: res - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_qp - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do res = res / real(size(x), qp) @@ -715,22 +716,22 @@ module function mean_6_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:) real(qp) :: res - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_qp - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do res = res / real(size(x), qp) @@ -740,24 +741,24 @@ module function mean_7_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:) real(qp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_qp - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), qp) @@ -768,16 +769,16 @@ module function mean_3_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:) real(dp) :: res - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_dp - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3), dp) + end do end do - end do end do res = res / real(size(x), dp) @@ -787,18 +788,18 @@ module function mean_4_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_dp - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do res = res / real(size(x), dp) @@ -808,20 +809,20 @@ module function mean_5_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_dp - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -831,22 +832,22 @@ module function mean_6_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_dp - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -856,24 +857,24 @@ module function mean_7_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_dp - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -883,16 +884,16 @@ module function mean_3_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:) real(dp) :: res - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_dp - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3), dp) + end do end do - end do end do res = res / real(size(x), dp) @@ -902,18 +903,18 @@ module function mean_4_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_dp - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do res = res / real(size(x), dp) @@ -923,20 +924,20 @@ module function mean_5_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_dp - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -946,22 +947,22 @@ module function mean_6_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_dp - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -971,24 +972,24 @@ module function mean_7_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_dp - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -998,16 +999,16 @@ module function mean_3_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:) real(dp) :: res - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_dp - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3), dp) + end do end do - end do end do res = res / real(size(x), dp) @@ -1017,18 +1018,18 @@ module function mean_4_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_dp - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do res = res / real(size(x), dp) @@ -1038,20 +1039,20 @@ module function mean_5_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_dp - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1061,22 +1062,22 @@ module function mean_6_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_dp - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1086,24 +1087,24 @@ module function mean_7_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_dp - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1113,16 +1114,16 @@ module function mean_3_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:) real(dp) :: res - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_dp - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3), dp) + end do end do - end do end do res = res / real(size(x), dp) @@ -1132,18 +1133,18 @@ module function mean_4_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_dp - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do res = res / real(size(x), dp) @@ -1153,20 +1154,20 @@ module function mean_5_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_dp - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1176,22 +1177,22 @@ module function mean_6_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_dp - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1201,24 +1202,24 @@ module function mean_7_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:) real(dp) :: res - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_dp - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do res = res / real(size(x), dp) @@ -1232,34 +1233,34 @@ module function mean_3_sp_sp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_sp select case(dim) case(1) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__) = res(i_,i__) + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3) = res(i2,i3) + x(i1,i2,i3) + end do end do - end do end do case(2) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__) = res(i,i__) + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3) = res(i1,i3) + x(i1,i2,i3) + end do end do - end do end do case(3) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_) = res(i,i_) + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2) = res(i1,i2) + x(i1,i2,i3) + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -1276,50 +1277,50 @@ module function mean_4_sp_sp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_sp select case(dim) case(1) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___) = res(i_,i__,i___) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4) = res(i2,i3,i4) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case(2) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___) = res(i,i__,i___) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4) = res(i1,i3,i4) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case(3) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___) = res(i,i_,i___) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4) = res(i1,i2,i4) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case(4) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__) = res(i,i_,i__) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3) = res(i1,i2,i3) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -1337,70 +1338,70 @@ module function mean_5_sp_sp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_sp select case(dim) case(1) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5) = res(i2,i3,i4,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(2) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____) = res(i,i__,i___,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5) = res(i1,i3,i4,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(3) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____) = res(i,i_,i___,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5) = res(i1,i2,i4,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(4) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____) = res(i,i_,i__,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5) = res(i1,i2,i3,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(5) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___) = res(i,i_,i__,i___) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4) = res(i1,i2,i3,i4) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -1419,94 +1420,94 @@ module function mean_6_sp_sp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_sp select case(dim) case(1) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6) = res(i2,i3,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(2) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6) = res(i1,i3,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(3) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6) = res(i1,i2,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(4) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6) = res(i1,i2,i3,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(5) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6) = res(i1,i2,i3,i4,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(6) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5) = res(i1,i2,i3,i4,i5) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -1526,122 +1527,122 @@ module function mean_7_sp_sp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_sp select case(dim) case(1) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7) = res(i2,i3,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7) = res(i1,i3,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7) = res(i1,i2,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7) = res(i1,i2,i3,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7) = res(i1,i2,i3,i4,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(6) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7) = res(i1,i2,i3,i4,i5,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6) = res(i1,i2,i3,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -1657,34 +1658,34 @@ module function mean_3_dp_dp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_dp select case(dim) case(1) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__) = res(i_,i__) + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3) = res(i2,i3) + x(i1,i2,i3) + end do end do - end do end do case(2) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__) = res(i,i__) + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3) = res(i1,i3) + x(i1,i2,i3) + end do end do - end do end do case(3) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_) = res(i,i_) + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2) = res(i1,i2) + x(i1,i2,i3) + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -1701,50 +1702,50 @@ module function mean_4_dp_dp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_dp select case(dim) case(1) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___) = res(i_,i__,i___) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4) = res(i2,i3,i4) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case(2) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___) = res(i,i__,i___) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4) = res(i1,i3,i4) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case(3) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___) = res(i,i_,i___) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4) = res(i1,i2,i4) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case(4) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__) = res(i,i_,i__) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3) = res(i1,i2,i3) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -1762,70 +1763,70 @@ module function mean_5_dp_dp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_dp select case(dim) case(1) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5) = res(i2,i3,i4,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(2) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____) = res(i,i__,i___,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5) = res(i1,i3,i4,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(3) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____) = res(i,i_,i___,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5) = res(i1,i2,i4,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(4) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____) = res(i,i_,i__,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5) = res(i1,i2,i3,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(5) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___) = res(i,i_,i__,i___) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4) = res(i1,i2,i3,i4) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -1844,94 +1845,94 @@ module function mean_6_dp_dp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_dp select case(dim) case(1) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6) = res(i2,i3,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(2) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6) = res(i1,i3,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(3) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6) = res(i1,i2,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(4) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6) = res(i1,i2,i3,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(5) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6) = res(i1,i2,i3,i4,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(6) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5) = res(i1,i2,i3,i4,i5) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -1951,122 +1952,122 @@ module function mean_7_dp_dp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_dp select case(dim) case(1) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7) = res(i2,i3,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7) = res(i1,i3,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7) = res(i1,i2,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7) = res(i1,i2,i3,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7) = res(i1,i2,i3,i4,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(6) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7) = res(i1,i2,i3,i4,i5,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6) = res(i1,i2,i3,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -2082,34 +2083,34 @@ module function mean_3_qp_qp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_qp select case(dim) case(1) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__) = res(i_,i__) + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3) = res(i2,i3) + x(i1,i2,i3) + end do end do - end do end do case(2) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__) = res(i,i__) + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3) = res(i1,i3) + x(i1,i2,i3) + end do end do - end do end do case(3) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_) = res(i,i_) + x(i,i_,i__) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2) = res(i1,i2) + x(i1,i2,i3) + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -2126,50 +2127,50 @@ module function mean_4_qp_qp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_qp select case(dim) case(1) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___) = res(i_,i__,i___) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4) = res(i2,i3,i4) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case(2) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___) = res(i,i__,i___) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4) = res(i1,i3,i4) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case(3) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___) = res(i,i_,i___) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4) = res(i1,i2,i4) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case(4) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__) = res(i,i_,i__) + x(i,i_,i__,i___) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3) = res(i1,i2,i3) + x(i1,i2,i3,i4) + end do + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -2187,70 +2188,70 @@ module function mean_5_qp_qp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_qp select case(dim) case(1) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5) = res(i2,i3,i4,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(2) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____) = res(i,i__,i___,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5) = res(i1,i3,i4,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(3) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____) = res(i,i_,i___,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5) = res(i1,i2,i4,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(4) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____) = res(i,i_,i__,i____) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5) = res(i1,i2,i3,i5) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case(5) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___) = res(i,i_,i__,i___) + x(i,i_,i__,i___,i____) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4) = res(i1,i2,i3,i4) + x(i1,i2,i3,i4,i5) + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -2269,94 +2270,94 @@ module function mean_6_qp_qp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_qp select case(dim) case(1) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6) = res(i2,i3,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(2) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6) = res(i1,i3,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(3) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6) = res(i1,i2,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(4) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6) = res(i1,i2,i3,i5,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(5) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6) = res(i1,i2,i3,i4,i6) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case(6) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + x(i,i_,i__,i___,i____,i_____) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5) = res(i1,i2,i3,i4,i5) + x(i1,i2,i3,i4,i5,i6) + end do + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -2376,122 +2377,122 @@ module function mean_7_qp_qp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_qp select case(dim) case(1) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7) = res(i2,i3,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7) = res(i1,i3,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7) = res(i1,i2,i4,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7) = res(i1,i2,i3,i5,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7) = res(i1,i2,i3,i4,i6,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(6) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7) = res(i1,i2,i3,i4,i5,i7) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____,i______) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6) = res(i1,i2,i3,i4,i5,i6) + x(i1,i2,i3,i4,i5,i6,i7) + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -2508,34 +2509,34 @@ module function mean_3_int8_dp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_dp select case(dim) case(1) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__) = res(i_,i__) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3) = res(i2,i3) + real(x(i1,i2,i3), dp) + end do end do - end do end do case(2) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__) = res(i,i__) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3) = res(i1,i3) + real(x(i1,i2,i3), dp) + end do end do - end do end do case(3) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_) = res(i,i_) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2) = res(i1,i2) + real(x(i1,i2,i3), dp) + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -2552,50 +2553,50 @@ module function mean_4_int8_dp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_dp select case(dim) case(1) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___) = res(i_,i__,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4) = res(i2,i3,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(2) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___) = res(i,i__,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4) = res(i1,i3,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(3) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___) = res(i,i_,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4) = res(i1,i2,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(4) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__) = res(i,i_,i__) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3) = res(i1,i2,i3) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -2613,70 +2614,70 @@ module function mean_5_int8_dp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_dp select case(dim) case(1) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5) = res(i2,i3,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(2) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____) = res(i,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5) = res(i1,i3,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(3) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____) = res(i,i_,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5) = res(i1,i2,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(4) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____) = res(i,i_,i__,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5) = res(i1,i2,i3,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(5) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___) = res(i,i_,i__,i___) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4) = res(i1,i2,i3,i4) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -2695,94 +2696,94 @@ module function mean_6_int8_dp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_dp select case(dim) case(1) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6) = res(i2,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(2) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6) = res(i1,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(3) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6) = res(i1,i2,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(4) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6) = res(i1,i2,i3,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(5) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6) = res(i1,i2,i3,i4,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(6) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5) = res(i1,i2,i3,i4,i5) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -2802,127 +2803,122 @@ module function mean_7_int8_dp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_dp select case(dim) case(1) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7) = res(i2,i3,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7) = res(i1,i3,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7) = res(i1,i2,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7) = res(i1,i2,i3,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______),& - & dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7) = res(i1,i2,i3,i4,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(6) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7) = res(i1,i2,i3,i4,i5,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6) = res(i1,i2,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -2938,34 +2934,34 @@ module function mean_3_int16_dp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_dp select case(dim) case(1) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__) = res(i_,i__) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3) = res(i2,i3) + real(x(i1,i2,i3), dp) + end do end do - end do end do case(2) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__) = res(i,i__) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3) = res(i1,i3) + real(x(i1,i2,i3), dp) + end do end do - end do end do case(3) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_) = res(i,i_) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2) = res(i1,i2) + real(x(i1,i2,i3), dp) + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -2982,50 +2978,50 @@ module function mean_4_int16_dp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_dp select case(dim) case(1) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___) = res(i_,i__,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4) = res(i2,i3,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(2) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___) = res(i,i__,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4) = res(i1,i3,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(3) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___) = res(i,i_,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4) = res(i1,i2,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(4) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__) = res(i,i_,i__) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3) = res(i1,i2,i3) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -3043,70 +3039,70 @@ module function mean_5_int16_dp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_dp select case(dim) case(1) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5) = res(i2,i3,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(2) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____) = res(i,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5) = res(i1,i3,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(3) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____) = res(i,i_,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5) = res(i1,i2,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(4) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____) = res(i,i_,i__,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5) = res(i1,i2,i3,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(5) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___) = res(i,i_,i__,i___) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4) = res(i1,i2,i3,i4) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -3125,94 +3121,94 @@ module function mean_6_int16_dp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_dp select case(dim) case(1) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6) = res(i2,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(2) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6) = res(i1,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(3) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6) = res(i1,i2,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(4) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6) = res(i1,i2,i3,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(5) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6) = res(i1,i2,i3,i4,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(6) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5) = res(i1,i2,i3,i4,i5) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -3232,127 +3228,122 @@ module function mean_7_int16_dp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_dp select case(dim) case(1) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7) = res(i2,i3,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7) = res(i1,i3,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7) = res(i1,i2,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7) = res(i1,i2,i3,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______),& - & dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7) = res(i1,i2,i3,i4,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(6) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7) = res(i1,i2,i3,i4,i5,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6) = res(i1,i2,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -3368,34 +3359,34 @@ module function mean_3_int32_dp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_dp select case(dim) case(1) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__) = res(i_,i__) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3) = res(i2,i3) + real(x(i1,i2,i3), dp) + end do end do - end do end do case(2) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__) = res(i,i__) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3) = res(i1,i3) + real(x(i1,i2,i3), dp) + end do end do - end do end do case(3) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_) = res(i,i_) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2) = res(i1,i2) + real(x(i1,i2,i3), dp) + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -3412,50 +3403,50 @@ module function mean_4_int32_dp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_dp select case(dim) case(1) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___) = res(i_,i__,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4) = res(i2,i3,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(2) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___) = res(i,i__,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4) = res(i1,i3,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(3) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___) = res(i,i_,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4) = res(i1,i2,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(4) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__) = res(i,i_,i__) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3) = res(i1,i2,i3) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -3473,70 +3464,70 @@ module function mean_5_int32_dp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_dp select case(dim) case(1) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5) = res(i2,i3,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(2) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____) = res(i,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5) = res(i1,i3,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(3) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____) = res(i,i_,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5) = res(i1,i2,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(4) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____) = res(i,i_,i__,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5) = res(i1,i2,i3,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(5) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___) = res(i,i_,i__,i___) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4) = res(i1,i2,i3,i4) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -3555,94 +3546,94 @@ module function mean_6_int32_dp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_dp select case(dim) case(1) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6) = res(i2,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(2) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6) = res(i1,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(3) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6) = res(i1,i2,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(4) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6) = res(i1,i2,i3,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(5) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6) = res(i1,i2,i3,i4,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(6) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5) = res(i1,i2,i3,i4,i5) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -3662,127 +3653,122 @@ module function mean_7_int32_dp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_dp select case(dim) case(1) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7) = res(i2,i3,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7) = res(i1,i3,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7) = res(i1,i2,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7) = res(i1,i2,i3,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______),& - & dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7) = res(i1,i2,i3,i4,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(6) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7) = res(i1,i2,i3,i4,i5,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6) = res(i1,i2,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -3798,34 +3784,34 @@ module function mean_3_int64_dp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_,i__ + integer :: i1,i2,i3 res = 0.0_dp select case(dim) case(1) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__) = res(i_,i__) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3) = res(i2,i3) + real(x(i1,i2,i3), dp) + end do end do - end do end do case(2) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__) = res(i,i__) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3) = res(i1,i3) + real(x(i1,i2,i3), dp) + end do end do - end do end do case(3) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_) = res(i,i_) + real(x(i,i_,i__), dp) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2) = res(i1,i2) + real(x(i1,i2,i3), dp) + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -3842,50 +3828,50 @@ module function mean_4_int64_dp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i1,i2,i3,i4 res = 0.0_dp select case(dim) case(1) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___) = res(i_,i__,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4) = res(i2,i3,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(2) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___) = res(i,i__,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4) = res(i1,i3,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(3) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___) = res(i,i_,i___) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4) = res(i1,i2,i4) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case(4) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__) = res(i,i_,i__) + real(x(i,i_,i__,i___), dp) - end do + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3) = res(i1,i2,i3) + real(x(i1,i2,i3,i4), dp) + end do + end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -3903,70 +3889,70 @@ module function mean_5_int64_dp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i1,i2,i3,i4,i5 res = 0.0_dp select case(dim) case(1) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5) = res(i2,i3,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(2) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____) = res(i,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5) = res(i1,i3,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(3) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____) = res(i,i_,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5) = res(i1,i2,i4,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(4) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____) = res(i,i_,i__,i____) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5) = res(i1,i2,i3,i5) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case(5) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___) = res(i,i_,i__,i___) + real(x(i,i_,i__,i___,i____), dp) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4) = res(i1,i2,i3,i4) + real(x(i1,i2,i3,i4,i5), dp) + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -3985,94 +3971,94 @@ module function mean_6_int64_dp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i1,i2,i3,i4,i5,i6 res = 0.0_dp select case(dim) case(1) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6) = res(i2,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(2) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6) = res(i1,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(3) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6) = res(i1,i2,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(4) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6) = res(i1,i2,i3,i5,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(5) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6) = res(i1,i2,i3,i4,i6) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case(6) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____,i_____), dp) - end do + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5) = res(i1,i2,i3,i4,i5) + real(x(i1,i2,i3,i4,i5,i6), dp) + end do + end do + end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") @@ -4092,127 +4078,122 @@ module function mean_7_int64_dp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i1,i2,i3,i4,i5,i6,i7 res = 0.0_dp select case(dim) case(1) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2,i3,i4,i5,i6,i7) = res(i2,i3,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(2) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i3,i4,i5,i6,i7) = res(i1,i3,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(3) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i4,i5,i6,i7) = res(i1,i2,i4,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(4) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) +& - & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i5,i6,i7) = res(i1,i2,i3,i5,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(5) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______),& - & dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i6,i7) = res(i1,i2,i3,i4,i6,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(6) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i7) = res(i1,i2,i3,i4,i5,i7) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case(7) - do i______ = 1, size(x, 7) - do i_____ = 1, size(x, 6) - do i____ = 1, size(x, 5) - do i___ = 1, size(x, 4) - do i__ = 1, size(x, 3) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + do i7 = 1, size(x, 7) + do i6 = 1, size(x, 6) + do i5 = 1, size(x, 5) + do i4 = 1, size(x, 4) + do i3 = 1, size(x, 3) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1,i2,i3,i4,i5,i6) = res(i1,i2,i3,i4,i5,i6) + real(x(i1,i2,i3,i4,i5,i6,i7), dp) + end do + end do + end do end do - end do end do - end do end do - end do end do case default call error_stop("ERROR (mean): wrong dimension") diff --git a/src/stdlib_experimental_stats_mean.fypp b/src/stdlib_experimental_stats_mean.fypp index 6c731d655..7b7bf9430 100644 --- a/src/stdlib_experimental_stats_mean.fypp +++ b/src/stdlib_experimental_stats_mean.fypp @@ -18,11 +18,11 @@ module function mean_1_${k1}$_${k1}$(x) result(res) ${t1}$, intent(in) :: x(:) ${t1}$ :: res - integer :: i + integer :: i1 res = 0.0_${k1}$ - do i = 1, size(x) - res = res + x(i) + do i1 = 1, size(x) + res = res + x(i1) end do res = res / real(size(x), ${k1}$) @@ -34,11 +34,11 @@ module function mean_1_${k1}$_dp(x) result(res) ${t1}$, intent(in) :: x(:) real(dp) :: res - integer :: i + integer :: i1 res = 0.0_dp - do i = 1, size(x) - res = res + real(x(i), dp) + do i1 = 1, size(x) + res = res + real(x(i1), dp) end do res = res / real(size(x), dp) @@ -51,12 +51,12 @@ module function mean_2_all_${k1}$_${k1}$(x) result(res) ${t1}$, intent(in) :: x(:,:) ${t1}$ :: res - integer :: i, i_ + integer :: i1, i2 res = 0.0_${k1}$ - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + x(i1, i2) end do end do res = res / real(size(x), ${k1}$) @@ -69,12 +69,12 @@ module function mean_2_all_${k1}$_dp(x) result(res) ${t1}$, intent(in) :: x(:,:) real(dp) :: res - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res = res + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res = res + real(x(i1, i2), dp) end do end do res = res / real(size(x), dp) @@ -88,21 +88,21 @@ module function mean_2_${k1}$_${k1}$(x, dim) result(res) integer, intent(in) :: dim ${t1}$ :: res(size(x)/size(x, dim)) - integer :: i, i_ + integer :: i1, i2 res = 0.0_${k1}$ select case(dim) case(1) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_) = res(i_) + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2) = res(i2) + x(i1, i2) end do end do case(2) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i) = res(i) + x(i, i_) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1) = res(i1) + x(i1, i2) end do end do case default @@ -120,21 +120,21 @@ module function mean_2_${k1}$_dp(x, dim) result(res) integer, intent(in) :: dim real(dp) :: res(size(x)/size(x, dim)) - integer :: i, i_ + integer :: i1, i2 res = 0.0_dp select case(dim) case(1) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i_) = res(i_) + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i2) = res(i2) + real(x(i1, i2), dp) end do end do case(2) - do i_ = 1, size(x, 2) - do i = 1, size(x, 1) - res(i) = res(i) + real(x(i, i_), dp) + do i2 = 1, size(x, 2) + do i1 = 1, size(x, 1) + res(i1) = res(i1) + real(x(i1, i2), dp) end do end do case default @@ -151,19 +151,23 @@ end function mean_2_${k1}$_dp #{if rank > 0}#(${":" + ",:" * (rank - 1)}$)#{endif}# #:enddef -#:def isuffix(rank) -#:if rank > 0 -i#{for i in range(2,rank)}#${",i"+"_" * (i-1)}$#{endfor}# +!As proposed by @arady +#:def varsuffix(rank) +${str(rank)}$ +#:enddef + +#:def varlist(varname, startlist, endlist) +#:if startlist > 0 +${",".join([varname + varsuffix(i) for i in range(startlist, endlist + 1)])}$ #:endif #:enddef -#:def ressuffix(rank,dim) +#:def varlistskip(varname, rank, dim) #:if rank > 0 -#{for i in range(1,dim-1)}#${"i" + "_" * (i-1)+","}$#{endfor}##{if dim-1 >0}#i${"_"*(dim-2) }$#{endif}##{if dim -1 >0 and dim 0 and dim < rank}#,#{endif}#${varlist(varname,dim+1,rank)}$ #:endif #:enddef - #:if VERSION90 #:set ranks = range(3,8) #:else @@ -176,16 +180,16 @@ module function mean_${rank}$_all_${k1}$_${k1}$(x) result(res) ${t1}$, intent(in) :: x${ranksuffix(rank)}$ ${t1}$ :: res - integer :: ${isuffix(rank+1)}$ + integer :: ${varlist("i",1,rank)}$ res = 0.0_${k1}$ #:for fj in range(rank,0,-1) - ${" "* (rank - fj)}$do i${"_"* (fj-1)}$ = 1, size(x, ${fj}$) + ${" "* (rank - fj)}$do i${varsuffix(fj)}$ = 1, size(x, ${fj}$) #:endfor - ${" "* (rank)}$res = res + x(${isuffix(rank+1)}$) + ${" "* (rank)}$res = res + x(${varlist("i",1,rank)}$) #:for fj in range(rank,0,-1) - ${" "* (fj-1)}$end do + ${" "* (fj-1)}$end do #:endfor res = res / real(size(x), ${k1}$) @@ -200,16 +204,16 @@ module function mean_${rank}$_all_${k1}$_dp(x) result(res) ${t1}$, intent(in) :: x${ranksuffix(rank)}$ real(dp) :: res - integer :: ${isuffix(rank+1)}$ + integer :: ${varlist("i",1,rank)}$ res = 0.0_dp #:for fj in range(rank,0,-1) - ${" "* (rank - fj)}$do i${"_"* (fj-1)}$ = 1, size(x, ${fj}$) + ${" "* (rank - fj)}$do i${varsuffix(fj)}$ = 1, size(x, ${fj}$) #:endfor - ${" "* (rank)}$res = res + real(x(${isuffix(rank+1)}$), dp) + ${" "* (rank)}$res = res + real(x(${varlist("i",1,rank)}$), dp) #:for fj in range(rank,0,-1) - ${" "* (fj-1)}$end do + ${" "* (fj-1)}$end do #:endfor res = res / real(size(x), dp) @@ -229,7 +233,7 @@ module function mean_${rank}$_${k1}$_${k1}$(x, dim) result(res) #:endfor merge(size(x,${rank-1}$),size(x,${rank}$),mask = ${rank-1}$ < dim ) ) - integer :: ${isuffix(rank+1)}$ + integer :: ${varlist("i",1,rank)}$ res = 0.0_${k1}$ @@ -237,11 +241,11 @@ module function mean_${rank}$_${k1}$_${k1}$(x, dim) result(res) #:for fi in range(1,rank+1) case(${fi}$) #:for fj in range(rank,0,-1) - ${" "* (rank - fj)}$do i${"_"* (fj-1)}$ = 1, size(x, ${fj}$) + ${" "* (rank - fj)}$do i${varsuffix(fj)}$ = 1, size(x, ${fj}$) #:endfor - ${" "* (rank)}$res(${ressuffix(rank,fi)}$) = res(${ressuffix(rank,fi)}$) + x(${isuffix(rank+1)}$) + ${" "* (rank)}$res(${varlistskip("i", rank, fi)}$) = res(${varlistskip("i", rank, fi)}$) + x(${varlist("i",1,rank)}$) #:for fj in range(rank,0,-1) - ${" "* (fj-1)}$end do + ${" "* (fj-1)}$end do #:endfor #:endfor case default @@ -265,7 +269,7 @@ module function mean_${rank}$_${k1}$_dp(x, dim) result(res) #:endfor merge(size(x,${rank-1}$),size(x,${rank}$),mask = ${rank-1}$ < dim ) ) - integer :: ${isuffix(rank+1)}$ + integer :: ${varlist("i",1,rank)}$ res = 0.0_dp @@ -273,11 +277,11 @@ module function mean_${rank}$_${k1}$_dp(x, dim) result(res) #:for fi in range(1,rank+1) case(${fi}$) #:for fj in range(rank,0,-1) - ${" "* (rank - fj)}$do i${"_"* (fj-1)}$ = 1, size(x, ${fj}$) + ${" "* (rank - fj)}$do i${varsuffix(fj)}$ = 1, size(x, ${fj}$) #:endfor - ${" "* (rank)}$res(${ressuffix(rank,fi)}$) = res(${ressuffix(rank,fi)}$) + real(x(${isuffix(rank+1)}$), dp) + ${" "* (rank)}$res(${varlistskip("i", rank, fi)}$) = res(${varlistskip("i", rank, fi)}$) + real(x(${varlist("i",1,rank)}$), dp) #:for fj in range(rank,0,-1) - ${" "* (fj-1)}$end do + ${" "* (fj-1)}$end do #:endfor #:endfor case default