GCC Code Coverage Report


Directory: src/lib/
File: src/lib/mod_misc_ml.f90
Date: 2024-06-28 12:51:18
Exec Total Coverage
Lines: 658 875 75.2%
Functions: 0 0 -%
Branches: 5345 10428 51.3%

Line Branch Exec Source
1 !!!#############################################################################
2 !!! Code written by Ned Thaddeus Taylor
3 !!! Code part of the ATHENA library - a feedforward neural network library
4 !!!#############################################################################
5 !!! module contains various miscellaneous procedures relating to ...
6 !!! ... machine learning
7 !!! module includes the following procedures:
8 !!! - shuffle - randomly shuffle a 2D array along one dimension
9 !!! - split - split data into train and test sets
10 !!!##################
11 !!! - set_padding - set padding any-rank 2D array
12 !!! - pad_data - pad any-rank array
13 !!!#############################################################################
14 module misc_ml
15 use constants, only: real12
16 implicit none
17
18
19 !!!-----------------------------------------------------
20 !!! shuffle an array along one dimension
21 !!! optional index array is also shuffled
22 !!!-----------------------------------------------------
23 !!! data = (I/R, io) input array to be shuffled
24 !!! dim = (I, in) dimension along which to shuffle
25 !!! label = (I, io, opt) index array to be shuffled
26 !!! seed = (I, in, opt) random seed
27 interface shuffle
28 procedure shuffle_1Dilist, &
29 shuffle_2Drdata, shuffle_3Didata, shuffle_3Drdata, &
30 shuffle_4Drdata, shuffle_5Drdata, &
31 shuffle_3Didata_1Dilist, shuffle_3Didata_1Drlist, &
32 shuffle_4Drdata_1Dilist, shuffle_5Drdata_1Dilist, shuffle_5Drdata_1Drlist
33 end interface shuffle
34 !!!=====================================================
35
36
37 !!!-----------------------------------------------------
38 !!! split an array into train and test sets
39 !!! optional index array is also split
40 !!!-----------------------------------------------------
41 !!! data = (I/R, in ) input array to be shuffled
42 !!! left_data = (I/R, out) left split of data
43 !!! right_data = (I/R, out) right split of data
44 !!! dim = (I, in ) dimension along which to split
45 !!! label = (I, in , opt) index array to be shuffled
46 !!! left_label = (I, out, opt) left split of label
47 !!! right_label = (I, out, opt) right split of label
48 !!! left_size = (I, in , opt) size of left split
49 !!! right_size = (I, in , opt) size of right split
50 !!! shuffle = (B, in , opt) shuffle data before splitting
51 !!! seed = (I, in , opt) random seed
52 !!! split_list = (I, out, opt) index array of split
53 interface split
54 procedure &
55 split_3Didata_1Dilist, split_3Didata_1Drlist, &
56 split_5Drdata, &
57 split_5Drdata_1Drlist
58 end interface split
59 !!!=====================================================
60
61
62 private
63
64 public :: shuffle, split
65 public :: set_padding, pad_data
66
67
68 contains
69 !!!#####################################################
70 !!! shuffle an array along one dimension
71 !!!#####################################################
72
1/2
✓ Branch 0 taken 503 times.
✗ Branch 1 not taken.
503 subroutine shuffle_1Dilist(data,seed)
73 implicit none
74 integer :: istart, num_data, seed_size
75 integer :: itmp1, i, j
76 real(real12) :: r
77 503 integer, allocatable, dimension(:) :: iseed
78
79 integer, optional, intent(in) :: seed
80 integer, dimension(:), intent(inout) :: data
81
82 !! set or get random seed
83 503 call random_seed(size=seed_size)
84
7/14
✓ Branch 0 taken 503 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 503 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 503 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 503 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 503 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 503 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 503 times.
503 allocate(iseed(seed_size))
85
2/2
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 500 times.
503 if(present(seed))then
86
2/2
✓ Branch 0 taken 24 times.
✓ Branch 1 taken 3 times.
27 iseed = seed
87 3 call random_seed(put=iseed)
88 else
89 500 call random_seed(get=iseed)
90 end if
91
92 !! shuffle the data
93
3/6
✗ Branch 0 not taken.
✓ Branch 1 taken 503 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 503 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 503 times.
503 num_data = size(data,dim=1)
94 503 istart=1
95
2/2
✓ Branch 0 taken 530 times.
✓ Branch 1 taken 503 times.
1033 do i=1,num_data
96 530 call random_number(r)
97
1/2
✓ Branch 0 taken 530 times.
✗ Branch 1 not taken.
530 j = istart + floor((num_data+1-istart)*r)
98
2/2
✓ Branch 0 taken 506 times.
✓ Branch 1 taken 24 times.
530 if(i.eq.j) cycle
99
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 24 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 24 times.
24 itmp1 = data(j)
100
4/8
✗ Branch 0 not taken.
✓ Branch 1 taken 24 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 24 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 24 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 24 times.
24 data(j) = data(i)
101
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 24 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 24 times.
527 data(i) = itmp1
102 end do
103
104
1/2
✓ Branch 0 taken 503 times.
✗ Branch 1 not taken.
503 end subroutine shuffle_1Dilist
105 !!!-----------------------------------------------------
106 !!!-----------------------------------------------------
107
1/2
✓ Branch 0 taken 6 times.
✗ Branch 1 not taken.
6 subroutine shuffle_2Drdata(data,dim,seed)
108 implicit none
109 integer :: istart,seed_size
110 integer :: i,j,n_data,iother
111 integer :: i1s,i2s,i1e,i2e,j1s,j2s,j1e,j2e
112 real(real12) :: r
113 6 integer, allocatable, dimension(:) :: iseed
114 6 real(real12), allocatable, dimension(:,:) :: tlist
115
116 integer, intent(in) :: dim
117 real(real12), dimension(:,:), intent(inout) :: data
118
119 integer, optional, intent(in) :: seed
120
121 !! set or get random seed
122 6 call random_seed(size=seed_size)
123
7/14
✓ Branch 0 taken 6 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 6 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 6 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 6 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 6 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 6 times.
6 allocate(iseed(seed_size))
124
1/2
✓ Branch 0 taken 6 times.
✗ Branch 1 not taken.
6 if(present(seed))then
125
2/2
✓ Branch 0 taken 48 times.
✓ Branch 1 taken 6 times.
54 iseed = seed
126 6 call random_seed(put=iseed)
127 else
128 call random_seed(get=iseed)
129 end if
130
131 !! shuffle the data
132
6/12
✗ Branch 0 not taken.
✓ Branch 1 taken 6 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 6 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 6 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 6 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 6 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 6 times.
6 n_data = size(data,dim=dim)
133
2/2
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 3 times.
6 if(dim.eq.1)then
134 3 iother = 2
135
6/12
✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 3 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 3 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 3 times.
3 i2s=1;i2e=size(data,dim=iother)
136
6/12
✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 3 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 3 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 3 times.
3 j2s=1;j2e=size(data,dim=iother)
137 else
138 3 iother = 1
139
6/12
✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 3 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 3 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 3 times.
3 i1s=1;i1e=size(data,dim=iother)
140
6/12
✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 3 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 3 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 3 times.
3 j1s=1;j1e=size(data,dim=iother)
141 end if
142 6 istart=1
143
13/26
✗ Branch 0 not taken.
✓ Branch 1 taken 6 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 6 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 6 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 6 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 6 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 6 times.
✓ Branch 18 taken 6 times.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✓ Branch 21 taken 6 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 6 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 6 times.
6 allocate(tlist(1,size(data,dim=iother)))
144
2/2
✓ Branch 0 taken 39 times.
✓ Branch 1 taken 6 times.
45 do i=1,n_data
145 39 call random_number(r)
146
1/2
✓ Branch 0 taken 39 times.
✗ Branch 1 not taken.
39 j = istart + floor((n_data+1-istart)*r)
147
2/2
✓ Branch 0 taken 6 times.
✓ Branch 1 taken 33 times.
39 if(i.eq.j) cycle
148
2/2
✓ Branch 0 taken 24 times.
✓ Branch 1 taken 9 times.
33 if(dim.eq.1)then
149 24 i1s=i;i1e=i
150 24 j1s=j;j1e=j
151 else
152 9 i2s=i;i2e=i
153 9 j2s=j;j2e=j
154 end if
155
24/42
✗ Branch 0 not taken.
✓ Branch 1 taken 33 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 33 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 33 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 33 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 33 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 33 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 33 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 33 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 33 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 33 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 33 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 33 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 33 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 33 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 33 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 33 times.
✓ Branch 48 taken 66 times.
✓ Branch 49 taken 33 times.
✓ Branch 50 taken 66 times.
✗ Branch 51 not taken.
✗ Branch 52 not taken.
✓ Branch 53 taken 66 times.
✓ Branch 56 taken 162 times.
✓ Branch 57 taken 33 times.
✓ Branch 58 taken 162 times.
✓ Branch 59 taken 162 times.
423 tlist(1:1,:) = reshape(data(i1s:i1e,i2s:i2e),shape=shape(tlist))
156
27/46
✗ Branch 0 not taken.
✓ Branch 1 taken 33 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 33 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 33 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 33 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 33 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 33 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 33 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 33 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 33 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 33 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 33 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 33 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 33 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 33 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 33 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 33 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 33 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 33 times.
✓ Branch 54 taken 33 times.
✗ Branch 55 not taken.
✓ Branch 56 taken 81 times.
✓ Branch 57 taken 33 times.
✓ Branch 58 taken 162 times.
✓ Branch 59 taken 81 times.
✓ Branch 60 taken 81 times.
✓ Branch 61 taken 33 times.
✓ Branch 62 taken 162 times.
✓ Branch 63 taken 81 times.
519 data(i1s:i1e,i2s:i2e) = data(j1s:j1e,j2s:j2e)
157 data(j1s:j1e,j2s:j2e) = reshape(tlist(1:1,:),&
158
32/58
✗ Branch 0 not taken.
✓ Branch 1 taken 33 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 33 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 33 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 33 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 33 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 33 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 33 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 33 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 33 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 33 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 33 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 33 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 33 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 33 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 33 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 33 times.
✓ Branch 32 taken 66 times.
✓ Branch 33 taken 33 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 66 times.
✗ Branch 37 not taken.
✓ Branch 38 taken 66 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 66 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 66 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 66 times.
✗ Branch 49 not taken.
✓ Branch 50 taken 66 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 66 times.
✗ Branch 55 not taken.
✓ Branch 56 taken 66 times.
✓ Branch 58 taken 66 times.
✗ Branch 59 not taken.
✗ Branch 60 not taken.
✓ Branch 61 taken 66 times.
✓ Branch 64 taken 81 times.
✓ Branch 65 taken 33 times.
✓ Branch 66 taken 162 times.
✓ Branch 67 taken 81 times.
348 shape=shape(data(j1s:j1e,j2s:j2e)))
159 end do
160
161
2/4
✓ Branch 0 taken 6 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 6 times.
✗ Branch 3 not taken.
6 end subroutine shuffle_2Drdata
162 !!!-----------------------------------------------------
163 !!!-----------------------------------------------------
164
1/2
✓ Branch 0 taken 10 times.
✗ Branch 1 not taken.
10 subroutine shuffle_3Drdata(data,dim,seed)
165 implicit none
166 integer :: istart,seed_size
167 integer :: i,j,n_data
168 real(real12) :: r
169 integer, dimension(3) :: idx_s,idx_e,jdx_s,jdx_e
170 integer, dimension(3,2) :: t_size
171 10 integer, allocatable, dimension(:) :: iseed
172 10 real(real12), allocatable, dimension(:,:,:) :: tlist
173
174 integer, intent(in) :: dim
175 real(real12), dimension(:,:,:), intent(inout) :: data
176
177 integer, optional, intent(in) :: seed
178
179 !! set or get random seed
180 10 call random_seed(size=seed_size)
181
7/14
✓ Branch 0 taken 10 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 10 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 10 times.
10 allocate(iseed(seed_size))
182
1/2
✓ Branch 0 taken 10 times.
✗ Branch 1 not taken.
10 if(present(seed))then
183
2/2
✓ Branch 0 taken 80 times.
✓ Branch 1 taken 10 times.
90 iseed = seed
184 10 call random_seed(put=iseed)
185 else
186 call random_seed(get=iseed)
187 end if
188
189
9/18
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 10 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 10 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 10 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 10 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 10 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
10 n_data = size(data,dim=dim)
190
2/2
✓ Branch 0 taken 30 times.
✓ Branch 1 taken 10 times.
40 do i=1,3
191
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 30 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 30 times.
30 t_size(i,1) = 1
192
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 30 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 30 times.
30 jdx_s(i) = 1
193
11/22
✗ Branch 0 not taken.
✓ Branch 1 taken 30 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 30 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 30 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 30 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 30 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 30 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 30 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 30 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 30 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 30 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 30 times.
30 jdx_e(i) = size(data,dim=i)
194
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 30 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 30 times.
30 idx_s(i) = 1
195
11/22
✗ Branch 0 not taken.
✓ Branch 1 taken 30 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 30 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 30 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 30 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 30 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 30 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 30 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 30 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 30 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 30 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 30 times.
30 idx_e(i) = size(data,dim=i)
196
2/2
✓ Branch 0 taken 10 times.
✓ Branch 1 taken 20 times.
40 if(i.eq.dim) then
197
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 t_size(i,2) = 1
198 else
199
11/22
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 20 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 20 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 20 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 20 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 20 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 20 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 20 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 20 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 20 times.
20 t_size(i,2) = size(data,dim=i)
200 end if
201 end do
202
203
11/22
✓ Branch 0 taken 10 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
✓ Branch 4 taken 10 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✓ Branch 8 taken 10 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 10 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 10 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 10 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 10 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 10 times.
10 allocate(tlist(t_size(1,2),t_size(2,2),t_size(3,2)))
204
205 10 istart=1
206
2/2
✓ Branch 0 taken 51 times.
✓ Branch 1 taken 10 times.
61 do i=1,n_data
207 51 call random_number(r)
208
1/2
✓ Branch 0 taken 51 times.
✗ Branch 1 not taken.
51 j = istart + floor((n_data+1-istart)*r)
209
2/2
✓ Branch 0 taken 4 times.
✓ Branch 1 taken 47 times.
51 if(i.eq.j) cycle
210
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 47 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 47 times.
47 idx_s(dim) = i
211
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 47 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 47 times.
47 idx_e(dim) = i
212
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 47 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 47 times.
47 jdx_s(dim) = j
213
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 47 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 47 times.
47 jdx_e(dim) = j
214 tlist(&
215 t_size(1,1):t_size(1,2),&
216 t_size(2,1):t_size(2,2),&
217 t_size(3,1):t_size(3,2)) = data(&
218 idx_s(1):idx_e(1),&
219 idx_s(2):idx_e(2),&
220
33/60
✗ Branch 0 not taken.
✓ Branch 1 taken 47 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 47 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 47 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 47 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 47 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 47 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 47 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 47 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 47 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 47 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 47 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 47 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 47 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 47 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 47 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 47 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 47 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 47 times.
✗ Branch 37 not taken.
✓ Branch 38 taken 47 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 47 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 47 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 47 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 47 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 47 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 47 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 47 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 47 times.
✓ Branch 57 taken 111 times.
✓ Branch 58 taken 47 times.
✓ Branch 59 taken 297 times.
✓ Branch 60 taken 111 times.
✓ Branch 61 taken 864 times.
✓ Branch 62 taken 297 times.
1319 idx_s(3):idx_e(3))
221 data(&
222 idx_s(1):idx_e(1),&
223 idx_s(2):idx_e(2),&
224 idx_s(3):idx_e(3)) = data(&
225 jdx_s(1):jdx_e(1),&
226 jdx_s(2):jdx_e(2),&
227
40/68
✗ Branch 0 not taken.
✓ Branch 1 taken 47 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 47 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 47 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 47 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 47 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 47 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 47 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 47 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 47 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 47 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 47 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 47 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 47 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 47 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 47 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 47 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 47 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 47 times.
✗ Branch 37 not taken.
✓ Branch 38 taken 47 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 47 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 47 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 47 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 47 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 47 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 47 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 47 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 47 times.
✓ Branch 57 taken 47 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 111 times.
✓ Branch 60 taken 47 times.
✓ Branch 61 taken 297 times.
✓ Branch 62 taken 111 times.
✓ Branch 63 taken 864 times.
✓ Branch 64 taken 297 times.
✓ Branch 65 taken 111 times.
✓ Branch 66 taken 47 times.
✓ Branch 67 taken 297 times.
✓ Branch 68 taken 111 times.
✓ Branch 69 taken 864 times.
✓ Branch 70 taken 297 times.
2591 jdx_s(3):jdx_e(3))
228 data(&
229 jdx_s(1):jdx_e(1),&
230 jdx_s(2):jdx_e(2),&
231 jdx_s(3):jdx_e(3)) = tlist(&
232 t_size(1,1):t_size(1,2),&
233 t_size(2,1):t_size(2,2),&
234
33/60
✗ Branch 0 not taken.
✓ Branch 1 taken 47 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 47 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 47 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 47 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 47 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 47 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 47 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 47 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 47 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 47 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 47 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 47 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 47 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 47 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 47 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 47 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 47 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 47 times.
✗ Branch 37 not taken.
✓ Branch 38 taken 47 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 47 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 47 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 47 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 47 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 47 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 47 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 47 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 47 times.
✓ Branch 57 taken 111 times.
✓ Branch 58 taken 47 times.
✓ Branch 59 taken 297 times.
✓ Branch 60 taken 111 times.
✓ Branch 61 taken 864 times.
✓ Branch 62 taken 297 times.
1329 t_size(3,1):t_size(3,2))
235 end do
236
237
2/4
✓ Branch 0 taken 10 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 10 times.
✗ Branch 3 not taken.
10 end subroutine shuffle_3Drdata
238 !!!-----------------------------------------------------
239 !!!-----------------------------------------------------
240
1/2
✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
9 subroutine shuffle_3Didata(data,dim,seed)
241 implicit none
242 integer :: istart,seed_size
243 integer :: i,j,n_data
244 real(real12) :: r
245 integer, dimension(3) :: idx_s,idx_e,jdx_s,jdx_e
246 integer, dimension(3,2) :: t_size
247 9 integer, allocatable, dimension(:) :: iseed
248 9 integer, allocatable, dimension(:,:,:) :: tlist
249
250 integer, intent(in) :: dim
251 integer, dimension(:,:,:), intent(inout) :: data
252
253 integer, optional, intent(in) :: seed
254
255
256 !! set or get random seed
257 9 call random_seed(size=seed_size)
258
7/14
✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 9 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 9 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 9 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 9 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 9 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 9 times.
9 allocate(iseed(seed_size))
259
1/2
✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
9 if(present(seed))then
260
2/2
✓ Branch 0 taken 72 times.
✓ Branch 1 taken 9 times.
81 iseed = seed
261 9 call random_seed(put=iseed)
262 else
263 call random_seed(get=iseed)
264 end if
265
266 !! get the size of the data
267
9/18
✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 9 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 9 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 9 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 9 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 9 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 9 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 9 times.
9 n_data = size(data,dim=dim)
268
2/2
✓ Branch 0 taken 27 times.
✓ Branch 1 taken 9 times.
36 do i=1,3
269
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 27 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 27 times.
27 t_size(i,1) = 1
270
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 27 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 27 times.
27 jdx_s(i) = 1
271
11/22
✗ Branch 0 not taken.
✓ Branch 1 taken 27 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 27 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 27 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 27 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 27 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 27 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 27 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 27 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 27 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 27 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 27 times.
27 jdx_e(i) = size(data,dim=i)
272
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 27 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 27 times.
27 idx_s(i) = 1
273
11/22
✗ Branch 0 not taken.
✓ Branch 1 taken 27 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 27 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 27 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 27 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 27 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 27 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 27 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 27 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 27 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 27 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 27 times.
27 idx_e(i) = size(data,dim=i)
274
2/2
✓ Branch 0 taken 9 times.
✓ Branch 1 taken 18 times.
36 if(i.eq.dim) then
275
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 9 times.
9 t_size(i,2) = 1
276 else
277
11/22
✗ Branch 0 not taken.
✓ Branch 1 taken 18 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 18 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 18 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 18 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 18 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 18 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 18 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 18 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 18 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 18 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 18 times.
18 t_size(i,2) = size(data,dim=i)
278 end if
279 end do
280
11/22
✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 9 times.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 9 times.
✓ Branch 8 taken 9 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 9 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 9 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 9 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 9 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 9 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 9 times.
9 allocate(tlist(t_size(1,2),t_size(2,2),t_size(3,2)))
281
282 !! shuffle the data
283 9 istart=1
284
2/2
✓ Branch 0 taken 48 times.
✓ Branch 1 taken 9 times.
57 do i=1,n_data
285 48 call random_number(r)
286
1/2
✓ Branch 0 taken 48 times.
✗ Branch 1 not taken.
48 j = istart + floor((n_data+1-istart)*r)
287
2/2
✓ Branch 0 taken 4 times.
✓ Branch 1 taken 44 times.
48 if(i.eq.j) cycle
288
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 44 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 44 times.
44 idx_s(dim) = i
289
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 44 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 44 times.
44 idx_e(dim) = i
290
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 44 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 44 times.
44 jdx_s(dim) = j
291
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 44 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 44 times.
44 jdx_e(dim) = j
292 tlist(&
293 t_size(1,1):t_size(1,2),&
294 t_size(2,1):t_size(2,2),&
295 t_size(3,1):t_size(3,2)) = data(&
296 idx_s(1):idx_e(1),&
297 idx_s(2):idx_e(2),&
298
33/60
✗ Branch 0 not taken.
✓ Branch 1 taken 44 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 44 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 44 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 44 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 44 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 44 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 44 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 44 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 44 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 44 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 44 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 44 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 44 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 44 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 44 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 44 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 44 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 44 times.
✗ Branch 37 not taken.
✓ Branch 38 taken 44 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 44 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 44 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 44 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 44 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 44 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 44 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 44 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 44 times.
✓ Branch 57 taken 114 times.
✓ Branch 58 taken 44 times.
✓ Branch 59 taken 288 times.
✓ Branch 60 taken 114 times.
✓ Branch 61 taken 774 times.
✓ Branch 62 taken 288 times.
1220 idx_s(3):idx_e(3))
299 data(&
300 idx_s(1):idx_e(1),&
301 idx_s(2):idx_e(2),&
302 idx_s(3):idx_e(3)) = data(&
303 jdx_s(1):jdx_e(1),&
304 jdx_s(2):jdx_e(2),&
305
40/68
✗ Branch 0 not taken.
✓ Branch 1 taken 44 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 44 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 44 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 44 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 44 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 44 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 44 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 44 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 44 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 44 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 44 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 44 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 44 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 44 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 44 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 44 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 44 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 44 times.
✗ Branch 37 not taken.
✓ Branch 38 taken 44 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 44 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 44 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 44 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 44 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 44 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 44 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 44 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 44 times.
✓ Branch 57 taken 44 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 114 times.
✓ Branch 60 taken 44 times.
✓ Branch 61 taken 288 times.
✓ Branch 62 taken 114 times.
✓ Branch 63 taken 774 times.
✓ Branch 64 taken 288 times.
✓ Branch 65 taken 114 times.
✓ Branch 66 taken 44 times.
✓ Branch 67 taken 288 times.
✓ Branch 68 taken 114 times.
✓ Branch 69 taken 774 times.
✓ Branch 70 taken 288 times.
2396 jdx_s(3):jdx_e(3))
306 data(&
307 jdx_s(1):jdx_e(1),&
308 jdx_s(2):jdx_e(2),&
309 jdx_s(3):jdx_e(3)) = tlist(&
310 t_size(1,1):t_size(1,2),&
311 t_size(2,1):t_size(2,2),&
312
33/60
✗ Branch 0 not taken.
✓ Branch 1 taken 44 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 44 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 44 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 44 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 44 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 44 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 44 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 44 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 44 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 44 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 44 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 44 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 44 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 44 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 44 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 44 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 44 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 44 times.
✗ Branch 37 not taken.
✓ Branch 38 taken 44 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 44 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 44 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 44 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 44 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 44 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 44 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 44 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 44 times.
✓ Branch 57 taken 114 times.
✓ Branch 58 taken 44 times.
✓ Branch 59 taken 288 times.
✓ Branch 60 taken 114 times.
✓ Branch 61 taken 774 times.
✓ Branch 62 taken 288 times.
1229 t_size(3,1):t_size(3,2))
313 end do
314
315
2/4
✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 9 times.
✗ Branch 3 not taken.
9 end subroutine shuffle_3Didata
316 !!!-----------------------------------------------------
317 !!!-----------------------------------------------------
318
1/2
✓ Branch 0 taken 12 times.
✗ Branch 1 not taken.
12 subroutine shuffle_4Drdata(data,dim,seed)
319 implicit none
320 integer :: istart,seed_size
321 integer :: i,j,n_data
322 real(real12) :: r
323 integer, dimension(4) :: idx_s,idx_e,jdx_s,jdx_e
324 integer, dimension(4,2) :: t_size
325 12 integer, allocatable, dimension(:) :: iseed
326 12 real(real12), allocatable, dimension(:,:,:,:) :: tlist
327
328 integer, intent(in) :: dim
329 real(real12), dimension(:,:,:,:), intent(inout) :: data
330
331 integer, optional, intent(in) :: seed
332
333
334 !! set or get random seed
335 12 call random_seed(size=seed_size)
336
7/14
✓ Branch 0 taken 12 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 12 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 12 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 12 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 12 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 12 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 12 times.
12 allocate(iseed(seed_size))
337
1/2
✓ Branch 0 taken 12 times.
✗ Branch 1 not taken.
12 if(present(seed))then
338
2/2
✓ Branch 0 taken 96 times.
✓ Branch 1 taken 12 times.
108 iseed = seed
339 12 call random_seed(put=iseed)
340 else
341 call random_seed(get=iseed)
342 end if
343
344 !! get the size of the data
345
12/24
✗ Branch 0 not taken.
✓ Branch 1 taken 12 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 12 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 12 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 12 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 12 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 12 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 12 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 12 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 12 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 12 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 12 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 12 times.
12 n_data = size(data,dim=dim)
346
2/2
✓ Branch 0 taken 48 times.
✓ Branch 1 taken 12 times.
60 do i=1,4
347
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 48 times.
48 t_size(i,1) = 1
348
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 48 times.
48 jdx_s(i) = 1
349
14/28
✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 48 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 48 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 48 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 48 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 48 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 48 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 48 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 48 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 48 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 48 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 48 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 48 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 48 times.
48 jdx_e(i) = size(data,dim=i)
350
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 48 times.
48 idx_s(i) = 1
351
14/28
✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 48 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 48 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 48 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 48 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 48 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 48 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 48 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 48 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 48 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 48 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 48 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 48 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 48 times.
48 idx_e(i) = size(data,dim=i)
352
2/2
✓ Branch 0 taken 12 times.
✓ Branch 1 taken 36 times.
60 if(i.eq.dim) then
353
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 12 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 12 times.
12 t_size(i,2) = 1
354 else
355
14/28
✗ Branch 0 not taken.
✓ Branch 1 taken 36 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 36 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 36 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 36 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 36 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 36 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 36 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 36 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 36 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 36 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 36 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 36 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 36 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 36 times.
36 t_size(i,2) = size(data,dim=i)
356 end if
357 end do
358
13/26
✓ Branch 0 taken 12 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 12 times.
✓ Branch 4 taken 12 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 12 times.
✓ Branch 8 taken 12 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 12 times.
✓ Branch 12 taken 12 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 12 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 12 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 12 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 12 times.
✗ Branch 23 not taken.
✓ Branch 24 taken 12 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 12 times.
12 allocate(tlist(t_size(1,2),t_size(2,2),t_size(3,2),t_size(4,2)))
359
360 !! shuffle the data
361 12 istart=1
362
2/2
✓ Branch 0 taken 57 times.
✓ Branch 1 taken 12 times.
69 do i=1,n_data
363 57 call random_number(r)
364
1/2
✓ Branch 0 taken 57 times.
✗ Branch 1 not taken.
57 j = istart + floor((n_data+1-istart)*r)
365
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 57 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 57 times.
57 idx_s(dim) = i
366
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 57 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 57 times.
57 idx_e(dim) = i
367
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 57 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 57 times.
57 jdx_s(dim) = j
368
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 57 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 57 times.
57 jdx_e(dim) = j
369 tlist(&
370 t_size(1,1):t_size(1,2),&
371 t_size(2,1):t_size(2,2),&
372 t_size(3,1):t_size(3,2),&
373 t_size(4,1):t_size(4,2)) = data(&
374 idx_s(1):idx_e(1),&
375 idx_s(2):idx_e(2),&
376 idx_s(3):idx_e(3),&
377
44/80
✗ Branch 0 not taken.
✓ Branch 1 taken 57 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 57 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 57 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 57 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 57 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 57 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 57 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 57 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 57 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 57 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 57 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 57 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 57 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 57 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 57 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 57 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 57 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 57 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 57 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 57 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 57 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 57 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 57 times.
✗ Branch 47 not taken.
✓ Branch 48 taken 57 times.
✗ Branch 49 not taken.
✓ Branch 50 taken 57 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 57 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 57 times.
✗ Branch 56 not taken.
✓ Branch 57 taken 57 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 57 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 57 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 57 times.
✗ Branch 65 not taken.
✓ Branch 66 taken 57 times.
✗ Branch 67 not taken.
✓ Branch 68 taken 57 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 57 times.
✗ Branch 71 not taken.
✓ Branch 72 taken 57 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 57 times.
✓ Branch 76 taken 153 times.
✓ Branch 77 taken 57 times.
✓ Branch 78 taken 405 times.
✓ Branch 79 taken 153 times.
✓ Branch 80 taken 1053 times.
✓ Branch 81 taken 405 times.
✓ Branch 82 taken 3240 times.
✓ Branch 83 taken 1053 times.
4908 idx_s(4):idx_e(4))
378 data(&
379 idx_s(1):idx_e(1),&
380 idx_s(2):idx_e(2),&
381 idx_s(3):idx_e(3),&
382 idx_s(4):idx_e(4)) = data(&
383 jdx_s(1):jdx_e(1),&
384 jdx_s(2):jdx_e(2),&
385 jdx_s(3):jdx_e(3),&
386
53/90
✗ Branch 0 not taken.
✓ Branch 1 taken 57 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 57 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 57 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 57 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 57 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 57 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 57 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 57 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 57 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 57 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 57 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 57 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 57 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 57 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 57 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 57 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 57 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 57 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 57 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 57 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 57 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 57 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 57 times.
✗ Branch 47 not taken.
✓ Branch 48 taken 57 times.
✗ Branch 49 not taken.
✓ Branch 50 taken 57 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 57 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 57 times.
✗ Branch 56 not taken.
✓ Branch 57 taken 57 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 57 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 57 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 57 times.
✗ Branch 65 not taken.
✓ Branch 66 taken 57 times.
✗ Branch 67 not taken.
✓ Branch 68 taken 57 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 57 times.
✗ Branch 71 not taken.
✓ Branch 72 taken 57 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 57 times.
✓ Branch 76 taken 57 times.
✗ Branch 77 not taken.
✓ Branch 78 taken 153 times.
✓ Branch 79 taken 57 times.
✓ Branch 80 taken 405 times.
✓ Branch 81 taken 153 times.
✓ Branch 82 taken 1053 times.
✓ Branch 83 taken 405 times.
✓ Branch 84 taken 3240 times.
✓ Branch 85 taken 1053 times.
✓ Branch 86 taken 153 times.
✓ Branch 87 taken 57 times.
✓ Branch 88 taken 405 times.
✓ Branch 89 taken 153 times.
✓ Branch 90 taken 1053 times.
✓ Branch 91 taken 405 times.
✓ Branch 92 taken 3240 times.
✓ Branch 93 taken 1053 times.
9759 jdx_s(4):jdx_e(4))
387 data(&
388 jdx_s(1):jdx_e(1),&
389 jdx_s(2):jdx_e(2),&
390 jdx_s(3):jdx_e(3),&
391 jdx_s(4):jdx_e(4)) = tlist(&
392 t_size(1,1):t_size(1,2),&
393 t_size(2,1):t_size(2,2),&
394 t_size(3,1):t_size(3,2),&
395
44/80
✗ Branch 0 not taken.
✓ Branch 1 taken 57 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 57 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 57 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 57 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 57 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 57 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 57 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 57 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 57 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 57 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 57 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 57 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 57 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 57 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 57 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 57 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 57 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 57 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 57 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 57 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 57 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 57 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 57 times.
✗ Branch 47 not taken.
✓ Branch 48 taken 57 times.
✗ Branch 49 not taken.
✓ Branch 50 taken 57 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 57 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 57 times.
✗ Branch 56 not taken.
✓ Branch 57 taken 57 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 57 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 57 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 57 times.
✗ Branch 65 not taken.
✓ Branch 66 taken 57 times.
✗ Branch 67 not taken.
✓ Branch 68 taken 57 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 57 times.
✗ Branch 71 not taken.
✓ Branch 72 taken 57 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 57 times.
✓ Branch 76 taken 153 times.
✓ Branch 77 taken 57 times.
✓ Branch 78 taken 405 times.
✓ Branch 79 taken 153 times.
✓ Branch 80 taken 1053 times.
✓ Branch 81 taken 405 times.
✓ Branch 82 taken 3240 times.
✓ Branch 83 taken 1053 times.
4920 t_size(4,1):t_size(4,2))
396 end do
397
398
2/4
✓ Branch 0 taken 12 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
✗ Branch 3 not taken.
12 end subroutine shuffle_4Drdata
399 !!!-----------------------------------------------------
400 !!!-----------------------------------------------------
401
1/2
✓ Branch 0 taken 15 times.
✗ Branch 1 not taken.
15 subroutine shuffle_5Drdata(data,dim,seed)
402 implicit none
403 integer :: istart,seed_size
404 integer :: i,j,n_data
405 real(real12) :: r
406 integer, dimension(5) :: idx_s,idx_e,jdx_s,jdx_e
407 integer, dimension(5,2) :: t_size
408 15 integer, allocatable, dimension(:) :: iseed
409 15 real(real12), allocatable, dimension(:,:,:,:,:) :: tlist
410
411 integer, intent(in) :: dim
412 real(real12), dimension(:,:,:,:,:), intent(inout) :: data
413
414 integer, optional, intent(in) :: seed
415
416
417 !! set or get random seed
418 15 call random_seed(size=seed_size)
419
7/14
✓ Branch 0 taken 15 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 15 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 15 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 15 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 15 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 15 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 15 times.
15 allocate(iseed(seed_size))
420
1/2
✓ Branch 0 taken 15 times.
✗ Branch 1 not taken.
15 if(present(seed))then
421
2/2
✓ Branch 0 taken 120 times.
✓ Branch 1 taken 15 times.
135 iseed = seed
422 15 call random_seed(put=iseed)
423 else
424 call random_seed(get=iseed)
425 end if
426
427 !! get the size of the data
428
15/30
✗ Branch 0 not taken.
✓ Branch 1 taken 15 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 15 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 15 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 15 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 15 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 15 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 15 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 15 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 15 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 15 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 15 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 15 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 15 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 15 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 15 times.
15 n_data = size(data,dim=dim)
429
2/2
✓ Branch 0 taken 75 times.
✓ Branch 1 taken 15 times.
90 do i=1,5
430
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 75 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 75 times.
75 t_size(i,1) = 1
431
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 75 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 75 times.
75 jdx_s(i) = 1
432
17/34
✗ Branch 0 not taken.
✓ Branch 1 taken 75 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 75 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 75 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 75 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 75 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 75 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 75 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 75 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 75 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 75 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 75 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 75 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 75 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 75 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 75 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 75 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 75 times.
75 jdx_e(i) = size(data,dim=i)
433
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 75 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 75 times.
75 idx_s(i) = 1
434
17/34
✗ Branch 0 not taken.
✓ Branch 1 taken 75 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 75 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 75 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 75 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 75 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 75 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 75 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 75 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 75 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 75 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 75 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 75 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 75 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 75 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 75 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 75 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 75 times.
75 idx_e(i) = size(data,dim=i)
435
2/2
✓ Branch 0 taken 15 times.
✓ Branch 1 taken 60 times.
90 if(i.eq.dim) then
436
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 15 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 15 times.
15 t_size(i,2) = 1
437 else
438
17/34
✗ Branch 0 not taken.
✓ Branch 1 taken 60 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 60 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 60 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 60 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 60 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 60 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 60 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 60 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 60 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 60 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 60 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 60 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 60 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 60 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 60 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 60 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 60 times.
60 t_size(i,2) = size(data,dim=i)
439 end if
440 end do
441 allocate(tlist(&
442 t_size(1,2),t_size(2,2),&
443 t_size(3,2),t_size(4,2),&
444
15/30
✓ Branch 0 taken 15 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 15 times.
✓ Branch 4 taken 15 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 15 times.
✓ Branch 8 taken 15 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 15 times.
✓ Branch 12 taken 15 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 15 times.
✓ Branch 16 taken 15 times.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 15 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 15 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 15 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 15 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 15 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 15 times.
15 t_size(5,2)))
445
446 !! shuffle the data
447 15 istart=1
448
2/2
✓ Branch 0 taken 66 times.
✓ Branch 1 taken 15 times.
81 do i=1,n_data
449 66 call random_number(r)
450
1/2
✓ Branch 0 taken 66 times.
✗ Branch 1 not taken.
66 j = istart + floor((n_data+1-istart)*r)
451
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 66 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 66 times.
66 idx_s(dim) = i
452
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 66 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 66 times.
66 idx_e(dim) = i
453
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 66 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 66 times.
66 jdx_s(dim) = j
454
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 66 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 66 times.
66 jdx_e(dim) = j
455 tlist(&
456 t_size(1,1):t_size(1,2),&
457 t_size(2,1):t_size(2,2),&
458 t_size(3,1):t_size(3,2),&
459 t_size(4,1):t_size(4,2),&
460 t_size(5,1):t_size(5,2)) = data(&
461 idx_s(1):idx_e(1),&
462 idx_s(2):idx_e(2),&
463 idx_s(3):idx_e(3),&
464 idx_s(4):idx_e(4),&
465
55/100
✗ Branch 0 not taken.
✓ Branch 1 taken 66 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 66 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 66 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 66 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 66 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 66 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 66 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 66 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 66 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 66 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 66 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 66 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 66 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 66 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 66 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 66 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 66 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 66 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 66 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 66 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 66 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 66 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 66 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 66 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 66 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 66 times.
✗ Branch 53 not taken.
✓ Branch 54 taken 66 times.
✗ Branch 55 not taken.
✓ Branch 56 taken 66 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 66 times.
✗ Branch 59 not taken.
✓ Branch 60 taken 66 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 66 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 66 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 66 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 66 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 66 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 66 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 66 times.
✗ Branch 77 not taken.
✓ Branch 78 taken 66 times.
✗ Branch 79 not taken.
✓ Branch 80 taken 66 times.
✗ Branch 81 not taken.
✓ Branch 82 taken 66 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 66 times.
✗ Branch 86 not taken.
✓ Branch 87 taken 66 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 66 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 66 times.
✗ Branch 92 not taken.
✓ Branch 93 taken 66 times.
✓ Branch 95 taken 180 times.
✓ Branch 96 taken 66 times.
✓ Branch 97 taken 486 times.
✓ Branch 98 taken 180 times.
✓ Branch 99 taken 1296 times.
✓ Branch 100 taken 486 times.
✓ Branch 101 taken 3402 times.
✓ Branch 102 taken 1296 times.
✓ Branch 103 taken 12150 times.
✓ Branch 104 taken 3402 times.
17580 idx_s(5):idx_e(5))
466 data(&
467 idx_s(1):idx_e(1),&
468 idx_s(2):idx_e(2),&
469 idx_s(3):idx_e(3),&
470 idx_s(4):idx_e(4),&
471 idx_s(5):idx_e(5)) = data(&
472 jdx_s(1):jdx_e(1),&
473 jdx_s(2):jdx_e(2),&
474 jdx_s(3):jdx_e(3),&
475 jdx_s(4):jdx_e(4),&
476
66/112
✗ Branch 0 not taken.
✓ Branch 1 taken 66 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 66 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 66 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 66 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 66 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 66 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 66 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 66 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 66 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 66 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 66 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 66 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 66 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 66 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 66 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 66 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 66 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 66 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 66 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 66 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 66 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 66 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 66 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 66 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 66 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 66 times.
✗ Branch 53 not taken.
✓ Branch 54 taken 66 times.
✗ Branch 55 not taken.
✓ Branch 56 taken 66 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 66 times.
✗ Branch 59 not taken.
✓ Branch 60 taken 66 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 66 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 66 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 66 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 66 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 66 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 66 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 66 times.
✗ Branch 77 not taken.
✓ Branch 78 taken 66 times.
✗ Branch 79 not taken.
✓ Branch 80 taken 66 times.
✗ Branch 81 not taken.
✓ Branch 82 taken 66 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 66 times.
✗ Branch 86 not taken.
✓ Branch 87 taken 66 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 66 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 66 times.
✗ Branch 92 not taken.
✓ Branch 93 taken 66 times.
✓ Branch 95 taken 66 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 180 times.
✓ Branch 98 taken 66 times.
✓ Branch 99 taken 486 times.
✓ Branch 100 taken 180 times.
✓ Branch 101 taken 1296 times.
✓ Branch 102 taken 486 times.
✓ Branch 103 taken 3402 times.
✓ Branch 104 taken 1296 times.
✓ Branch 105 taken 12150 times.
✓ Branch 106 taken 3402 times.
✓ Branch 107 taken 180 times.
✓ Branch 108 taken 66 times.
✓ Branch 109 taken 486 times.
✓ Branch 110 taken 180 times.
✓ Branch 111 taken 1296 times.
✓ Branch 112 taken 486 times.
✓ Branch 113 taken 3402 times.
✓ Branch 114 taken 1296 times.
✓ Branch 115 taken 12150 times.
✓ Branch 116 taken 3402 times.
35094 jdx_s(5):jdx_e(5))
477 data(&
478 jdx_s(1):jdx_e(1),&
479 jdx_s(2):jdx_e(2),&
480 jdx_s(3):jdx_e(3),&
481 jdx_s(4):jdx_e(4),&
482 jdx_s(5):jdx_e(5)) = tlist(&
483 t_size(1,1):t_size(1,2),&
484 t_size(2,1):t_size(2,2),&
485 t_size(3,1):t_size(3,2),&
486 t_size(4,1):t_size(4,2),&
487
55/100
✗ Branch 0 not taken.
✓ Branch 1 taken 66 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 66 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 66 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 66 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 66 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 66 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 66 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 66 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 66 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 66 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 66 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 66 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 66 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 66 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 66 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 66 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 66 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 66 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 66 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 66 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 66 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 66 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 66 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 66 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 66 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 66 times.
✗ Branch 53 not taken.
✓ Branch 54 taken 66 times.
✗ Branch 55 not taken.
✓ Branch 56 taken 66 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 66 times.
✗ Branch 59 not taken.
✓ Branch 60 taken 66 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 66 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 66 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 66 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 66 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 66 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 66 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 66 times.
✗ Branch 77 not taken.
✓ Branch 78 taken 66 times.
✗ Branch 79 not taken.
✓ Branch 80 taken 66 times.
✗ Branch 81 not taken.
✓ Branch 82 taken 66 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 66 times.
✗ Branch 86 not taken.
✓ Branch 87 taken 66 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 66 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 66 times.
✗ Branch 92 not taken.
✓ Branch 93 taken 66 times.
✓ Branch 95 taken 180 times.
✓ Branch 96 taken 66 times.
✓ Branch 97 taken 486 times.
✓ Branch 98 taken 180 times.
✓ Branch 99 taken 1296 times.
✓ Branch 100 taken 486 times.
✓ Branch 101 taken 3402 times.
✓ Branch 102 taken 1296 times.
✓ Branch 103 taken 12150 times.
✓ Branch 104 taken 3402 times.
17595 t_size(5,1):t_size(5,2))
488 end do
489
490
2/4
✓ Branch 0 taken 15 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 15 times.
✗ Branch 3 not taken.
15 end subroutine shuffle_5Drdata
491 !!!-----------------------------------------------------
492 !!!-----------------------------------------------------
493
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
1 subroutine shuffle_3Didata_1Dilist(data,label,dim,seed)
494 implicit none
495 integer :: istart,seed_size
496 integer :: i,j,n_data
497 integer :: itmp1
498 real(real12) :: r
499 integer, dimension(3) :: idx_s,idx_e,jdx_s,jdx_e
500 integer, dimension(3,2) :: t_size
501 1 integer, allocatable, dimension(:) :: iseed
502 1 integer, allocatable, dimension(:,:,:) :: tlist
503
504 integer, intent(in) :: dim
505 integer, dimension(:,:,:), intent(inout) :: data
506 integer, dimension(:), intent(inout) :: label
507
508 integer, optional, intent(in) :: seed
509
510
511 !! set or get random seed
512 1 call random_seed(size=seed_size)
513
7/14
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
1 allocate(iseed(seed_size))
514
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 if(present(seed))then
515
2/2
✓ Branch 0 taken 8 times.
✓ Branch 1 taken 1 times.
9 iseed = seed
516 1 call random_seed(put=iseed)
517 else
518 call random_seed(get=iseed)
519 end if
520
521 !! get the size of the data
522
9/18
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
1 n_data = size(data,dim=dim)
523
2/2
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 1 times.
4 do i=1,3
524
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
3 t_size(i,1) = 1
525
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
3 jdx_s(i) = 1
526
11/22
✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 3 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 3 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 3 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 3 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 3 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 3 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 3 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 3 times.
3 jdx_e(i) = size(data,dim=i)
527
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
3 idx_s(i) = 1
528
11/22
✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 3 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 3 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 3 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 3 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 3 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 3 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 3 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 3 times.
3 idx_e(i) = size(data,dim=i)
529
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 2 times.
4 if(i.eq.dim) then
530
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
1 t_size(i,2) = 1
531 else
532
11/22
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 2 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 2 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 2 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 2 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 2 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 2 times.
2 t_size(i,2) = size(data,dim=i)
533 end if
534 end do
535
11/22
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
1 allocate(tlist(t_size(1,2),t_size(2,2),t_size(3,2)))
536
537 !! shuffle the data
538 1 istart=1
539
2/2
✓ Branch 0 taken 10 times.
✓ Branch 1 taken 1 times.
11 do i=1,n_data
540 10 call random_number(r)
541
1/2
✓ Branch 0 taken 10 times.
✗ Branch 1 not taken.
10 j = istart + floor((n_data+1-istart)*r)
542
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 idx_s(dim) = i
543
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 idx_e(dim) = i
544
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 jdx_s(dim) = j
545
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 jdx_e(dim) = j
546 tlist(&
547 t_size(1,1):t_size(1,2),&
548 t_size(2,1):t_size(2,2),&
549 t_size(3,1):t_size(3,2)) = data(&
550 idx_s(1):idx_e(1),&
551 idx_s(2):idx_e(2),&
552
33/60
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 10 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 10 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 10 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 10 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 10 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 10 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 10 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 10 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 10 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 10 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 10 times.
✗ Branch 37 not taken.
✓ Branch 38 taken 10 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 10 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 10 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 10 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 10 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 10 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 10 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 10 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 10 times.
✓ Branch 57 taken 30 times.
✓ Branch 58 taken 10 times.
✓ Branch 59 taken 90 times.
✓ Branch 60 taken 30 times.
✓ Branch 61 taken 90 times.
✓ Branch 62 taken 90 times.
220 idx_s(3):idx_e(3))
553 data(&
554 idx_s(1):idx_e(1),&
555 idx_s(2):idx_e(2),&
556 idx_s(3):idx_e(3)) = data(&
557 jdx_s(1):jdx_e(1),&
558 jdx_s(2):jdx_e(2),&
559
40/68
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 10 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 10 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 10 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 10 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 10 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 10 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 10 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 10 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 10 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 10 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 10 times.
✗ Branch 37 not taken.
✓ Branch 38 taken 10 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 10 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 10 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 10 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 10 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 10 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 10 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 10 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 10 times.
✓ Branch 57 taken 10 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 30 times.
✓ Branch 60 taken 10 times.
✓ Branch 61 taken 90 times.
✓ Branch 62 taken 30 times.
✓ Branch 63 taken 90 times.
✓ Branch 64 taken 90 times.
✓ Branch 65 taken 30 times.
✓ Branch 66 taken 10 times.
✓ Branch 67 taken 90 times.
✓ Branch 68 taken 30 times.
✓ Branch 69 taken 90 times.
✓ Branch 70 taken 90 times.
430 jdx_s(3):jdx_e(3))
560 data(&
561 jdx_s(1):jdx_e(1),&
562 jdx_s(2):jdx_e(2),&
563 jdx_s(3):jdx_e(3)) = tlist(&
564 t_size(1,1):t_size(1,2),&
565 t_size(2,1):t_size(2,2),&
566
33/60
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 10 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 10 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 10 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 10 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 10 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 10 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 10 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 10 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 10 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 10 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 10 times.
✗ Branch 37 not taken.
✓ Branch 38 taken 10 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 10 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 10 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 10 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 10 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 10 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 10 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 10 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 10 times.
✓ Branch 57 taken 30 times.
✓ Branch 58 taken 10 times.
✓ Branch 59 taken 90 times.
✓ Branch 60 taken 30 times.
✓ Branch 61 taken 90 times.
✓ Branch 62 taken 90 times.
220 t_size(3,1):t_size(3,2))
567
568
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 itmp1 = label(i)
569
4/8
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 10 times.
10 label(i) = label(j)
570
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
11 label(j) = itmp1
571
572 end do
573
574
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
1 end subroutine shuffle_3Didata_1Dilist
575 !!!-----------------------------------------------------
576 !!!-----------------------------------------------------
577
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
1 subroutine shuffle_3Didata_1Drlist(data,label,dim,seed)
578 implicit none
579 integer :: istart,seed_size
580 integer :: i,j,n_data
581 integer :: itmp1
582 real(real12) :: r
583 integer, dimension(3) :: idx_s,idx_e,jdx_s,jdx_e
584 integer, dimension(3,2) :: t_size
585 1 integer, allocatable, dimension(:) :: iseed
586 1 integer, allocatable, dimension(:,:,:) :: tlist
587
588 integer, intent(in) :: dim
589 integer, dimension(:,:,:), intent(inout) :: data
590 real(real12), dimension(:), intent(inout) :: label
591
592 integer, optional, intent(in) :: seed
593
594
595 !! set or get random seed
596 1 call random_seed(size=seed_size)
597
7/14
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
1 allocate(iseed(seed_size))
598
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 if(present(seed))then
599
2/2
✓ Branch 0 taken 8 times.
✓ Branch 1 taken 1 times.
9 iseed = seed
600 1 call random_seed(put=iseed)
601 else
602 call random_seed(get=iseed)
603 end if
604
605 !! get the size of the data
606
9/18
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
1 n_data = size(data,dim=dim)
607
2/2
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 1 times.
4 do i=1,3
608
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
3 t_size(i,1) = 1
609
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
3 jdx_s(i) = 1
610
11/22
✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 3 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 3 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 3 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 3 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 3 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 3 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 3 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 3 times.
3 jdx_e(i) = size(data,dim=i)
611
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
3 idx_s(i) = 1
612
11/22
✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 3 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 3 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 3 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 3 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 3 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 3 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 3 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 3 times.
3 idx_e(i) = size(data,dim=i)
613
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 2 times.
4 if(i.eq.dim) then
614
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
1 t_size(i,2) = 1
615 else
616
11/22
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 2 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 2 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 2 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 2 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 2 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 2 times.
2 t_size(i,2) = size(data,dim=i)
617 end if
618 end do
619
11/22
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
1 allocate(tlist(t_size(1,2),t_size(2,2),t_size(3,2)))
620
621 !! shuffle the data
622 1 istart=1
623
2/2
✓ Branch 0 taken 10 times.
✓ Branch 1 taken 1 times.
11 do i=1,n_data
624 10 call random_number(r)
625
1/2
✓ Branch 0 taken 10 times.
✗ Branch 1 not taken.
10 j = istart + floor((n_data+1-istart)*r)
626
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 idx_s(dim) = i
627
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 idx_e(dim) = i
628
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 jdx_s(dim) = j
629
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 jdx_e(dim) = j
630 tlist(&
631 t_size(1,1):t_size(1,2),&
632 t_size(2,1):t_size(2,2),&
633 t_size(3,1):t_size(3,2)) = data(&
634 idx_s(1):idx_e(1),&
635 idx_s(2):idx_e(2),&
636
33/60
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 10 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 10 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 10 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 10 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 10 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 10 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 10 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 10 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 10 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 10 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 10 times.
✗ Branch 37 not taken.
✓ Branch 38 taken 10 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 10 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 10 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 10 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 10 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 10 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 10 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 10 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 10 times.
✓ Branch 57 taken 30 times.
✓ Branch 58 taken 10 times.
✓ Branch 59 taken 90 times.
✓ Branch 60 taken 30 times.
✓ Branch 61 taken 90 times.
✓ Branch 62 taken 90 times.
220 idx_s(3):idx_e(3))
637 data(&
638 idx_s(1):idx_e(1),&
639 idx_s(2):idx_e(2),&
640 idx_s(3):idx_e(3)) = data(&
641 jdx_s(1):jdx_e(1),&
642 jdx_s(2):jdx_e(2),&
643
40/68
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 10 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 10 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 10 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 10 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 10 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 10 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 10 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 10 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 10 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 10 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 10 times.
✗ Branch 37 not taken.
✓ Branch 38 taken 10 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 10 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 10 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 10 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 10 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 10 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 10 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 10 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 10 times.
✓ Branch 57 taken 10 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 30 times.
✓ Branch 60 taken 10 times.
✓ Branch 61 taken 90 times.
✓ Branch 62 taken 30 times.
✓ Branch 63 taken 90 times.
✓ Branch 64 taken 90 times.
✓ Branch 65 taken 30 times.
✓ Branch 66 taken 10 times.
✓ Branch 67 taken 90 times.
✓ Branch 68 taken 30 times.
✓ Branch 69 taken 90 times.
✓ Branch 70 taken 90 times.
430 jdx_s(3):jdx_e(3))
644 data(&
645 jdx_s(1):jdx_e(1),&
646 jdx_s(2):jdx_e(2),&
647 jdx_s(3):jdx_e(3)) = tlist(&
648 t_size(1,1):t_size(1,2),&
649 t_size(2,1):t_size(2,2),&
650
33/60
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 10 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 10 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 10 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 10 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 10 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 10 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 10 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 10 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 10 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 10 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 10 times.
✗ Branch 37 not taken.
✓ Branch 38 taken 10 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 10 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 10 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 10 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 10 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 10 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 10 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 10 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 10 times.
✓ Branch 57 taken 30 times.
✓ Branch 58 taken 10 times.
✓ Branch 59 taken 90 times.
✓ Branch 60 taken 30 times.
✓ Branch 61 taken 90 times.
✓ Branch 62 taken 90 times.
220 t_size(3,1):t_size(3,2))
651
652
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 itmp1 = label(i)
653
4/8
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 10 times.
10 label(i) = label(j)
654
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
11 label(j) = itmp1
655
656 end do
657
658
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
1 end subroutine shuffle_3Didata_1Drlist
659 !!!-----------------------------------------------------
660 !!!-----------------------------------------------------
661
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
1 subroutine shuffle_4Drdata_1Dilist(data,label,dim,seed)
662 implicit none
663 integer :: istart, seed_size
664 integer :: i,j,n_data
665 integer :: itmp1
666 real(real12) :: r
667 integer, dimension(4) :: idx_s,idx_e,jdx_s,jdx_e
668 integer, dimension(4,2) :: t_size
669 1 integer, allocatable, dimension(:) :: iseed
670 1 real(real12), allocatable, dimension(:,:,:,:) :: tlist
671
672 integer, intent(in) :: dim
673 real(real12), dimension(:,:,:,:), intent(inout) :: data
674 integer, dimension(:), intent(inout) :: label
675
676 integer, optional, intent(in) :: seed
677
678
679 !! set or get random seed
680 1 call random_seed(size=seed_size)
681
7/14
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
1 allocate(iseed(seed_size))
682
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 if(present(seed))then
683
2/2
✓ Branch 0 taken 8 times.
✓ Branch 1 taken 1 times.
9 iseed = seed
684 1 call random_seed(put=iseed)
685 else
686 call random_seed(get=iseed)
687 end if
688
689 !! get the size of the data
690
12/24
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
1 n_data = size(data,dim=dim)
691
2/2
✓ Branch 0 taken 4 times.
✓ Branch 1 taken 1 times.
5 do i=1,4
692
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
4 t_size(i,1) = 1
693
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
4 jdx_s(i) = 1
694
14/28
✗ Branch 0 not taken.
✓ Branch 1 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 4 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 4 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 4 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 4 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 4 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 4 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 4 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 4 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 4 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 4 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 4 times.
4 jdx_e(i) = size(data,dim=i)
695
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
4 idx_s(i) = 1
696
14/28
✗ Branch 0 not taken.
✓ Branch 1 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 4 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 4 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 4 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 4 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 4 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 4 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 4 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 4 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 4 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 4 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 4 times.
4 idx_e(i) = size(data,dim=i)
697
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 3 times.
5 if(i.eq.dim) then
698
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
1 t_size(i,2) = 1
699 else
700
14/28
✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 3 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 3 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 3 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 3 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 3 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 3 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 3 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 3 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 3 times.
3 t_size(i,2) = size(data,dim=i)
701 end if
702 end do
703
13/26
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 times.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 1 times.
✗ Branch 23 not taken.
✓ Branch 24 taken 1 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 1 times.
1 allocate(tlist(t_size(1,2),t_size(2,2),t_size(3,2),t_size(4,2)))
704
705 !! shuffle the data
706 1 istart=1
707
2/2
✓ Branch 0 taken 10 times.
✓ Branch 1 taken 1 times.
11 do i=1,n_data
708 10 call random_number(r)
709
1/2
✓ Branch 0 taken 10 times.
✗ Branch 1 not taken.
10 j = istart + floor((n_data+1-istart)*r)
710
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 idx_s(dim) = i
711
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 idx_e(dim) = i
712
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 jdx_s(dim) = j
713
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 jdx_e(dim) = j
714 tlist(&
715 t_size(1,1):t_size(1,2),&
716 t_size(2,1):t_size(2,2),&
717 t_size(3,1):t_size(3,2),&
718 t_size(4,1):t_size(4,2)) = data(&
719 idx_s(1):idx_e(1),&
720 idx_s(2):idx_e(2),&
721 idx_s(3):idx_e(3),&
722
44/80
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 10 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 10 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 10 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 10 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 10 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 10 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 10 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 10 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 10 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 10 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 10 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 10 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 10 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 10 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 10 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 10 times.
✗ Branch 47 not taken.
✓ Branch 48 taken 10 times.
✗ Branch 49 not taken.
✓ Branch 50 taken 10 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 10 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 10 times.
✗ Branch 56 not taken.
✓ Branch 57 taken 10 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 10 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 10 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 10 times.
✗ Branch 65 not taken.
✓ Branch 66 taken 10 times.
✗ Branch 67 not taken.
✓ Branch 68 taken 10 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 10 times.
✗ Branch 71 not taken.
✓ Branch 72 taken 10 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 10 times.
✓ Branch 76 taken 30 times.
✓ Branch 77 taken 10 times.
✓ Branch 78 taken 90 times.
✓ Branch 79 taken 30 times.
✓ Branch 80 taken 270 times.
✓ Branch 81 taken 90 times.
✓ Branch 82 taken 270 times.
✓ Branch 83 taken 270 times.
670 idx_s(4):idx_e(4))
723 data(&
724 idx_s(1):idx_e(1),&
725 idx_s(2):idx_e(2),&
726 idx_s(3):idx_e(3),&
727 idx_s(4):idx_e(4)) = data(&
728 jdx_s(1):jdx_e(1),&
729 jdx_s(2):jdx_e(2),&
730 jdx_s(3):jdx_e(3),&
731
53/90
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 10 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 10 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 10 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 10 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 10 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 10 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 10 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 10 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 10 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 10 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 10 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 10 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 10 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 10 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 10 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 10 times.
✗ Branch 47 not taken.
✓ Branch 48 taken 10 times.
✗ Branch 49 not taken.
✓ Branch 50 taken 10 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 10 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 10 times.
✗ Branch 56 not taken.
✓ Branch 57 taken 10 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 10 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 10 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 10 times.
✗ Branch 65 not taken.
✓ Branch 66 taken 10 times.
✗ Branch 67 not taken.
✓ Branch 68 taken 10 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 10 times.
✗ Branch 71 not taken.
✓ Branch 72 taken 10 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 10 times.
✓ Branch 76 taken 10 times.
✗ Branch 77 not taken.
✓ Branch 78 taken 30 times.
✓ Branch 79 taken 10 times.
✓ Branch 80 taken 90 times.
✓ Branch 81 taken 30 times.
✓ Branch 82 taken 270 times.
✓ Branch 83 taken 90 times.
✓ Branch 84 taken 270 times.
✓ Branch 85 taken 270 times.
✓ Branch 86 taken 30 times.
✓ Branch 87 taken 10 times.
✓ Branch 88 taken 90 times.
✓ Branch 89 taken 30 times.
✓ Branch 90 taken 270 times.
✓ Branch 91 taken 90 times.
✓ Branch 92 taken 270 times.
✓ Branch 93 taken 270 times.
1330 jdx_s(4):jdx_e(4))
732 data(&
733 jdx_s(1):jdx_e(1),&
734 jdx_s(2):jdx_e(2),&
735 jdx_s(3):jdx_e(3),&
736 jdx_s(4):jdx_e(4)) = tlist(&
737 t_size(1,1):t_size(1,2),&
738 t_size(2,1):t_size(2,2),&
739 t_size(3,1):t_size(3,2),&
740
44/80
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 10 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 10 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 10 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 10 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 10 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 10 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 10 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 10 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 10 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 10 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 10 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 10 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 10 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 10 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 10 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 10 times.
✗ Branch 47 not taken.
✓ Branch 48 taken 10 times.
✗ Branch 49 not taken.
✓ Branch 50 taken 10 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 10 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 10 times.
✗ Branch 56 not taken.
✓ Branch 57 taken 10 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 10 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 10 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 10 times.
✗ Branch 65 not taken.
✓ Branch 66 taken 10 times.
✗ Branch 67 not taken.
✓ Branch 68 taken 10 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 10 times.
✗ Branch 71 not taken.
✓ Branch 72 taken 10 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 10 times.
✓ Branch 76 taken 30 times.
✓ Branch 77 taken 10 times.
✓ Branch 78 taken 90 times.
✓ Branch 79 taken 30 times.
✓ Branch 80 taken 270 times.
✓ Branch 81 taken 90 times.
✓ Branch 82 taken 270 times.
✓ Branch 83 taken 270 times.
670 t_size(4,1):t_size(4,2))
741
742
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 itmp1 = label(i)
743
4/8
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 10 times.
10 label(i) = label(j)
744
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
11 label(j) = itmp1
745
746 end do
747
748
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
1 end subroutine shuffle_4Drdata_1Dilist
749 !!!-----------------------------------------------------
750 !!!-----------------------------------------------------
751
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
1 subroutine shuffle_5Drdata_1Dilist(data,label,dim,seed)
752 implicit none
753 integer :: istart,seed_size
754 integer :: i,j,n_data
755 integer :: itmp1
756 real(real12) :: r
757 integer, dimension(5) :: idx_s,idx_e,jdx_s,jdx_e
758 integer, dimension(5,2) :: t_size
759 1 integer, allocatable, dimension(:) :: iseed
760 1 real(real12), allocatable, dimension(:,:,:,:,:) :: tlist
761
762 integer, intent(in) :: dim
763 real(real12), dimension(:,:,:,:,:), intent(inout) :: data
764 integer, dimension(:), intent(inout) :: label
765
766 integer, optional, intent(in) :: seed
767
768
769 !! set or get random seed
770 1 call random_seed(size=seed_size)
771
7/14
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
1 allocate(iseed(seed_size))
772
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 if(present(seed))then
773
2/2
✓ Branch 0 taken 8 times.
✓ Branch 1 taken 1 times.
9 iseed = seed
774 1 call random_seed(put=iseed)
775 else
776 call random_seed(get=iseed)
777 end if
778
779 !! get the size of the data
780
15/30
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 1 times.
1 n_data = size(data,dim=dim)
781
2/2
✓ Branch 0 taken 5 times.
✓ Branch 1 taken 1 times.
6 do i=1,5
782
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 5 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 5 times.
5 t_size(i,1) = 1
783
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 5 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 5 times.
5 jdx_s(i) = 1
784
17/34
✗ Branch 0 not taken.
✓ Branch 1 taken 5 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 5 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 5 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 5 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 5 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 5 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 5 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 5 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 5 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 5 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 5 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 5 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 5 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 5 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 5 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 5 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 5 times.
5 jdx_e(i) = size(data,dim=i)
785
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 5 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 5 times.
5 idx_s(i) = 1
786
17/34
✗ Branch 0 not taken.
✓ Branch 1 taken 5 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 5 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 5 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 5 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 5 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 5 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 5 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 5 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 5 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 5 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 5 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 5 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 5 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 5 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 5 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 5 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 5 times.
5 idx_e(i) = size(data,dim=i)
787
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 4 times.
6 if(i.eq.dim) then
788
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
1 t_size(i,2) = 1
789 else
790
17/34
✗ Branch 0 not taken.
✓ Branch 1 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 4 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 4 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 4 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 4 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 4 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 4 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 4 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 4 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 4 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 4 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 4 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 4 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 4 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 4 times.
4 t_size(i,2) = size(data,dim=i)
791 end if
792 end do
793 allocate(tlist(&
794 t_size(1,2),t_size(2,2),&
795 t_size(3,2),t_size(4,2),&
796
15/30
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 times.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 1 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 1 times.
1 t_size(5,2)))
797
798 !! shuffle the data
799 1 istart=1
800
2/2
✓ Branch 0 taken 10 times.
✓ Branch 1 taken 1 times.
11 do i=1,n_data
801 10 call random_number(r)
802
1/2
✓ Branch 0 taken 10 times.
✗ Branch 1 not taken.
10 j = istart + floor((n_data+1-istart)*r)
803
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 idx_s(dim) = i
804
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 idx_e(dim) = i
805
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 jdx_s(dim) = j
806
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 jdx_e(dim) = j
807 tlist(&
808 t_size(1,1):t_size(1,2),&
809 t_size(2,1):t_size(2,2),&
810 t_size(3,1):t_size(3,2),&
811 t_size(4,1):t_size(4,2),&
812 t_size(5,1):t_size(5,2)) = data(&
813 idx_s(1):idx_e(1),&
814 idx_s(2):idx_e(2),&
815 idx_s(3):idx_e(3),&
816 idx_s(4):idx_e(4),&
817
55/100
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 10 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 10 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 10 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 10 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 10 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 10 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 10 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 10 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 10 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 10 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 10 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 10 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 10 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 10 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 10 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 10 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 10 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 10 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 10 times.
✗ Branch 53 not taken.
✓ Branch 54 taken 10 times.
✗ Branch 55 not taken.
✓ Branch 56 taken 10 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 10 times.
✗ Branch 59 not taken.
✓ Branch 60 taken 10 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 10 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 10 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 10 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 10 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 10 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 10 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 10 times.
✗ Branch 77 not taken.
✓ Branch 78 taken 10 times.
✗ Branch 79 not taken.
✓ Branch 80 taken 10 times.
✗ Branch 81 not taken.
✓ Branch 82 taken 10 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 10 times.
✗ Branch 86 not taken.
✓ Branch 87 taken 10 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 10 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 10 times.
✗ Branch 92 not taken.
✓ Branch 93 taken 10 times.
✓ Branch 95 taken 30 times.
✓ Branch 96 taken 10 times.
✓ Branch 97 taken 90 times.
✓ Branch 98 taken 30 times.
✓ Branch 99 taken 270 times.
✓ Branch 100 taken 90 times.
✓ Branch 101 taken 810 times.
✓ Branch 102 taken 270 times.
✓ Branch 103 taken 810 times.
✓ Branch 104 taken 810 times.
2020 idx_s(5):idx_e(5))
818 data(&
819 idx_s(1):idx_e(1),&
820 idx_s(2):idx_e(2),&
821 idx_s(3):idx_e(3),&
822 idx_s(4):idx_e(4),&
823 idx_s(5):idx_e(5)) = data(&
824 jdx_s(1):jdx_e(1),&
825 jdx_s(2):jdx_e(2),&
826 jdx_s(3):jdx_e(3),&
827 jdx_s(4):jdx_e(4),&
828
66/112
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 10 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 10 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 10 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 10 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 10 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 10 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 10 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 10 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 10 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 10 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 10 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 10 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 10 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 10 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 10 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 10 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 10 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 10 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 10 times.
✗ Branch 53 not taken.
✓ Branch 54 taken 10 times.
✗ Branch 55 not taken.
✓ Branch 56 taken 10 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 10 times.
✗ Branch 59 not taken.
✓ Branch 60 taken 10 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 10 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 10 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 10 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 10 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 10 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 10 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 10 times.
✗ Branch 77 not taken.
✓ Branch 78 taken 10 times.
✗ Branch 79 not taken.
✓ Branch 80 taken 10 times.
✗ Branch 81 not taken.
✓ Branch 82 taken 10 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 10 times.
✗ Branch 86 not taken.
✓ Branch 87 taken 10 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 10 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 10 times.
✗ Branch 92 not taken.
✓ Branch 93 taken 10 times.
✓ Branch 95 taken 10 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 30 times.
✓ Branch 98 taken 10 times.
✓ Branch 99 taken 90 times.
✓ Branch 100 taken 30 times.
✓ Branch 101 taken 270 times.
✓ Branch 102 taken 90 times.
✓ Branch 103 taken 810 times.
✓ Branch 104 taken 270 times.
✓ Branch 105 taken 810 times.
✓ Branch 106 taken 810 times.
✓ Branch 107 taken 30 times.
✓ Branch 108 taken 10 times.
✓ Branch 109 taken 90 times.
✓ Branch 110 taken 30 times.
✓ Branch 111 taken 270 times.
✓ Branch 112 taken 90 times.
✓ Branch 113 taken 810 times.
✓ Branch 114 taken 270 times.
✓ Branch 115 taken 810 times.
✓ Branch 116 taken 810 times.
4030 jdx_s(5):jdx_e(5))
829 data(&
830 jdx_s(1):jdx_e(1),&
831 jdx_s(2):jdx_e(2),&
832 jdx_s(3):jdx_e(3),&
833 jdx_s(4):jdx_e(4),&
834 jdx_s(5):jdx_e(5)) = tlist(&
835 t_size(1,1):t_size(1,2),&
836 t_size(2,1):t_size(2,2),&
837 t_size(3,1):t_size(3,2),&
838 t_size(4,1):t_size(4,2),&
839
55/100
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 10 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 10 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 10 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 10 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 10 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 10 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 10 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 10 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 10 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 10 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 10 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 10 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 10 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 10 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 10 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 10 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 10 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 10 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 10 times.
✗ Branch 53 not taken.
✓ Branch 54 taken 10 times.
✗ Branch 55 not taken.
✓ Branch 56 taken 10 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 10 times.
✗ Branch 59 not taken.
✓ Branch 60 taken 10 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 10 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 10 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 10 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 10 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 10 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 10 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 10 times.
✗ Branch 77 not taken.
✓ Branch 78 taken 10 times.
✗ Branch 79 not taken.
✓ Branch 80 taken 10 times.
✗ Branch 81 not taken.
✓ Branch 82 taken 10 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 10 times.
✗ Branch 86 not taken.
✓ Branch 87 taken 10 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 10 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 10 times.
✗ Branch 92 not taken.
✓ Branch 93 taken 10 times.
✓ Branch 95 taken 30 times.
✓ Branch 96 taken 10 times.
✓ Branch 97 taken 90 times.
✓ Branch 98 taken 30 times.
✓ Branch 99 taken 270 times.
✓ Branch 100 taken 90 times.
✓ Branch 101 taken 810 times.
✓ Branch 102 taken 270 times.
✓ Branch 103 taken 810 times.
✓ Branch 104 taken 810 times.
2020 t_size(5,1):t_size(5,2))
840
841
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 itmp1 = label(i)
842
4/8
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 10 times.
10 label(i) = label(j)
843
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
11 label(j) = itmp1
844
845 end do
846
847
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
1 end subroutine shuffle_5Drdata_1Dilist
848 !!!-----------------------------------------------------
849 !!!-----------------------------------------------------
850
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
2 subroutine shuffle_5Drdata_1Drlist(data,label,dim,seed,shuffle_list)
851 implicit none
852 integer :: istart,seed_size
853 integer :: i,j,n_data
854 real(real12) :: rtmp1
855 real(real12) :: r
856 integer, dimension(5) :: idx_s,idx_e,jdx_s,jdx_e
857 integer, dimension(5,2) :: t_size
858 1 integer, allocatable, dimension(:) :: iseed
859 1 real(real12), allocatable, dimension(:,:,:,:,:) :: tlist
860
861 integer, intent(in) :: dim
862 real(real12), dimension(:,:,:,:,:), intent(inout) :: data
863 real(real12), dimension(:), intent(inout) :: label
864
865 integer, optional, intent(in) :: seed
866 integer, optional, dimension(size(data,dim)), intent(out) :: shuffle_list
867
868
869 !! set or get random seed
870 1 call random_seed(size=seed_size)
871
7/14
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
1 allocate(iseed(seed_size))
872
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 if(present(seed))then
873
2/2
✓ Branch 0 taken 8 times.
✓ Branch 1 taken 1 times.
9 iseed = seed
874 1 call random_seed(put=iseed)
875 else
876 call random_seed(get=iseed)
877 end if
878
879 !! get the size of the data
880
15/30
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 1 times.
1 n_data = size(data,dim=dim)
881
2/2
✓ Branch 0 taken 5 times.
✓ Branch 1 taken 1 times.
6 do i=1,5
882
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 5 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 5 times.
5 t_size(i,1) = 1
883
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 5 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 5 times.
5 jdx_s(i) = 1
884
17/34
✗ Branch 0 not taken.
✓ Branch 1 taken 5 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 5 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 5 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 5 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 5 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 5 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 5 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 5 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 5 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 5 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 5 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 5 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 5 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 5 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 5 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 5 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 5 times.
5 jdx_e(i) = size(data,dim=i)
885
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 5 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 5 times.
5 idx_s(i) = 1
886
17/34
✗ Branch 0 not taken.
✓ Branch 1 taken 5 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 5 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 5 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 5 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 5 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 5 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 5 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 5 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 5 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 5 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 5 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 5 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 5 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 5 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 5 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 5 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 5 times.
5 idx_e(i) = size(data,dim=i)
887
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 4 times.
6 if(i.eq.dim) then
888
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
1 t_size(i,2) = 1
889 else
890
17/34
✗ Branch 0 not taken.
✓ Branch 1 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 4 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 4 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 4 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 4 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 4 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 4 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 4 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 4 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 4 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 4 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 4 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 4 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 4 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 4 times.
4 t_size(i,2) = size(data,dim=i)
891 end if
892 end do
893
894 allocate(tlist(&
895 t_size(1,2),t_size(2,2),&
896 t_size(3,2),t_size(4,2),&
897
15/30
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 times.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 1 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 1 times.
1 t_size(5,2)))
898
899 1 istart=1
900
2/2
✓ Branch 0 taken 10 times.
✓ Branch 1 taken 1 times.
11 do i=1,n_data
901 10 call random_number(r)
902
1/2
✓ Branch 0 taken 10 times.
✗ Branch 1 not taken.
10 j = istart + floor((n_data+1-istart)*r)
903
1/6
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
10 if(present(shuffle_list)) shuffle_list(i) = j
904
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 idx_s(dim) = i
905
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 idx_e(dim) = i
906
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 jdx_s(dim) = j
907
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 jdx_e(dim) = j
908 tlist(&
909 t_size(1,1):t_size(1,2),&
910 t_size(2,1):t_size(2,2),&
911 t_size(3,1):t_size(3,2),&
912 t_size(4,1):t_size(4,2),&
913 t_size(5,1):t_size(5,2)) = data(&
914 idx_s(1):idx_e(1),&
915 idx_s(2):idx_e(2),&
916 idx_s(3):idx_e(3),&
917 idx_s(4):idx_e(4),&
918
55/100
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 10 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 10 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 10 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 10 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 10 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 10 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 10 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 10 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 10 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 10 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 10 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 10 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 10 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 10 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 10 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 10 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 10 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 10 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 10 times.
✗ Branch 53 not taken.
✓ Branch 54 taken 10 times.
✗ Branch 55 not taken.
✓ Branch 56 taken 10 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 10 times.
✗ Branch 59 not taken.
✓ Branch 60 taken 10 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 10 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 10 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 10 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 10 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 10 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 10 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 10 times.
✗ Branch 77 not taken.
✓ Branch 78 taken 10 times.
✗ Branch 79 not taken.
✓ Branch 80 taken 10 times.
✗ Branch 81 not taken.
✓ Branch 82 taken 10 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 10 times.
✗ Branch 86 not taken.
✓ Branch 87 taken 10 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 10 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 10 times.
✗ Branch 92 not taken.
✓ Branch 93 taken 10 times.
✓ Branch 95 taken 30 times.
✓ Branch 96 taken 10 times.
✓ Branch 97 taken 90 times.
✓ Branch 98 taken 30 times.
✓ Branch 99 taken 270 times.
✓ Branch 100 taken 90 times.
✓ Branch 101 taken 810 times.
✓ Branch 102 taken 270 times.
✓ Branch 103 taken 810 times.
✓ Branch 104 taken 810 times.
2020 idx_s(5):idx_e(5))
919 data(&
920 idx_s(1):idx_e(1),&
921 idx_s(2):idx_e(2),&
922 idx_s(3):idx_e(3),&
923 idx_s(4):idx_e(4),&
924 idx_s(5):idx_e(5)) = data(&
925 jdx_s(1):jdx_e(1),&
926 jdx_s(2):jdx_e(2),&
927 jdx_s(3):jdx_e(3),&
928 jdx_s(4):jdx_e(4),&
929
66/112
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 10 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 10 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 10 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 10 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 10 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 10 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 10 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 10 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 10 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 10 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 10 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 10 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 10 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 10 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 10 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 10 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 10 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 10 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 10 times.
✗ Branch 53 not taken.
✓ Branch 54 taken 10 times.
✗ Branch 55 not taken.
✓ Branch 56 taken 10 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 10 times.
✗ Branch 59 not taken.
✓ Branch 60 taken 10 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 10 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 10 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 10 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 10 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 10 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 10 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 10 times.
✗ Branch 77 not taken.
✓ Branch 78 taken 10 times.
✗ Branch 79 not taken.
✓ Branch 80 taken 10 times.
✗ Branch 81 not taken.
✓ Branch 82 taken 10 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 10 times.
✗ Branch 86 not taken.
✓ Branch 87 taken 10 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 10 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 10 times.
✗ Branch 92 not taken.
✓ Branch 93 taken 10 times.
✓ Branch 95 taken 10 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 30 times.
✓ Branch 98 taken 10 times.
✓ Branch 99 taken 90 times.
✓ Branch 100 taken 30 times.
✓ Branch 101 taken 270 times.
✓ Branch 102 taken 90 times.
✓ Branch 103 taken 810 times.
✓ Branch 104 taken 270 times.
✓ Branch 105 taken 810 times.
✓ Branch 106 taken 810 times.
✓ Branch 107 taken 30 times.
✓ Branch 108 taken 10 times.
✓ Branch 109 taken 90 times.
✓ Branch 110 taken 30 times.
✓ Branch 111 taken 270 times.
✓ Branch 112 taken 90 times.
✓ Branch 113 taken 810 times.
✓ Branch 114 taken 270 times.
✓ Branch 115 taken 810 times.
✓ Branch 116 taken 810 times.
4030 jdx_s(5):jdx_e(5))
930 data(&
931 jdx_s(1):jdx_e(1),&
932 jdx_s(2):jdx_e(2),&
933 jdx_s(3):jdx_e(3),&
934 jdx_s(4):jdx_e(4),&
935 jdx_s(5):jdx_e(5)) = tlist(&
936 t_size(1,1):t_size(1,2),&
937 t_size(2,1):t_size(2,2),&
938 t_size(3,1):t_size(3,2),&
939 t_size(4,1):t_size(4,2),&
940
55/100
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 10 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 10 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 10 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 10 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 10 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 10 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 10 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 10 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 10 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 10 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 10 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 10 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 10 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 10 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 10 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 10 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 10 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 10 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 10 times.
✗ Branch 53 not taken.
✓ Branch 54 taken 10 times.
✗ Branch 55 not taken.
✓ Branch 56 taken 10 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 10 times.
✗ Branch 59 not taken.
✓ Branch 60 taken 10 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 10 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 10 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 10 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 10 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 10 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 10 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 10 times.
✗ Branch 77 not taken.
✓ Branch 78 taken 10 times.
✗ Branch 79 not taken.
✓ Branch 80 taken 10 times.
✗ Branch 81 not taken.
✓ Branch 82 taken 10 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 10 times.
✗ Branch 86 not taken.
✓ Branch 87 taken 10 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 10 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 10 times.
✗ Branch 92 not taken.
✓ Branch 93 taken 10 times.
✓ Branch 95 taken 30 times.
✓ Branch 96 taken 10 times.
✓ Branch 97 taken 90 times.
✓ Branch 98 taken 30 times.
✓ Branch 99 taken 270 times.
✓ Branch 100 taken 90 times.
✓ Branch 101 taken 810 times.
✓ Branch 102 taken 270 times.
✓ Branch 103 taken 810 times.
✓ Branch 104 taken 810 times.
2020 t_size(5,1):t_size(5,2))
941
942
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
10 rtmp1 = label(i)
943
4/8
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 10 times.
10 label(i) = label(j)
944
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
11 label(j) = rtmp1
945
946 end do
947
948
3/6
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 end subroutine shuffle_5Drdata_1Drlist
949 !!!#####################################################
950
951 !!!#####################################################
952 !!! split an array along a dimension into two
953 !!!#####################################################
954
1/2
✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
2 subroutine split_5Drdata(data,left,right,dim,&
955 left_size,right_size,&
956 shuffle,seed)
957 implicit none
958 real(real12), dimension(:,:,:,:,:), intent(in) :: data
959 real(real12), allocatable, dimension(:,:,:,:,:), intent(out) :: left, right
960 integer, intent(in) :: dim
961 real(real12), optional, intent(in) :: left_size, right_size
962 logical, optional, intent(in) :: shuffle
963 integer, optional, intent(in) :: seed
964
965 integer :: seed_, left_num_, right_num_
966 logical :: shuffle_
967 integer :: i, j
968 integer :: num_redos
969 real(real12) :: rtmp1
970 2 integer, allocatable, dimension(:) :: indices_l, indices_r
971 2 real(real12), allocatable, dimension(:) :: tlist
972 2 real(real12), allocatable, dimension(:,:,:,:,:) :: data_copy
973
974 type idx_type
975 integer, allocatable, dimension(:) :: loc
976 end type idx_type
977
5/6
✓ Branch 0 taken 10 times.
✓ Branch 1 taken 2 times.
✓ Branch 2 taken 10 times.
✓ Branch 3 taken 2 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
34 type(idx_type), dimension(5) :: idx
978
979
980 !! determine number of elements for left and right split
981
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
2 if(.not.present(left_size).and..not.present(right_size))then
982 stop "ERROR: neither left_size nor right_size provided to split. Expected at least one."
983
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 1 times.
2 elseif(present(left_size).and..not.present(right_size))then
984
15/30
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 1 times.
1 left_num_ = nint(left_size*size(data,dim))
985
15/30
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 1 times.
1 right_num_ = size(data,dim) - left_num_
986
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 elseif(.not.present(left_size).and.present(right_size))then
987
15/30
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 1 times.
1 right_num_ = nint(right_size*size(data,dim))
988
15/30
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 1 times.
1 left_num_ = size(data,dim) - right_num_
989 else
990 left_num_ = nint(left_size*size(data,dim))
991 right_num_ = nint(right_size*size(data,dim))
992 if(left_num_ + right_num_ .ne. size(data,dim)) &
993 right_num_ = size(data,dim) - left_num_
994 end if
995
996
997 !! initialies optional arguments
998
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
2 if(present(shuffle))then
999 shuffle_ = shuffle
1000 else
1001 2 shuffle_ = .false.
1002 end if
1003
1004
1/2
✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
2 if(present(seed))then
1005 2 seed_ = seed
1006 else
1007 call system_clock(count=seed_)
1008 end if
1009
1010 !! copy input data
1011
27/54
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 2 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 2 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 2 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 2 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 2 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 2 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 2 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 2 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 2 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 2 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 2 times.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
✗ Branch 52 not taken.
✗ Branch 53 not taken.
✗ Branch 54 not taken.
✗ Branch 55 not taken.
✗ Branch 56 not taken.
✓ Branch 57 taken 2 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 6 times.
✓ Branch 60 taken 2 times.
✓ Branch 61 taken 18 times.
✓ Branch 62 taken 6 times.
✓ Branch 63 taken 54 times.
✓ Branch 64 taken 18 times.
✓ Branch 65 taken 162 times.
✓ Branch 66 taken 54 times.
✓ Branch 67 taken 16200 times.
✓ Branch 68 taken 162 times.
16442 data_copy = data
1012
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
2 if(shuffle_) call shuffle_5Drdata(data_copy,dim,seed_)
1013
1014 !! get list of indices for right split
1015 2 num_redos = 0
1016
7/14
✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 2 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 2 times.
2 allocate(tlist(right_num_))
1017 2 call random_number(tlist)
1018
24/48
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 2 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 2 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 2 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 2 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 2 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 2 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 2 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 2 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 2 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 2 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 2 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 2 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 2 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 2 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 2 times.
✗ Branch 59 not taken.
✗ Branch 60 not taken.
✓ Branch 61 taken 2 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 150 times.
✓ Branch 64 taken 2 times.
✓ Branch 65 taken 150 times.
✗ Branch 66 not taken.
152 indices_r = floor(tlist*size(data,dim)) + 1
1019 2 i = 1
1020 243 indices_r_loop: do
1021
2/2
✓ Branch 0 taken 2 times.
✓ Branch 1 taken 243 times.
245 if(i.ge.right_num_) exit indices_r_loop
1022 243 i = i + 1
1023
12/18
✗ Branch 0 not taken.
✓ Branch 1 taken 243 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 243 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 243 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 243 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 243 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 243 times.
✓ Branch 18 taken 8111 times.
✓ Branch 19 taken 148 times.
✓ Branch 20 taken 95 times.
✓ Branch 21 taken 8016 times.
✓ Branch 22 taken 95 times.
✓ Branch 23 taken 148 times.
8259 if(any(indices_r(:i-1).eq.indices_r(i)))then
1024
11/20
✗ Branch 0 not taken.
✓ Branch 1 taken 95 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 95 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 95 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 95 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 95 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 95 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 95 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 95 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 95 times.
✓ Branch 27 taken 1931 times.
✓ Branch 28 taken 95 times.
2026 indices_r(i:right_num_-num_redos-1) = indices_r(i+1:right_num_-num_redos)
1025 95 call random_number(rtmp1)
1026
18/36
✗ Branch 0 not taken.
✓ Branch 1 taken 95 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 95 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 95 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 95 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 95 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 95 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 95 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 95 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 95 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 95 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 95 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 95 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 95 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 95 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 95 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 95 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 95 times.
✓ Branch 51 taken 95 times.
✗ Branch 52 not taken.
95 indices_r(right_num_) = floor(rtmp1*size(data,dim)) + 1
1027 95 i = i - 1
1028 end if
1029 end do indices_r_loop
1030
1031 !! generate right split
1032
2/2
✓ Branch 0 taken 10 times.
✓ Branch 1 taken 2 times.
12 do i=1,5
1033
2/2
✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
12 if(i.eq.dim)then
1034
12/24
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 2 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 2 times.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✓ Branch 22 taken 2 times.
✗ Branch 23 not taken.
✓ Branch 24 taken 2 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 2 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 150 times.
✓ Branch 29 taken 2 times.
152 idx(i)%loc = indices_r
1035 else
1036
27/50
✗ Branch 0 not taken.
✓ Branch 1 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 8 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 8 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 8 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 8 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 8 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 8 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 8 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 8 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 8 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 8 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 8 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 8 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 8 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 8 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 8 times.
✓ Branch 54 taken 24 times.
✓ Branch 55 taken 8 times.
✗ Branch 56 not taken.
✓ Branch 57 taken 8 times.
✓ Branch 58 taken 24 times.
✓ Branch 59 taken 8 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 8 times.
✗ Branch 62 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 8 times.
✗ Branch 65 not taken.
✓ Branch 66 taken 24 times.
✓ Branch 67 taken 8 times.
80 idx(i)%loc = (/ ( j, j=1,size(data,i) ) /)
1037 end if
1038 end do
1039
57/104
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
✓ Branch 14 taken 150 times.
✓ Branch 15 taken 2 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 2 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 2 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 2 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 2 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 2 times.
✓ Branch 30 taken 6 times.
✓ Branch 31 taken 2 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 2 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 2 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 2 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 2 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 2 times.
✓ Branch 46 taken 6 times.
✓ Branch 47 taken 2 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 2 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 2 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 2 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 2 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 2 times.
✓ Branch 62 taken 6 times.
✓ Branch 63 taken 2 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 2 times.
✗ Branch 67 not taken.
✓ Branch 68 taken 2 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 2 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 2 times.
✗ Branch 76 not taken.
✓ Branch 77 taken 2 times.
✓ Branch 78 taken 6 times.
✓ Branch 79 taken 2 times.
✗ Branch 80 not taken.
✓ Branch 81 taken 2 times.
✗ Branch 82 not taken.
✗ Branch 83 not taken.
✗ Branch 84 not taken.
✗ Branch 85 not taken.
✗ Branch 86 not taken.
✗ Branch 87 not taken.
✗ Branch 88 not taken.
✗ Branch 89 not taken.
✗ Branch 90 not taken.
✗ Branch 91 not taken.
✓ Branch 92 taken 2 times.
✗ Branch 93 not taken.
✓ Branch 94 taken 6 times.
✓ Branch 95 taken 2 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 6 times.
✗ Branch 99 not taken.
✓ Branch 100 taken 6 times.
✓ Branch 102 taken 18 times.
✓ Branch 103 taken 6 times.
✗ Branch 104 not taken.
✓ Branch 105 taken 18 times.
✗ Branch 107 not taken.
✓ Branch 108 taken 18 times.
✓ Branch 110 taken 54 times.
✓ Branch 111 taken 18 times.
✗ Branch 112 not taken.
✓ Branch 113 taken 54 times.
✗ Branch 115 not taken.
✓ Branch 116 taken 54 times.
✓ Branch 118 taken 162 times.
✓ Branch 119 taken 54 times.
✗ Branch 120 not taken.
✓ Branch 121 taken 162 times.
✗ Branch 123 not taken.
✓ Branch 124 taken 162 times.
✓ Branch 126 taken 12150 times.
✓ Branch 127 taken 162 times.
✗ Branch 128 not taken.
✓ Branch 129 taken 12150 times.
✗ Branch 131 not taken.
✓ Branch 132 taken 12150 times.
12566 right = data_copy(idx(1)%loc,idx(2)%loc,idx(3)%loc,idx(4)%loc,idx(5)%loc)
1040
1041 !! get list of indices for left split
1042
17/32
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 2 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 2 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 2 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 2 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 2 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 2 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 2 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 2 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 2 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 2 times.
✓ Branch 45 taken 200 times.
✓ Branch 46 taken 2 times.
202 indices_l_loop: do i=1,size(data,dim)
1043
10/14
✗ Branch 0 not taken.
✓ Branch 1 taken 200 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 200 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 200 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 200 times.
✓ Branch 12 taken 9450 times.
✓ Branch 13 taken 50 times.
✓ Branch 14 taken 150 times.
✓ Branch 15 taken 9300 times.
✓ Branch 16 taken 150 times.
✓ Branch 17 taken 50 times.
9500 if(any(indices_r.eq.i)) cycle indices_l_loop
1044
2/2
✓ Branch 0 taken 48 times.
✓ Branch 1 taken 2 times.
52 if(allocated(indices_l)) then
1045
15/24
✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 48 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 48 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 48 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 48 times.
✓ Branch 15 taken 600 times.
✓ Branch 16 taken 48 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 48 times.
✓ Branch 19 taken 648 times.
✓ Branch 20 taken 48 times.
✓ Branch 21 taken 48 times.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✓ Branch 24 taken 48 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 48 times.
✓ Branch 27 taken 648 times.
✓ Branch 28 taken 48 times.
1944 indices_l = [indices_l(:), i]
1046 else
1047
4/8
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✓ Branch 7 taken 2 times.
4 indices_l = [i]
1048 end if
1049 end do indices_l_loop
1050
1051 !! generate left split
1052
13/24
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 2 times.
✓ Branch 18 taken 2 times.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✓ Branch 21 taken 2 times.
✓ Branch 22 taken 2 times.
✗ Branch 23 not taken.
✓ Branch 24 taken 2 times.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✓ Branch 27 taken 2 times.
✓ Branch 28 taken 50 times.
✓ Branch 29 taken 2 times.
52 idx(dim)%loc = indices_l
1053
57/104
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
✓ Branch 14 taken 50 times.
✓ Branch 15 taken 2 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 2 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 2 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 2 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 2 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 2 times.
✓ Branch 30 taken 6 times.
✓ Branch 31 taken 2 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 2 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 2 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 2 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 2 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 2 times.
✓ Branch 46 taken 6 times.
✓ Branch 47 taken 2 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 2 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 2 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 2 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 2 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 2 times.
✓ Branch 62 taken 6 times.
✓ Branch 63 taken 2 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 2 times.
✗ Branch 67 not taken.
✓ Branch 68 taken 2 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 2 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 2 times.
✗ Branch 76 not taken.
✓ Branch 77 taken 2 times.
✓ Branch 78 taken 6 times.
✓ Branch 79 taken 2 times.
✗ Branch 80 not taken.
✓ Branch 81 taken 2 times.
✗ Branch 82 not taken.
✗ Branch 83 not taken.
✗ Branch 84 not taken.
✗ Branch 85 not taken.
✗ Branch 86 not taken.
✗ Branch 87 not taken.
✗ Branch 88 not taken.
✗ Branch 89 not taken.
✗ Branch 90 not taken.
✗ Branch 91 not taken.
✓ Branch 92 taken 2 times.
✗ Branch 93 not taken.
✓ Branch 94 taken 6 times.
✓ Branch 95 taken 2 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 6 times.
✗ Branch 99 not taken.
✓ Branch 100 taken 6 times.
✓ Branch 102 taken 18 times.
✓ Branch 103 taken 6 times.
✗ Branch 104 not taken.
✓ Branch 105 taken 18 times.
✗ Branch 107 not taken.
✓ Branch 108 taken 18 times.
✓ Branch 110 taken 54 times.
✓ Branch 111 taken 18 times.
✗ Branch 112 not taken.
✓ Branch 113 taken 54 times.
✗ Branch 115 not taken.
✓ Branch 116 taken 54 times.
✓ Branch 118 taken 162 times.
✓ Branch 119 taken 54 times.
✗ Branch 120 not taken.
✓ Branch 121 taken 162 times.
✗ Branch 123 not taken.
✓ Branch 124 taken 162 times.
✓ Branch 126 taken 4050 times.
✓ Branch 127 taken 162 times.
✗ Branch 128 not taken.
✓ Branch 129 taken 4050 times.
✗ Branch 131 not taken.
✓ Branch 132 taken 4050 times.
4366 left = data_copy(idx(1)%loc,idx(2)%loc,idx(3)%loc,idx(4)%loc,idx(5)%loc)
1054
1055
4/8
✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
4 end subroutine split_5Drdata
1056 !!!-----------------------------------------------------
1057 !!!-----------------------------------------------------
1058
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
1 subroutine split_3Didata_1Dilist(data,label,left_data,right_data,&
1059 left_label,right_label,dim,&
1060 left_size,right_size,&
1061 shuffle,seed,split_list)
1062 implicit none
1063 integer, dimension(:,:,:), intent(in) :: data
1064 integer, dimension(:), intent(in) :: label
1065 integer, allocatable, dimension(:,:,:), intent(out) :: left_data, right_data
1066 integer, allocatable, dimension(:), intent(out) :: left_label, right_label
1067 integer, intent(in) :: dim
1068 real(real12), optional, intent(in) :: left_size, right_size
1069 logical, optional, intent(in) :: shuffle
1070 integer, optional, intent(in) :: seed
1071 integer, optional, dimension(size(data,dim)), intent(out) :: split_list
1072
1073 integer :: seed_, left_num_, right_num_
1074 logical :: shuffle_
1075 integer :: i, j
1076 integer :: num_redos
1077 real(real12) :: rtmp1
1078 1 integer, allocatable, dimension(:) :: indices_l, indices_r
1079 1 real(real12), allocatable, dimension(:) :: tlist
1080 1 integer, allocatable, dimension(:) :: label_copy
1081 1 integer, allocatable, dimension(:,:,:) :: data_copy
1082
1083 type idx_type
1084 integer, allocatable, dimension(:) :: loc
1085 end type idx_type
1086
5/6
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 1 times.
✓ Branch 2 taken 3 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 3 times.
11 type(idx_type), dimension(3) :: idx
1087
1088
1089 !! determine number of elements for left and right split
1090
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
1 if(.not.present(left_size).and..not.present(right_size))then
1091 stop "ERROR: neither left_size nor right_size provided to split.&
1092 &Expected at least one."
1093
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 elseif(present(left_size).and..not.present(right_size))then
1094
9/18
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
1 left_num_ = nint(left_size*size(data,dim))
1095
9/18
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
1 right_num_ = size(data,dim) - left_num_
1096 elseif(.not.present(left_size).and.present(right_size))then
1097 right_num_ = nint(right_size*size(data,dim))
1098 left_num_ = size(data,dim) - right_num_
1099 else
1100 left_num_ = nint(left_size*size(data,dim))
1101 right_num_ = nint(right_size*size(data,dim))
1102 if(left_num_ + right_num_ .ne. size(data,dim)) &
1103 right_num_ = size(data,dim) - left_num_
1104 end if
1105
1106 !! initialies optional arguments
1107
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
1 if(present(shuffle))then
1108 shuffle_ = shuffle
1109 else
1110 1 shuffle_ = .false.
1111 end if
1112
1113
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 if(present(seed))then
1114 1 seed_ = seed
1115 else
1116 call system_clock(count=seed_)
1117 end if
1118
1119 !! copy input data
1120
17/34
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✗ Branch 30 not taken.
✗ Branch 31 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 34 not taken.
✓ Branch 35 taken 1 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✓ Branch 38 taken 1 times.
✓ Branch 39 taken 9 times.
✓ Branch 40 taken 3 times.
✓ Branch 41 taken 900 times.
✓ Branch 42 taken 9 times.
913 data_copy = data
1121
7/14
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 100 times.
✓ Branch 16 taken 1 times.
101 label_copy = label
1122
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
1 if(shuffle_) call shuffle_3Didata_1Dilist(data_copy,label_copy,dim,seed_)
1123
1124 !! get list of indices for right split
1125 1 num_redos = 0
1126
7/14
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
1 allocate(tlist(right_num_))
1127 1 call random_number(tlist)
1128
18/36
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 41 not taken.
✗ Branch 42 not taken.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 75 times.
✓ Branch 46 taken 1 times.
✓ Branch 47 taken 75 times.
✗ Branch 48 not taken.
76 indices_r = floor(tlist*size(data,dim)) + 1
1129 1 i = 1
1130 146 indices_r_loop: do
1131
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 146 times.
147 if(i.ge.right_num_) exit indices_r_loop
1132 146 i = i + 1
1133
12/18
✗ Branch 0 not taken.
✓ Branch 1 taken 146 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 146 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 146 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 146 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 146 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 146 times.
✓ Branch 18 taken 4740 times.
✓ Branch 19 taken 74 times.
✓ Branch 20 taken 72 times.
✓ Branch 21 taken 4668 times.
✓ Branch 22 taken 72 times.
✓ Branch 23 taken 74 times.
4814 if(any(indices_r(:i-1).eq.indices_r(i)))then
1134 indices_r(i:right_num_-num_redos-1) = &
1135
11/20
✗ Branch 0 not taken.
✓ Branch 1 taken 72 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 72 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 72 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 72 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 72 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 72 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 72 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 72 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 72 times.
✓ Branch 23 taken 1615 times.
✓ Branch 24 taken 72 times.
1687 indices_r(i+1:right_num_-num_redos)
1136 72 call random_number(rtmp1)
1137
12/24
✗ Branch 0 not taken.
✓ Branch 1 taken 72 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 72 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 72 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 72 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 72 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 72 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 72 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 72 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 72 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 72 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 72 times.
✓ Branch 33 taken 72 times.
✗ Branch 34 not taken.
72 indices_r(right_num_) = floor(rtmp1*size(data,dim)) + 1
1138 72 i = i - 1
1139 end if
1140 end do indices_r_loop
1141
1142 !! generate right split
1143
2/2
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 1 times.
4 do i=1,3
1144
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 2 times.
4 if(i.eq.dim)then
1145
12/24
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✓ Branch 24 taken 1 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 75 times.
✓ Branch 29 taken 1 times.
76 idx(i)%loc = indices_r
1146 else
1147
21/38
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 2 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 2 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 2 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 2 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 2 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 2 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 2 times.
✓ Branch 36 taken 6 times.
✓ Branch 37 taken 2 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 2 times.
✓ Branch 40 taken 6 times.
✓ Branch 41 taken 2 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 2 times.
✗ Branch 44 not taken.
✗ Branch 45 not taken.
✓ Branch 46 taken 2 times.
✗ Branch 47 not taken.
✓ Branch 48 taken 6 times.
✓ Branch 49 taken 2 times.
20 idx(i)%loc = (/ ( j, j=1,size(data,i) ) /)
1148 end if
1149 end do
1150 right_data = data_copy(&
1151
35/64
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✓ Branch 14 taken 75 times.
✓ Branch 15 taken 1 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 1 times.
✓ Branch 30 taken 3 times.
✓ Branch 31 taken 1 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 1 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 1 times.
✓ Branch 46 taken 3 times.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 1 times.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
✗ Branch 52 not taken.
✗ Branch 53 not taken.
✗ Branch 54 not taken.
✗ Branch 55 not taken.
✓ Branch 56 taken 1 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 3 times.
✓ Branch 59 taken 1 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 3 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 3 times.
✓ Branch 64 taken 9 times.
✓ Branch 65 taken 3 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 9 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 9 times.
✓ Branch 70 taken 675 times.
✓ Branch 71 taken 9 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 675 times.
✗ Branch 74 not taken.
✓ Branch 75 taken 675 times.
769 idx(1)%loc,idx(2)%loc,idx(3)%loc)
1152
6/12
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 75 times.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 75 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 75 times.
76 right_label = label_copy(indices_r)
1153
1154 !! get list of indices for left split
1155
1/12
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
1 if(present(split_list)) split_list = 2
1156
11/20
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✓ Branch 27 taken 100 times.
✓ Branch 28 taken 1 times.
101 indices_l_loop: do i=1,size(data,dim)
1157
10/14
✗ Branch 0 not taken.
✓ Branch 1 taken 100 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 100 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 100 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 100 times.
✓ Branch 12 taken 4725 times.
✓ Branch 13 taken 25 times.
✓ Branch 14 taken 75 times.
✓ Branch 15 taken 4650 times.
✓ Branch 16 taken 75 times.
✓ Branch 17 taken 25 times.
4750 if(any(indices_r.eq.i)) cycle indices_l_loop
1158
2/2
✓ Branch 0 taken 24 times.
✓ Branch 1 taken 1 times.
25 if(allocated(indices_l)) then
1159
15/24
✗ Branch 0 not taken.
✓ Branch 1 taken 24 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 24 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 24 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 24 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 24 times.
✓ Branch 15 taken 300 times.
✓ Branch 16 taken 24 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 24 times.
✓ Branch 19 taken 324 times.
✓ Branch 20 taken 24 times.
✓ Branch 21 taken 24 times.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✓ Branch 24 taken 24 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 24 times.
✓ Branch 27 taken 324 times.
✓ Branch 28 taken 24 times.
972 indices_l = [indices_l(:), i]
1160 else
1161
4/8
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 7 taken 1 times.
2 indices_l = [i]
1162 end if
1163
1/6
✗ Branch 0 not taken.
✓ Branch 1 taken 25 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
26 if(present(split_list)) split_list(i) = 1
1164 end do indices_l_loop
1165
1166 !! generate left split
1167
13/24
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✓ Branch 21 taken 1 times.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✓ Branch 24 taken 1 times.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✓ Branch 27 taken 1 times.
✓ Branch 28 taken 25 times.
✓ Branch 29 taken 1 times.
26 idx(dim)%loc = indices_l
1168 left_data = data_copy(&
1169
35/64
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✓ Branch 14 taken 25 times.
✓ Branch 15 taken 1 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 1 times.
✓ Branch 30 taken 3 times.
✓ Branch 31 taken 1 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 1 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 1 times.
✓ Branch 46 taken 3 times.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 1 times.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
✗ Branch 52 not taken.
✗ Branch 53 not taken.
✗ Branch 54 not taken.
✗ Branch 55 not taken.
✓ Branch 56 taken 1 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 3 times.
✓ Branch 59 taken 1 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 3 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 3 times.
✓ Branch 64 taken 9 times.
✓ Branch 65 taken 3 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 9 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 9 times.
✓ Branch 70 taken 225 times.
✓ Branch 71 taken 9 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 225 times.
✗ Branch 74 not taken.
✓ Branch 75 taken 225 times.
269 idx(1)%loc,idx(2)%loc,idx(3)%loc)
1170
6/12
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 25 times.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 25 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 25 times.
26 left_label = label_copy(indices_l)
1171
1172
6/12
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
3 end subroutine split_3Didata_1Dilist
1173 !!!-----------------------------------------------------
1174 !!!-----------------------------------------------------
1175
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
1 subroutine split_3Didata_1Drlist(data,label,left_data,right_data,&
1176 left_label,right_label,dim,&
1177 left_size,right_size,&
1178 shuffle,seed,split_list)
1179 implicit none
1180 integer, dimension(:,:,:), intent(in) :: data
1181 real(real12), dimension(:), intent(in) :: label
1182 integer, allocatable, dimension(:,:,:), intent(out) :: left_data, right_data
1183 real(real12), allocatable, dimension(:), intent(out) :: left_label, right_label
1184 integer, intent(in) :: dim
1185 real(real12), optional, intent(in) :: left_size, right_size
1186 logical, optional, intent(in) :: shuffle
1187 integer, optional, intent(in) :: seed
1188 integer, optional, dimension(size(data,dim)), intent(out) :: split_list
1189
1190 integer :: seed_, left_num_, right_num_
1191 logical :: shuffle_
1192 integer :: i, j
1193 integer :: num_redos
1194 real(real12) :: rtmp1
1195 1 integer, allocatable, dimension(:) :: indices_l, indices_r
1196 1 real(real12), allocatable, dimension(:) :: tlist
1197 1 real(real12), allocatable, dimension(:) :: label_copy
1198 1 integer, allocatable, dimension(:,:,:) :: data_copy
1199
1200 type idx_type
1201 integer, allocatable, dimension(:) :: loc
1202 end type idx_type
1203
5/6
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 1 times.
✓ Branch 2 taken 3 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 3 times.
11 type(idx_type), dimension(3) :: idx
1204
1205
1206 !! determine number of elements for left and right split
1207
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
1 if(.not.present(left_size).and..not.present(right_size))then
1208 stop "ERROR: neither left_size nor right_size provided to split.&
1209 &Expected at least one."
1210
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 elseif(present(left_size).and..not.present(right_size))then
1211
9/18
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
1 left_num_ = nint(left_size*size(data,dim))
1212
9/18
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
1 right_num_ = size(data,dim) - left_num_
1213 elseif(.not.present(left_size).and.present(right_size))then
1214 right_num_ = nint(right_size*size(data,dim))
1215 left_num_ = size(data,dim) - right_num_
1216 else
1217 left_num_ = nint(left_size*size(data,dim))
1218 right_num_ = nint(right_size*size(data,dim))
1219 if(left_num_ + right_num_ .ne. size(data,dim)) &
1220 right_num_ = size(data,dim) - left_num_
1221 end if
1222
1223 !! initialies optional arguments
1224
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
1 if(present(shuffle))then
1225 shuffle_ = shuffle
1226 else
1227 1 shuffle_ = .false.
1228 end if
1229
1230
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 if(present(seed))then
1231 1 seed_ = seed
1232 else
1233 call system_clock(count=seed_)
1234 end if
1235
1236 !! copy input data
1237
17/34
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✗ Branch 30 not taken.
✗ Branch 31 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 34 not taken.
✓ Branch 35 taken 1 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✓ Branch 38 taken 1 times.
✓ Branch 39 taken 9 times.
✓ Branch 40 taken 3 times.
✓ Branch 41 taken 900 times.
✓ Branch 42 taken 9 times.
913 data_copy = data
1238
7/14
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 100 times.
✓ Branch 16 taken 1 times.
101 label_copy = label
1239
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
1 if(shuffle_) call shuffle_3Didata_1Drlist(data_copy,label_copy,dim,seed_)
1240
1241 !! get list of indices for right split
1242 1 num_redos = 0
1243
7/14
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
1 allocate(tlist(right_num_))
1244 1 call random_number(tlist)
1245
18/36
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 41 not taken.
✗ Branch 42 not taken.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 75 times.
✓ Branch 46 taken 1 times.
✓ Branch 47 taken 75 times.
✗ Branch 48 not taken.
76 indices_r = floor(tlist*size(data,dim)) + 1
1246 1 i = 1
1247 133 indices_r_loop: do
1248
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 133 times.
134 if(i.ge.right_num_) exit indices_r_loop
1249 133 i = i + 1
1250
12/18
✗ Branch 0 not taken.
✓ Branch 1 taken 133 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 133 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 133 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 133 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 133 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 133 times.
✓ Branch 18 taken 4412 times.
✓ Branch 19 taken 74 times.
✓ Branch 20 taken 59 times.
✓ Branch 21 taken 4353 times.
✓ Branch 22 taken 59 times.
✓ Branch 23 taken 74 times.
4486 if(any(indices_r(:i-1).eq.indices_r(i)))then
1251 indices_r(i:right_num_-num_redos-1) = &
1252
11/20
✗ Branch 0 not taken.
✓ Branch 1 taken 59 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 59 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 59 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 59 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 59 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 59 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 59 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 59 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 59 times.
✓ Branch 23 taken 985 times.
✓ Branch 24 taken 59 times.
1044 indices_r(i+1:right_num_-num_redos)
1253 59 call random_number(rtmp1)
1254
12/24
✗ Branch 0 not taken.
✓ Branch 1 taken 59 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 59 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 59 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 59 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 59 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 59 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 59 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 59 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 59 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 59 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 59 times.
✓ Branch 33 taken 59 times.
✗ Branch 34 not taken.
59 indices_r(right_num_) = floor(rtmp1*size(data,dim)) + 1
1255 59 i = i - 1
1256 end if
1257 end do indices_r_loop
1258
1259 !! generate right split
1260
2/2
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 1 times.
4 do i=1,3
1261
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 2 times.
4 if(i.eq.dim)then
1262
12/24
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✓ Branch 24 taken 1 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 75 times.
✓ Branch 29 taken 1 times.
76 idx(i)%loc = indices_r
1263 else
1264
21/38
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 2 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 2 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 2 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 2 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 2 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 2 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 2 times.
✓ Branch 36 taken 6 times.
✓ Branch 37 taken 2 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 2 times.
✓ Branch 40 taken 6 times.
✓ Branch 41 taken 2 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 2 times.
✗ Branch 44 not taken.
✗ Branch 45 not taken.
✓ Branch 46 taken 2 times.
✗ Branch 47 not taken.
✓ Branch 48 taken 6 times.
✓ Branch 49 taken 2 times.
20 idx(i)%loc = (/ ( j, j=1,size(data,i) ) /)
1265 end if
1266 end do
1267 right_data = data_copy(&
1268
35/64
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✓ Branch 14 taken 75 times.
✓ Branch 15 taken 1 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 1 times.
✓ Branch 30 taken 3 times.
✓ Branch 31 taken 1 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 1 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 1 times.
✓ Branch 46 taken 3 times.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 1 times.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
✗ Branch 52 not taken.
✗ Branch 53 not taken.
✗ Branch 54 not taken.
✗ Branch 55 not taken.
✓ Branch 56 taken 1 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 3 times.
✓ Branch 59 taken 1 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 3 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 3 times.
✓ Branch 64 taken 9 times.
✓ Branch 65 taken 3 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 9 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 9 times.
✓ Branch 70 taken 675 times.
✓ Branch 71 taken 9 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 675 times.
✗ Branch 74 not taken.
✓ Branch 75 taken 675 times.
769 idx(1)%loc,idx(2)%loc,idx(3)%loc)
1269
6/12
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 75 times.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 75 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 75 times.
76 right_label = label_copy(indices_r)
1270
1271 !! get list of indices for left split
1272
1/12
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
1 if(present(split_list)) split_list = 2
1273
11/20
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✓ Branch 27 taken 100 times.
✓ Branch 28 taken 1 times.
101 indices_l_loop: do i=1,size(data,dim)
1274
10/14
✗ Branch 0 not taken.
✓ Branch 1 taken 100 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 100 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 100 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 100 times.
✓ Branch 12 taken 4725 times.
✓ Branch 13 taken 25 times.
✓ Branch 14 taken 75 times.
✓ Branch 15 taken 4650 times.
✓ Branch 16 taken 75 times.
✓ Branch 17 taken 25 times.
4750 if(any(indices_r.eq.i)) cycle indices_l_loop
1275
2/2
✓ Branch 0 taken 24 times.
✓ Branch 1 taken 1 times.
25 if(allocated(indices_l)) then
1276
15/24
✗ Branch 0 not taken.
✓ Branch 1 taken 24 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 24 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 24 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 24 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 24 times.
✓ Branch 15 taken 300 times.
✓ Branch 16 taken 24 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 24 times.
✓ Branch 19 taken 324 times.
✓ Branch 20 taken 24 times.
✓ Branch 21 taken 24 times.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✓ Branch 24 taken 24 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 24 times.
✓ Branch 27 taken 324 times.
✓ Branch 28 taken 24 times.
972 indices_l = [indices_l(:), i]
1277 else
1278
4/8
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 7 taken 1 times.
2 indices_l = [i]
1279 end if
1280
1/6
✗ Branch 0 not taken.
✓ Branch 1 taken 25 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
26 if(present(split_list)) split_list(i) = 1
1281 end do indices_l_loop
1282
1283 !! generate left split
1284
13/24
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✓ Branch 21 taken 1 times.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✓ Branch 24 taken 1 times.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✓ Branch 27 taken 1 times.
✓ Branch 28 taken 25 times.
✓ Branch 29 taken 1 times.
26 idx(dim)%loc = indices_l
1285 left_data = data_copy(&
1286
35/64
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✓ Branch 14 taken 25 times.
✓ Branch 15 taken 1 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 1 times.
✓ Branch 30 taken 3 times.
✓ Branch 31 taken 1 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 1 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 1 times.
✓ Branch 46 taken 3 times.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 1 times.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
✗ Branch 52 not taken.
✗ Branch 53 not taken.
✗ Branch 54 not taken.
✗ Branch 55 not taken.
✓ Branch 56 taken 1 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 3 times.
✓ Branch 59 taken 1 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 3 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 3 times.
✓ Branch 64 taken 9 times.
✓ Branch 65 taken 3 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 9 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 9 times.
✓ Branch 70 taken 225 times.
✓ Branch 71 taken 9 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 225 times.
✗ Branch 74 not taken.
✓ Branch 75 taken 225 times.
269 idx(1)%loc,idx(2)%loc,idx(3)%loc)
1287
6/12
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 25 times.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 25 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 25 times.
26 left_label = label_copy(indices_l)
1288
1289
6/12
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
3 end subroutine split_3Didata_1Drlist
1290 !!!-----------------------------------------------------
1291 !!!-----------------------------------------------------
1292
2/4
✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
2 subroutine split_5Drdata_1Drlist(data,label,left_data,right_data,&
1293 left_label,right_label,dim,&
1294 left_size,right_size,&
1295 shuffle,seed,split_list)
1296 implicit none
1297 real(real12), dimension(:,:,:,:,:), intent(in) :: data
1298 real(real12), dimension(:), intent(in) :: label
1299 real(real12), allocatable, dimension(:,:,:,:,:), intent(out) :: left_data, right_data
1300 real(real12), allocatable, dimension(:), intent(out) :: left_label, right_label
1301 integer, intent(in) :: dim
1302 real(real12), optional, intent(in) :: left_size, right_size
1303 logical, optional, intent(in) :: shuffle
1304 integer, optional, intent(in) :: seed
1305 integer, optional, dimension(size(data,dim)), intent(out) :: split_list
1306
1307 integer :: seed_, left_num_, right_num_
1308 logical :: shuffle_
1309 integer :: i, j
1310 integer :: num_redos
1311 real(real12) :: rtmp1
1312 2 integer, allocatable, dimension(:) :: indices_l, indices_r
1313 2 real(real12), allocatable, dimension(:) :: tlist
1314 2 real(real12), allocatable, dimension(:) :: label_copy
1315 2 real(real12), allocatable, dimension(:,:,:,:,:) :: data_copy
1316
1317 type idx_type
1318 integer, allocatable, dimension(:) :: loc
1319 end type idx_type
1320
5/6
✓ Branch 0 taken 10 times.
✓ Branch 1 taken 2 times.
✓ Branch 2 taken 10 times.
✓ Branch 3 taken 2 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
34 type(idx_type), dimension(5) :: idx
1321
1322
1323 !! determine number of elements for left and right split
1324
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
2 if(.not.present(left_size).and..not.present(right_size))then
1325 stop "ERROR: neither left_size nor right_size provided to split.&
1326 &Expected at least one."
1327
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 1 times.
2 elseif(present(left_size).and..not.present(right_size))then
1328
15/30
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 1 times.
1 left_num_ = nint(left_size*size(data,dim))
1329
15/30
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 1 times.
1 right_num_ = size(data,dim) - left_num_
1330
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 elseif(.not.present(left_size).and.present(right_size))then
1331
15/30
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 1 times.
1 right_num_ = nint(right_size*size(data,dim))
1332
15/30
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 1 times.
1 left_num_ = size(data,dim) - right_num_
1333 else
1334 left_num_ = nint(left_size*size(data,dim))
1335 right_num_ = nint(right_size*size(data,dim))
1336 if(left_num_ + right_num_ .ne. size(data,dim)) &
1337 right_num_ = size(data,dim) - left_num_
1338 end if
1339
1340 !! initialies optional arguments
1341
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
2 if(present(shuffle))then
1342 shuffle_ = shuffle
1343 else
1344 2 shuffle_ = .false.
1345 end if
1346
1347
1/2
✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
2 if(present(seed))then
1348 2 seed_ = seed
1349 else
1350 call system_clock(count=seed_)
1351 end if
1352
1353 !! copy input data
1354
27/54
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 2 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 2 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 2 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 2 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 2 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 2 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 2 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 2 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 2 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 2 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 2 times.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
✗ Branch 52 not taken.
✗ Branch 53 not taken.
✗ Branch 54 not taken.
✗ Branch 55 not taken.
✗ Branch 56 not taken.
✓ Branch 57 taken 2 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 6 times.
✓ Branch 60 taken 2 times.
✓ Branch 61 taken 18 times.
✓ Branch 62 taken 6 times.
✓ Branch 63 taken 54 times.
✓ Branch 64 taken 18 times.
✓ Branch 65 taken 162 times.
✓ Branch 66 taken 54 times.
✓ Branch 67 taken 16200 times.
✓ Branch 68 taken 162 times.
16442 data_copy = data
1355
7/14
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 200 times.
✓ Branch 16 taken 2 times.
202 label_copy = label
1356
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
2 if(shuffle_) call shuffle_5Drdata_1Drlist(data_copy,label_copy,dim,seed_)
1357
1358 !! get list of indices for right split
1359 2 num_redos = 0
1360
7/14
✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 2 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 2 times.
2 allocate(tlist(right_num_))
1361 2 call random_number(tlist)
1362
24/48
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 2 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 2 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 2 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 2 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 2 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 2 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 2 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 2 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 2 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 2 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 2 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 2 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 2 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 2 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 2 times.
✗ Branch 59 not taken.
✗ Branch 60 not taken.
✓ Branch 61 taken 2 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 150 times.
✓ Branch 64 taken 2 times.
✓ Branch 65 taken 150 times.
✗ Branch 66 not taken.
152 indices_r = floor(tlist*size(data,dim)) + 1
1363 2 i = 1
1364 267 indices_r_loop: do
1365
2/2
✓ Branch 0 taken 2 times.
✓ Branch 1 taken 267 times.
269 if(i.ge.right_num_) exit indices_r_loop
1366 267 i = i + 1
1367
12/18
✗ Branch 0 not taken.
✓ Branch 1 taken 267 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 267 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 267 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 267 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 267 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 267 times.
✓ Branch 18 taken 8508 times.
✓ Branch 19 taken 148 times.
✓ Branch 20 taken 119 times.
✓ Branch 21 taken 8389 times.
✓ Branch 22 taken 119 times.
✓ Branch 23 taken 148 times.
8656 if(any(indices_r(:i-1).eq.indices_r(i)))then
1368 indices_r(i:right_num_-num_redos-1) = &
1369
11/20
✗ Branch 0 not taken.
✓ Branch 1 taken 119 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 119 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 119 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 119 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 119 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 119 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 119 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 119 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 119 times.
✓ Branch 23 taken 2316 times.
✓ Branch 24 taken 119 times.
2435 indices_r(i+1:right_num_-num_redos)
1370 119 call random_number(rtmp1)
1371
18/36
✗ Branch 0 not taken.
✓ Branch 1 taken 119 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 119 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 119 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 119 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 119 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 119 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 119 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 119 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 119 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 119 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 119 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 119 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 119 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 119 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 119 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 119 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 119 times.
✓ Branch 51 taken 119 times.
✗ Branch 52 not taken.
119 indices_r(right_num_) = floor(rtmp1*size(data,dim)) + 1
1372 119 i = i - 1
1373 end if
1374 end do indices_r_loop
1375
1376 !! generate right split
1377
2/2
✓ Branch 0 taken 10 times.
✓ Branch 1 taken 2 times.
12 do i=1,5
1378
2/2
✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
12 if(i.eq.dim)then
1379
12/24
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 2 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 2 times.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✓ Branch 22 taken 2 times.
✗ Branch 23 not taken.
✓ Branch 24 taken 2 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 2 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 150 times.
✓ Branch 29 taken 2 times.
152 idx(i)%loc = indices_r
1380 else
1381
27/50
✗ Branch 0 not taken.
✓ Branch 1 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 8 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 8 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 8 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 8 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 8 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 8 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 8 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 8 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 8 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 8 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 8 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 8 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 8 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 8 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 8 times.
✓ Branch 54 taken 24 times.
✓ Branch 55 taken 8 times.
✗ Branch 56 not taken.
✓ Branch 57 taken 8 times.
✓ Branch 58 taken 24 times.
✓ Branch 59 taken 8 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 8 times.
✗ Branch 62 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 8 times.
✗ Branch 65 not taken.
✓ Branch 66 taken 24 times.
✓ Branch 67 taken 8 times.
80 idx(i)%loc = (/ ( j, j=1,size(data,i) ) /)
1382 end if
1383 end do
1384 right_data = data_copy(&
1385
57/104
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
✓ Branch 14 taken 150 times.
✓ Branch 15 taken 2 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 2 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 2 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 2 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 2 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 2 times.
✓ Branch 30 taken 6 times.
✓ Branch 31 taken 2 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 2 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 2 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 2 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 2 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 2 times.
✓ Branch 46 taken 6 times.
✓ Branch 47 taken 2 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 2 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 2 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 2 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 2 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 2 times.
✓ Branch 62 taken 6 times.
✓ Branch 63 taken 2 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 2 times.
✗ Branch 67 not taken.
✓ Branch 68 taken 2 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 2 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 2 times.
✗ Branch 76 not taken.
✓ Branch 77 taken 2 times.
✓ Branch 78 taken 6 times.
✓ Branch 79 taken 2 times.
✗ Branch 80 not taken.
✓ Branch 81 taken 2 times.
✗ Branch 82 not taken.
✗ Branch 83 not taken.
✗ Branch 84 not taken.
✗ Branch 85 not taken.
✗ Branch 86 not taken.
✗ Branch 87 not taken.
✗ Branch 88 not taken.
✗ Branch 89 not taken.
✗ Branch 90 not taken.
✗ Branch 91 not taken.
✓ Branch 92 taken 2 times.
✗ Branch 93 not taken.
✓ Branch 94 taken 6 times.
✓ Branch 95 taken 2 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 6 times.
✗ Branch 98 not taken.
✓ Branch 99 taken 6 times.
✓ Branch 100 taken 18 times.
✓ Branch 101 taken 6 times.
✗ Branch 102 not taken.
✓ Branch 103 taken 18 times.
✗ Branch 104 not taken.
✓ Branch 105 taken 18 times.
✓ Branch 106 taken 54 times.
✓ Branch 107 taken 18 times.
✗ Branch 108 not taken.
✓ Branch 109 taken 54 times.
✗ Branch 110 not taken.
✓ Branch 111 taken 54 times.
✓ Branch 112 taken 162 times.
✓ Branch 113 taken 54 times.
✗ Branch 114 not taken.
✓ Branch 115 taken 162 times.
✗ Branch 116 not taken.
✓ Branch 117 taken 162 times.
✓ Branch 118 taken 12150 times.
✓ Branch 119 taken 162 times.
✗ Branch 120 not taken.
✓ Branch 121 taken 12150 times.
✗ Branch 122 not taken.
✓ Branch 123 taken 12150 times.
12566 idx(1)%loc,idx(2)%loc,idx(3)%loc,idx(4)%loc,idx(5)%loc)
1386
6/12
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 150 times.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 150 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 150 times.
152 right_label = label_copy(indices_r)
1387
1388 !! get list of indices for left split
1389
1/12
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
2 if(present(split_list)) split_list = 2
1390
17/32
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 2 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 2 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 2 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 2 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 2 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 2 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 2 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 2 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 2 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 2 times.
✓ Branch 45 taken 200 times.
✓ Branch 46 taken 2 times.
202 indices_l_loop: do i=1,size(data,dim)
1391
10/14
✗ Branch 0 not taken.
✓ Branch 1 taken 200 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 200 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 200 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 200 times.
✓ Branch 12 taken 9450 times.
✓ Branch 13 taken 50 times.
✓ Branch 14 taken 150 times.
✓ Branch 15 taken 9300 times.
✓ Branch 16 taken 150 times.
✓ Branch 17 taken 50 times.
9500 if(any(indices_r.eq.i)) cycle indices_l_loop
1392
2/2
✓ Branch 0 taken 48 times.
✓ Branch 1 taken 2 times.
50 if(allocated(indices_l)) then
1393
15/24
✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 48 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 48 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 48 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 48 times.
✓ Branch 15 taken 600 times.
✓ Branch 16 taken 48 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 48 times.
✓ Branch 19 taken 648 times.
✓ Branch 20 taken 48 times.
✓ Branch 21 taken 48 times.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✓ Branch 24 taken 48 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 48 times.
✓ Branch 27 taken 648 times.
✓ Branch 28 taken 48 times.
1944 indices_l = [indices_l(:), i]
1394 else
1395
4/8
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✓ Branch 7 taken 2 times.
4 indices_l = [i]
1396 end if
1397
1/6
✗ Branch 0 not taken.
✓ Branch 1 taken 50 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
52 if(present(split_list)) split_list(i) = 1
1398 end do indices_l_loop
1399
1400 !! generate left split
1401
13/24
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 2 times.
✓ Branch 18 taken 2 times.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✓ Branch 21 taken 2 times.
✓ Branch 22 taken 2 times.
✗ Branch 23 not taken.
✓ Branch 24 taken 2 times.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✓ Branch 27 taken 2 times.
✓ Branch 28 taken 50 times.
✓ Branch 29 taken 2 times.
52 idx(dim)%loc = indices_l
1402 left_data = data_copy(&
1403
57/104
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
✓ Branch 14 taken 50 times.
✓ Branch 15 taken 2 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 2 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 2 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 2 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 2 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 2 times.
✓ Branch 30 taken 6 times.
✓ Branch 31 taken 2 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 2 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 2 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 2 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 2 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 2 times.
✓ Branch 46 taken 6 times.
✓ Branch 47 taken 2 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 2 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 2 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 2 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 2 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 2 times.
✓ Branch 62 taken 6 times.
✓ Branch 63 taken 2 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 2 times.
✗ Branch 67 not taken.
✓ Branch 68 taken 2 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 2 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 2 times.
✗ Branch 76 not taken.
✓ Branch 77 taken 2 times.
✓ Branch 78 taken 6 times.
✓ Branch 79 taken 2 times.
✗ Branch 80 not taken.
✓ Branch 81 taken 2 times.
✗ Branch 82 not taken.
✗ Branch 83 not taken.
✗ Branch 84 not taken.
✗ Branch 85 not taken.
✗ Branch 86 not taken.
✗ Branch 87 not taken.
✗ Branch 88 not taken.
✗ Branch 89 not taken.
✗ Branch 90 not taken.
✗ Branch 91 not taken.
✓ Branch 92 taken 2 times.
✗ Branch 93 not taken.
✓ Branch 94 taken 6 times.
✓ Branch 95 taken 2 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 6 times.
✗ Branch 98 not taken.
✓ Branch 99 taken 6 times.
✓ Branch 100 taken 18 times.
✓ Branch 101 taken 6 times.
✗ Branch 102 not taken.
✓ Branch 103 taken 18 times.
✗ Branch 104 not taken.
✓ Branch 105 taken 18 times.
✓ Branch 106 taken 54 times.
✓ Branch 107 taken 18 times.
✗ Branch 108 not taken.
✓ Branch 109 taken 54 times.
✗ Branch 110 not taken.
✓ Branch 111 taken 54 times.
✓ Branch 112 taken 162 times.
✓ Branch 113 taken 54 times.
✗ Branch 114 not taken.
✓ Branch 115 taken 162 times.
✗ Branch 116 not taken.
✓ Branch 117 taken 162 times.
✓ Branch 118 taken 4050 times.
✓ Branch 119 taken 162 times.
✗ Branch 120 not taken.
✓ Branch 121 taken 4050 times.
✗ Branch 122 not taken.
✓ Branch 123 taken 4050 times.
4366 idx(1)%loc,idx(2)%loc,idx(3)%loc,idx(4)%loc,idx(5)%loc)
1404
6/12
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 50 times.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 50 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 50 times.
52 left_label = label_copy(indices_l)
1405
1406
6/12
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
6 end subroutine split_5Drdata_1Drlist
1407 !!!####################e#################################
1408
1409
1410 !!!#############################################################################
1411 !!!#############################################################################
1412 !!! * * * * * * * * * * * * * * * * * * * * * * * * *
1413 !!!#############################################################################
1414 !!!#############################################################################
1415
1416
1417
1418 !!!########################################################################
1419 !!! return width of padding from kernel/filter size
1420 !!!########################################################################
1421 68 pure function get_padding_half(width) result(output)
1422 implicit none
1423 integer, intent(in) :: width
1424 integer :: output
1425
1426 68 output = ( width - (1 - mod(width,2)) - 1 ) / 2
1427 68 end function get_padding_half
1428 !!!########################################################################
1429
1430
1431 !!!########################################################################
1432 !!! return width of padding from kernel/filter size
1433 !!!########################################################################
1434 249 subroutine set_padding(pad, kernel_size, padding_method, verbose)
1435 use misc, only: to_lower
1436 implicit none
1437 integer, intent(out) :: pad
1438 integer, intent(in) :: kernel_size
1439 character(*), intent(inout) :: padding_method
1440 integer, optional, intent(in) :: verbose
1441
1442 integer :: t_verbose = 0
1443
1444
1445 !!!-----------------------------------------------------------------------------
1446 !!! initialise optional arguments
1447 !!!-----------------------------------------------------------------------------
1448 95 if(present(verbose)) t_verbose = verbose
1449
1450 !!---------------------------------------------------------------------
1451 !! padding method options
1452 !!---------------------------------------------------------------------
1453 !! none = alt. name for 'valid'
1454 !! zero = alt. name for 'same'
1455 !! symmetric = alt.name for 'replication'
1456 !! valid = no padding
1457 !! same = maintain spatial dimensions
1458 !! ... (i.e. padding added = (kernel_size - 1)/2)
1459 !! ... defaults to zeros in the padding
1460 !! full = enough padding for filter to slide over every possible position
1461 !! ... (i.e. padding added = (kernel_size - 1)
1462 !! circular = maintain spatial dimensions
1463 !! ... wraps data around for padding (periodic)
1464 !! reflection = maintains spatial dimensions
1465 !! ... reflect data (about boundary index)
1466 !! replication = maintains spatial dimensions
1467 !! ... reflect data (boundary included)
1468
1/2
✓ Branch 1 taken 271 times.
✗ Branch 2 not taken.
542 100 select case(to_lower(trim(padding_method)))
1469 case("none")
1470
2/4
✓ Branch 0 taken 19 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 19 times.
✗ Branch 3 not taken.
19 padding_method = "valid"
1471 22 goto 100
1472 case("zero")
1473
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
1 padding_method = "same"
1474 1 goto 100
1475 case("half")
1476
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
1 padding_method = "same"
1477 1 goto 100
1478 case("symmetric")
1479
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
1 padding_method = "replication"
1480 1 goto 100
1481 case("valid", "vali")
1482
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 172 times.
172 if(t_verbose.gt.0) write(*,*) "Padding type: 'valid' (no padding)"
1483 172 pad = 0
1484 181 return
1485 case("same")
1486
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 32 times.
32 if(t_verbose.gt.0) write(*,*) "Padding type: 'same' (pad with zeros)"
1487 case("circular")
1488
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
9 if(t_verbose.gt.0) write(*,*) "Padding type: 'same' (circular padding)"
1489 case("full")
1490
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
9 if(t_verbose.gt.0) write(*,*) "Padding type: 'full' (all possible positions)"
1491 9 pad = kernel_size - 1
1492 9 return
1493 case("reflection")
1494
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
9 if(t_verbose.gt.0) write(*,*) "Padding type: 'reflection' (reflect on boundary)"
1495 case("replication")
1496
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 18 times.
18 if(t_verbose.gt.0) write(*,*) "Padding type: 'replication' (reflect after boundary)"
1497 case default
1498 write(0,*) "ERROR: padding type '"//padding_method//"' not known"
1499
10/11
✓ Branch 1 taken 19 times.
✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 5 taken 172 times.
✓ Branch 6 taken 32 times.
✓ Branch 7 taken 9 times.
✓ Branch 8 taken 9 times.
✓ Branch 9 taken 9 times.
✓ Branch 10 taken 18 times.
✗ Branch 11 not taken.
542 stop 1
1500 end select
1501
1502 68 pad = get_padding_half(kernel_size)
1503
1504
2/2
✓ Branch 0 taken 95 times.
✓ Branch 1 taken 154 times.
249 end subroutine set_padding
1505 !!!########################################################################
1506
1507
1508 !!!########################################################################
1509 !!! pad dataset
1510 !!!########################################################################
1511 63 subroutine pad_data(data, data_padded, &
1512 kernel_size, padding_method, &
1513 sample_dim, channel_dim, constant)
1514 implicit none
1515 !real(real12), allocatable, dimension(:,:), intent(inout) :: data
1516 real(real12), dimension(..), intent(in) :: data
1517 real(real12), allocatable, dimension(..), intent(out) :: data_padded
1518 integer, dimension(..), intent(in) :: kernel_size
1519 character(*), intent(inout) :: padding_method
1520 real(real12), optional, intent(in) :: constant
1521
1522 integer, optional, intent(in) :: sample_dim, channel_dim
1523
1524 integer :: i, j, idim
1525 integer :: num_samples, num_channels, ndim, ndata_dim
1526 integer :: sample_dim_ = 0, channel_dim_ = 0
1527 real(real12) :: constant_ = 0._real12
1528 integer, dimension(2) :: bound_store
1529 63 integer, allocatable, dimension(:) :: padding
1530 63 integer, allocatable, dimension(:,:) :: trgt_bound, dest_bound
1531 63 integer, allocatable, dimension(:,:) :: tmp_trgt_bound, tmp_dest_bound
1532 !real(real12), allocatable, dimension(:,:) :: data_copy
1533
1534
1535 !!!-----------------------------------------------------------------------------
1536 !!! initialise optional arguments
1537 !!!-----------------------------------------------------------------------------
1538 60 if(present(constant)) constant_ = constant
1539
1/2
✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
63 if(present(sample_dim)) sample_dim_ = sample_dim
1540
1/2
✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
63 if(present(channel_dim)) channel_dim_ = channel_dim
1541
1542 63 ndim = rank(data)
1543 #if defined(GFORTRAN)
1544 if(ndim.ne.rank(data_padded)) then
1545 stop "ERROR: data and data_padded are not the same rank"
1546 end if
1547 #else
1548 select rank(data_padded)
1549 rank(1)
1550
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
10 if(ndim.ne.1) stop "ERROR: data and data_padded are not the same rank"
1551 rank(2)
1552
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
20 if(ndim.ne.2) stop "ERROR: data and data_padded are not the same rank"
1553 rank(3)
1554
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 12 times.
12 if(ndim.ne.3) stop "ERROR: data and data_padded are not the same rank"
1555 rank(4)
1556
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 11 times.
11 if(ndim.ne.4) stop "ERROR: data and data_padded are not the same rank"
1557 rank(5)
1558
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
10 if(ndim.ne.5) stop "ERROR: data and data_padded are not the same rank"
1559 end select
1560 #endif
1561 63 ndata_dim = ndim
1562
2/2
✓ Branch 0 taken 43 times.
✓ Branch 1 taken 20 times.
63 if(sample_dim_.gt.0) ndata_dim = ndata_dim - 1
1563
2/2
✓ Branch 0 taken 42 times.
✓ Branch 1 taken 21 times.
63 if(channel_dim_.gt.0) ndata_dim = ndata_dim - 1
1564
1565 select rank(data)
1566 rank(1)
1567 if(sample_dim_.gt.0) num_samples = size(data,sample_dim_)
1568
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
10 if(channel_dim_.gt.0) num_channels = size(data,channel_dim_)
1569 rank(2)
1570 10 if(sample_dim_.gt.0) num_samples = size(data,sample_dim_)
1571
4/4
✓ Branch 0 taken 10 times.
✓ Branch 1 taken 10 times.
✓ Branch 2 taken 10 times.
✓ Branch 3 taken 10 times.
30 if(channel_dim_.gt.0) num_channels = size(data,channel_dim_)
1572 rank(3)
1573 12 if(sample_dim_.gt.0) num_samples = size(data,sample_dim_)
1574
3/4
✓ Branch 0 taken 12 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 11 times.
✓ Branch 3 taken 1 times.
24 if(channel_dim_.gt.0) num_channels = size(data,channel_dim_)
1575 rank(4)
1576 11 if(sample_dim_.gt.0) num_samples = size(data,sample_dim_)
1577
2/4
✓ Branch 0 taken 11 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 11 times.
✗ Branch 3 not taken.
22 if(channel_dim_.gt.0) num_channels = size(data,channel_dim_)
1578 rank(5)
1579 10 if(sample_dim_.gt.0) num_samples = size(data,sample_dim_)
1580
2/4
✓ Branch 0 taken 10 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 10 times.
✗ Branch 3 not taken.
20 if(channel_dim_.gt.0) num_channels = size(data,channel_dim_)
1581 rank default
1582 stop "ERROR: cannot handle data with this rank"
1583 end select
1584
1585
1586 !!!-----------------------------------------------------------------------------
1587 !!! handle padding type name
1588 !!!-----------------------------------------------------------------------------
1589 !! none = alt. name for 'valid'
1590 !! zero = alt. name for 'same'
1591 !! symmetric = alt.name for 'replication'
1592 !! valid = no padding
1593 !! same = maintain spatial dimensions
1594 !! ... (i.e. padding added = (kernel_size - 1)/2)
1595 !! ... defaults to zeros in the padding
1596 !! full = enough padding for filter to slide over every possible position
1597 !! ... (i.e. padding added = (kernel_size - 1)
1598 !! circular = maintain spatial dimensions
1599 !! ... wraps data around for padding (periodic)
1600 !! reflection = maintains spatial dimensions
1601 !! ... reflect data (about boundary index)
1602 !! replication = maintains spatial dimensions
1603 !! ... reflect data (boundary included)
1604 select rank(kernel_size)
1605 rank(0)
1606
6/12
✗ Branch 0 not taken.
✓ Branch 1 taken 60 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 60 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 60 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 60 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 60 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 60 times.
60 allocate(padding(ndata_dim))
1607
3/4
✓ Branch 0 taken 60 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 90 times.
✓ Branch 3 taken 60 times.
210 do i=1,ndata_dim
1608
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 90 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 90 times.
150 call set_padding(padding(i), kernel_size, padding_method, verbose=0)
1609 end do
1610 rank(1)
1611
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 2 times.
3 if(size(kernel_size).eq.1.and.ndata_dim.gt.1)then
1612
7/14
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
1 allocate(padding(ndata_dim))
1613
2/2
✓ Branch 0 taken 2 times.
✓ Branch 1 taken 1 times.
3 do i=1,ndata_dim
1614
4/8
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
3 call set_padding(padding(i), kernel_size(1), padding_method, verbose=0)
1615 end do
1616 else
1617
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
2 if(sample_dim_.eq.0.and.channel_dim_.eq.0.and.&
1618 size(kernel_size).ne.ndim)then
1619 write(0,*) "kernel dimension:", size(kernel_size)
1620 write(0,*) "data rank:", ndim
1621 write(0,*) "ERROR: kernel_size length not equal to rank of data"
1622 stop 1
1623
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
2 elseif(sample_dim_.gt.0.and.channel_dim_.gt.0.and.&
1624 size(kernel_size).ne.ndim-2)then
1625 write(0,*) "kernel dimension:", size(kernel_size)
1626 write(0,*) "data rank:", ndim-2
1627 write(0,*) "ERROR: kernel_size length not equal to rank of data-2"
1628 stop 1
1629
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
2 elseif(xor(sample_dim_.gt.0,channel_dim_.gt.0).and.&
1630 size(kernel_size).ne.ndim-1)then
1631 write(0,*) "kernel dimension:", size(kernel_size)
1632 write(0,*) "data rank:", ndim-1
1633 write(0,*) "ERROR: kernel_size length not equal to rank of data-1"
1634 stop 1
1635 else
1636
7/14
✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 2 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 2 times.
2 allocate(padding(size(kernel_size)))
1637 end if
1638
2/2
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 2 times.
5 do i=1,size(kernel_size)
1639
4/8
✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 3 times.
5 call set_padding(padding(i), kernel_size(i), padding_method, verbose=0)
1640 end do
1641 end if
1642 end select
1643
1644
1645 !!!-----------------------------------------------------------------------------
1646 !!! allocate data set
1647 !!! ... if appropriate, add padding
1648 !!!-----------------------------------------------------------------------------
1649 27 select case(padding_method)
1650 case("same")
1651 case("full")
1652 case("zero")
1653 case default
1654
1/2
✓ Branch 0 taken 36 times.
✗ Branch 1 not taken.
36 if(abs(constant_).gt.1.E-8) &
1655
3/4
✓ Branch 0 taken 21 times.
✓ Branch 1 taken 6 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 36 times.
99 write(*,*) "WARNING: constant is ignored for selected padding method"
1656 end select
1657
1658
1659
7/14
✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 63 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 63 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 63 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 63 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 63 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 63 times.
63 allocate(dest_bound(2,ndim))
1660
7/14
✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 63 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 63 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 63 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 63 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 63 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 63 times.
63 allocate(trgt_bound(2,ndim))
1661 63 i = 0
1662
2/2
✓ Branch 0 taken 180 times.
✓ Branch 1 taken 63 times.
243 do idim=1,ndim
1663
13/24
✗ Branch 0 not taken.
✓ Branch 1 taken 180 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 180 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 180 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 180 times.
✓ Branch 12 taken 180 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 180 times.
✓ Branch 17 taken 180 times.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✓ Branch 20 taken 180 times.
✓ Branch 22 taken 180 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 180 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 180 times.
✓ Branch 30 taken 360 times.
✓ Branch 31 taken 180 times.
540 trgt_bound(:,idim) = [ lbound(data,dim=idim), ubound(data,dim=idim) ]
1664
15/28
✗ Branch 0 not taken.
✓ Branch 1 taken 180 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 180 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 180 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 180 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 180 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 180 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 180 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 180 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 180 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 180 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 180 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 180 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 180 times.
✓ Branch 39 taken 360 times.
✓ Branch 40 taken 180 times.
540 dest_bound(:,idim) = trgt_bound(:,idim)
1665
2/2
✓ Branch 0 taken 85 times.
✓ Branch 1 taken 95 times.
180 if(idim.eq.sample_dim_.or.idim.eq.channel_dim_) cycle
1666 95 i = i + 1
1667
19/36
✗ Branch 0 not taken.
✓ Branch 1 taken 95 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 95 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 95 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 95 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 95 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 95 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 95 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 95 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 95 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 95 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 95 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 95 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 95 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 95 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 95 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 95 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 95 times.
✓ Branch 51 taken 190 times.
✓ Branch 52 taken 95 times.
348 dest_bound(:,idim) = dest_bound(:,idim) + [ -padding(i), padding(i) ]
1668 end do
1669
1670 select rank(data_padded)
1671 rank(1)
1672 allocate(data_padded(&
1673
20/38
✗ Branch 1 not taken.
✓ Branch 2 taken 10 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 10 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 10 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 10 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 10 times.
✓ Branch 22 taken 10 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 10 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 10 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 10 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 10 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 10 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 10 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 10 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 10 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 10 times.
✓ Branch 46 taken 98 times.
✓ Branch 47 taken 10 times.
108 dest_bound(1,1):dest_bound(2,1)), source = constant_)
1674 !! copy input data
1675 !!-----------------------------------------------------------------------
1676
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
20 select rank(data)
1677 rank(1)
1678 data_padded( &
1679 trgt_bound(1,1):trgt_bound(2,1)) = &
1680 data( &
1681
27/52
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 10 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 10 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 10 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 10 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 10 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 10 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 10 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 10 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 10 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 10 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 10 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 10 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 10 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 10 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 10 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 10 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 10 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 10 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 10 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 10 times.
✗ Branch 56 not taken.
✓ Branch 57 taken 10 times.
✓ Branch 59 taken 80 times.
✓ Branch 60 taken 10 times.
90 trgt_bound(1,1):trgt_bound(2,1))
1682 end select
1683 rank(2)
1684 allocate(data_padded(&
1685 dest_bound(1,1):dest_bound(2,1), &
1686
36/68
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 20 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 20 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 20 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 20 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 20 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 20 times.
✓ Branch 14 taken 20 times.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✓ Branch 17 taken 20 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 20 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 20 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 20 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 20 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 20 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 20 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 20 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 20 times.
✓ Branch 42 taken 20 times.
✗ Branch 43 not taken.
✗ Branch 44 not taken.
✓ Branch 45 taken 20 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 20 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 20 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 20 times.
✗ Branch 53 not taken.
✓ Branch 54 taken 20 times.
✗ Branch 55 not taken.
✓ Branch 56 taken 20 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 20 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 20 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 20 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 20 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 20 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 20 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 20 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 20 times.
✓ Branch 74 taken 20 times.
✓ Branch 75 taken 20 times.
✓ Branch 76 taken 196 times.
✓ Branch 77 taken 20 times.
236 dest_bound(1,2):dest_bound(2,2)), source = constant_)
1687 !! copy input data
1688 !!-----------------------------------------------------------------------
1689
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
40 select rank(data)
1690 rank(2)
1691 data_padded( &
1692 trgt_bound(1,1):trgt_bound(2,1),trgt_bound(1,2):trgt_bound(2,2)) = &
1693 data( &
1694
54/104
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 20 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 20 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 20 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 20 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 20 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 20 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 20 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 20 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 20 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 20 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 20 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 20 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 20 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 20 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 20 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 20 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 20 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 20 times.
✗ Branch 56 not taken.
✓ Branch 57 taken 20 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 20 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 20 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 20 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 20 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 20 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 20 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 20 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 20 times.
✗ Branch 74 not taken.
✓ Branch 75 taken 20 times.
✗ Branch 76 not taken.
✓ Branch 77 taken 20 times.
✗ Branch 78 not taken.
✓ Branch 79 taken 20 times.
✗ Branch 80 not taken.
✓ Branch 81 taken 20 times.
✗ Branch 82 not taken.
✓ Branch 83 taken 20 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 20 times.
✗ Branch 86 not taken.
✓ Branch 87 taken 20 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 20 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 20 times.
✗ Branch 92 not taken.
✓ Branch 93 taken 20 times.
✗ Branch 94 not taken.
✓ Branch 95 taken 20 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 20 times.
✗ Branch 98 not taken.
✓ Branch 99 taken 20 times.
✗ Branch 100 not taken.
✓ Branch 101 taken 20 times.
✗ Branch 102 not taken.
✓ Branch 103 taken 20 times.
✗ Branch 104 not taken.
✓ Branch 105 taken 20 times.
✗ Branch 107 not taken.
✓ Branch 108 taken 20 times.
✗ Branch 109 not taken.
✓ Branch 110 taken 20 times.
✗ Branch 111 not taken.
✓ Branch 112 taken 20 times.
✗ Branch 113 not taken.
✓ Branch 114 taken 20 times.
✗ Branch 115 not taken.
✓ Branch 116 taken 20 times.
✓ Branch 118 taken 20 times.
✓ Branch 119 taken 20 times.
✓ Branch 120 taken 160 times.
✓ Branch 121 taken 20 times.
200 trgt_bound(1,1):trgt_bound(2,1),trgt_bound(1,2):trgt_bound(2,2))
1695 end select
1696 rank(3)
1697 allocate(data_padded(&
1698 dest_bound(1,1):dest_bound(2,1),&
1699 dest_bound(1,2):dest_bound(2,2),&
1700
52/98
✗ Branch 0 not taken.
✓ Branch 1 taken 12 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 12 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 12 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 12 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 12 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 12 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 12 times.
✓ Branch 14 taken 12 times.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✓ Branch 17 taken 12 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 12 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 12 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 12 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 12 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 12 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 12 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 12 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 12 times.
✓ Branch 34 taken 12 times.
✗ Branch 35 not taken.
✗ Branch 36 not taken.
✓ Branch 37 taken 12 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 12 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 12 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 12 times.
✗ Branch 47 not taken.
✓ Branch 48 taken 12 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 12 times.
✗ Branch 53 not taken.
✓ Branch 54 taken 12 times.
✗ Branch 56 not taken.
✓ Branch 57 taken 12 times.
✗ Branch 59 not taken.
✓ Branch 60 taken 12 times.
✓ Branch 62 taken 12 times.
✗ Branch 63 not taken.
✗ Branch 64 not taken.
✓ Branch 65 taken 12 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 12 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 12 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 12 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 12 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 12 times.
✗ Branch 78 not taken.
✓ Branch 79 taken 12 times.
✗ Branch 80 not taken.
✓ Branch 81 taken 12 times.
✗ Branch 82 not taken.
✓ Branch 83 taken 12 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 12 times.
✗ Branch 86 not taken.
✓ Branch 87 taken 12 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 12 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 12 times.
✗ Branch 92 not taken.
✓ Branch 93 taken 12 times.
✗ Branch 94 not taken.
✓ Branch 95 taken 12 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 12 times.
✗ Branch 98 not taken.
✓ Branch 99 taken 12 times.
✗ Branch 100 not taken.
✓ Branch 101 taken 12 times.
✓ Branch 102 taken 12 times.
✓ Branch 103 taken 12 times.
✓ Branch 104 taken 14 times.
✓ Branch 105 taken 12 times.
✓ Branch 106 taken 138 times.
✓ Branch 107 taken 14 times.
176 dest_bound(1,3):dest_bound(2,3)), source = constant_)
1701 !! copy input data
1702 !!-----------------------------------------------------------------------
1703
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 12 times.
24 select rank(data)
1704 rank(3)
1705 data_padded( &
1706 trgt_bound(1,1):trgt_bound(2,1), &
1707 trgt_bound(1,2):trgt_bound(2,2), &
1708 trgt_bound(1,3):trgt_bound(2,3)) = &
1709 data( &
1710 trgt_bound(1,1):trgt_bound(2,1), &
1711 trgt_bound(1,2):trgt_bound(2,2), &
1712
81/156
✗ Branch 0 not taken.
✓ Branch 1 taken 12 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 12 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 12 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 12 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 12 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 12 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 12 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 12 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 12 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 12 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 12 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 12 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 12 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 12 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 12 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 12 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 12 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 12 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 12 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 12 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 12 times.
✗ Branch 47 not taken.
✓ Branch 48 taken 12 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 12 times.
✗ Branch 53 not taken.
✓ Branch 54 taken 12 times.
✗ Branch 56 not taken.
✓ Branch 57 taken 12 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 12 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 12 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 12 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 12 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 12 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 12 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 12 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 12 times.
✗ Branch 74 not taken.
✓ Branch 75 taken 12 times.
✗ Branch 76 not taken.
✓ Branch 77 taken 12 times.
✗ Branch 78 not taken.
✓ Branch 79 taken 12 times.
✗ Branch 80 not taken.
✓ Branch 81 taken 12 times.
✗ Branch 82 not taken.
✓ Branch 83 taken 12 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 12 times.
✗ Branch 86 not taken.
✓ Branch 87 taken 12 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 12 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 12 times.
✗ Branch 92 not taken.
✓ Branch 93 taken 12 times.
✗ Branch 94 not taken.
✓ Branch 95 taken 12 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 12 times.
✗ Branch 98 not taken.
✓ Branch 99 taken 12 times.
✗ Branch 100 not taken.
✓ Branch 101 taken 12 times.
✗ Branch 102 not taken.
✓ Branch 103 taken 12 times.
✗ Branch 104 not taken.
✓ Branch 105 taken 12 times.
✗ Branch 106 not taken.
✓ Branch 107 taken 12 times.
✗ Branch 108 not taken.
✓ Branch 109 taken 12 times.
✗ Branch 110 not taken.
✓ Branch 111 taken 12 times.
✗ Branch 112 not taken.
✓ Branch 113 taken 12 times.
✗ Branch 114 not taken.
✓ Branch 115 taken 12 times.
✗ Branch 116 not taken.
✓ Branch 117 taken 12 times.
✗ Branch 118 not taken.
✓ Branch 119 taken 12 times.
✗ Branch 120 not taken.
✓ Branch 121 taken 12 times.
✗ Branch 122 not taken.
✓ Branch 123 taken 12 times.
✗ Branch 124 not taken.
✓ Branch 125 taken 12 times.
✗ Branch 126 not taken.
✓ Branch 127 taken 12 times.
✗ Branch 128 not taken.
✓ Branch 129 taken 12 times.
✗ Branch 130 not taken.
✓ Branch 131 taken 12 times.
✗ Branch 132 not taken.
✓ Branch 133 taken 12 times.
✗ Branch 134 not taken.
✓ Branch 135 taken 12 times.
✗ Branch 136 not taken.
✓ Branch 137 taken 12 times.
✗ Branch 139 not taken.
✓ Branch 140 taken 12 times.
✗ Branch 141 not taken.
✓ Branch 142 taken 12 times.
✗ Branch 143 not taken.
✓ Branch 144 taken 12 times.
✗ Branch 145 not taken.
✓ Branch 146 taken 12 times.
✗ Branch 147 not taken.
✓ Branch 148 taken 12 times.
✗ Branch 150 not taken.
✓ Branch 151 taken 12 times.
✗ Branch 152 not taken.
✓ Branch 153 taken 12 times.
✗ Branch 154 not taken.
✓ Branch 155 taken 12 times.
✗ Branch 156 not taken.
✓ Branch 157 taken 12 times.
✗ Branch 158 not taken.
✓ Branch 159 taken 12 times.
✓ Branch 161 taken 12 times.
✓ Branch 162 taken 12 times.
✓ Branch 163 taken 12 times.
✓ Branch 164 taken 12 times.
✓ Branch 165 taken 96 times.
✓ Branch 166 taken 12 times.
132 trgt_bound(1,3):trgt_bound(2,3))
1713 end select
1714 rank(4)
1715 allocate(data_padded(&
1716 dest_bound(1,1):dest_bound(2,1),&
1717 dest_bound(1,2):dest_bound(2,2),&
1718 dest_bound(1,3):dest_bound(2,3),&
1719
68/128
✗ Branch 0 not taken.
✓ Branch 1 taken 11 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 11 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 11 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 11 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 11 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 11 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 11 times.
✓ Branch 14 taken 11 times.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✓ Branch 17 taken 11 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 11 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 11 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 11 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 11 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 11 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 11 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 11 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 11 times.
✓ Branch 34 taken 11 times.
✗ Branch 35 not taken.
✗ Branch 36 not taken.
✓ Branch 37 taken 11 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 11 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 11 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 11 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 11 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 11 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 11 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 11 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 11 times.
✓ Branch 54 taken 11 times.
✗ Branch 55 not taken.
✗ Branch 56 not taken.
✓ Branch 57 taken 11 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 11 times.
✗ Branch 61 not taken.
✓ Branch 62 taken 11 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 11 times.
✗ Branch 67 not taken.
✓ Branch 68 taken 11 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 11 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 11 times.
✗ Branch 76 not taken.
✓ Branch 77 taken 11 times.
✗ Branch 79 not taken.
✓ Branch 80 taken 11 times.
✓ Branch 82 taken 11 times.
✗ Branch 83 not taken.
✗ Branch 84 not taken.
✓ Branch 85 taken 11 times.
✗ Branch 86 not taken.
✓ Branch 87 taken 11 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 11 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 11 times.
✗ Branch 93 not taken.
✓ Branch 94 taken 11 times.
✗ Branch 95 not taken.
✓ Branch 96 taken 11 times.
✗ Branch 98 not taken.
✓ Branch 99 taken 11 times.
✗ Branch 100 not taken.
✓ Branch 101 taken 11 times.
✗ Branch 102 not taken.
✓ Branch 103 taken 11 times.
✗ Branch 104 not taken.
✓ Branch 105 taken 11 times.
✗ Branch 106 not taken.
✓ Branch 107 taken 11 times.
✗ Branch 108 not taken.
✓ Branch 109 taken 11 times.
✗ Branch 110 not taken.
✓ Branch 111 taken 11 times.
✗ Branch 112 not taken.
✓ Branch 113 taken 11 times.
✗ Branch 114 not taken.
✓ Branch 115 taken 11 times.
✗ Branch 116 not taken.
✓ Branch 117 taken 11 times.
✗ Branch 118 not taken.
✓ Branch 119 taken 11 times.
✗ Branch 120 not taken.
✓ Branch 121 taken 11 times.
✗ Branch 122 not taken.
✓ Branch 123 taken 11 times.
✗ Branch 124 not taken.
✓ Branch 125 taken 11 times.
✗ Branch 126 not taken.
✓ Branch 127 taken 11 times.
✗ Branch 128 not taken.
✓ Branch 129 taken 11 times.
✓ Branch 130 taken 11 times.
✓ Branch 131 taken 11 times.
✓ Branch 132 taken 11 times.
✓ Branch 133 taken 11 times.
✓ Branch 134 taken 108 times.
✓ Branch 135 taken 11 times.
✓ Branch 136 taken 1072 times.
✓ Branch 137 taken 108 times.
1213 dest_bound(1,4):dest_bound(2,4)), source = constant_)
1720 !! copy input data
1721 !!-----------------------------------------------------------------------
1722
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 11 times.
22 select rank(data)
1723 rank(4)
1724 data_padded( &
1725 trgt_bound(1,1):trgt_bound(2,1), &
1726 trgt_bound(1,2):trgt_bound(2,2), &
1727 trgt_bound(1,3):trgt_bound(2,3), &
1728 trgt_bound(1,4):trgt_bound(2,4)) = &
1729 data( &
1730 trgt_bound(1,1):trgt_bound(2,1), &
1731 trgt_bound(1,2):trgt_bound(2,2), &
1732 trgt_bound(1,3):trgt_bound(2,3), &
1733
108/208
✗ Branch 0 not taken.
✓ Branch 1 taken 11 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 11 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 11 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 11 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 11 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 11 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 11 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 11 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 11 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 11 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 11 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 11 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 11 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 11 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 11 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 11 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 11 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 11 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 11 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 11 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 11 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 11 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 11 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 11 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 11 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 11 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 11 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 11 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 11 times.
✗ Branch 63 not taken.
✓ Branch 64 taken 11 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 11 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 11 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 11 times.
✗ Branch 74 not taken.
✓ Branch 75 taken 11 times.
✗ Branch 76 not taken.
✓ Branch 77 taken 11 times.
✗ Branch 78 not taken.
✓ Branch 79 taken 11 times.
✗ Branch 80 not taken.
✓ Branch 81 taken 11 times.
✗ Branch 82 not taken.
✓ Branch 83 taken 11 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 11 times.
✗ Branch 86 not taken.
✓ Branch 87 taken 11 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 11 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 11 times.
✗ Branch 92 not taken.
✓ Branch 93 taken 11 times.
✗ Branch 94 not taken.
✓ Branch 95 taken 11 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 11 times.
✗ Branch 98 not taken.
✓ Branch 99 taken 11 times.
✗ Branch 100 not taken.
✓ Branch 101 taken 11 times.
✗ Branch 102 not taken.
✓ Branch 103 taken 11 times.
✗ Branch 104 not taken.
✓ Branch 105 taken 11 times.
✗ Branch 106 not taken.
✓ Branch 107 taken 11 times.
✗ Branch 108 not taken.
✓ Branch 109 taken 11 times.
✗ Branch 110 not taken.
✓ Branch 111 taken 11 times.
✗ Branch 112 not taken.
✓ Branch 113 taken 11 times.
✗ Branch 114 not taken.
✓ Branch 115 taken 11 times.
✗ Branch 116 not taken.
✓ Branch 117 taken 11 times.
✗ Branch 118 not taken.
✓ Branch 119 taken 11 times.
✗ Branch 120 not taken.
✓ Branch 121 taken 11 times.
✗ Branch 122 not taken.
✓ Branch 123 taken 11 times.
✗ Branch 124 not taken.
✓ Branch 125 taken 11 times.
✗ Branch 126 not taken.
✓ Branch 127 taken 11 times.
✗ Branch 128 not taken.
✓ Branch 129 taken 11 times.
✗ Branch 130 not taken.
✓ Branch 131 taken 11 times.
✗ Branch 132 not taken.
✓ Branch 133 taken 11 times.
✗ Branch 134 not taken.
✓ Branch 135 taken 11 times.
✗ Branch 136 not taken.
✓ Branch 137 taken 11 times.
✗ Branch 138 not taken.
✓ Branch 139 taken 11 times.
✗ Branch 140 not taken.
✓ Branch 141 taken 11 times.
✗ Branch 142 not taken.
✓ Branch 143 taken 11 times.
✗ Branch 144 not taken.
✓ Branch 145 taken 11 times.
✗ Branch 146 not taken.
✓ Branch 147 taken 11 times.
✗ Branch 148 not taken.
✓ Branch 149 taken 11 times.
✗ Branch 150 not taken.
✓ Branch 151 taken 11 times.
✗ Branch 152 not taken.
✓ Branch 153 taken 11 times.
✗ Branch 154 not taken.
✓ Branch 155 taken 11 times.
✗ Branch 156 not taken.
✓ Branch 157 taken 11 times.
✗ Branch 158 not taken.
✓ Branch 159 taken 11 times.
✗ Branch 160 not taken.
✓ Branch 161 taken 11 times.
✗ Branch 162 not taken.
✓ Branch 163 taken 11 times.
✗ Branch 164 not taken.
✓ Branch 165 taken 11 times.
✗ Branch 166 not taken.
✓ Branch 167 taken 11 times.
✗ Branch 168 not taken.
✓ Branch 169 taken 11 times.
✗ Branch 170 not taken.
✓ Branch 171 taken 11 times.
✗ Branch 172 not taken.
✓ Branch 173 taken 11 times.
✗ Branch 174 not taken.
✓ Branch 175 taken 11 times.
✗ Branch 176 not taken.
✓ Branch 177 taken 11 times.
✗ Branch 179 not taken.
✓ Branch 180 taken 11 times.
✗ Branch 181 not taken.
✓ Branch 182 taken 11 times.
✗ Branch 183 not taken.
✓ Branch 184 taken 11 times.
✗ Branch 185 not taken.
✓ Branch 186 taken 11 times.
✗ Branch 187 not taken.
✓ Branch 188 taken 11 times.
✗ Branch 190 not taken.
✓ Branch 191 taken 11 times.
✗ Branch 192 not taken.
✓ Branch 193 taken 11 times.
✗ Branch 194 not taken.
✓ Branch 195 taken 11 times.
✗ Branch 196 not taken.
✓ Branch 197 taken 11 times.
✗ Branch 198 not taken.
✓ Branch 199 taken 11 times.
✗ Branch 201 not taken.
✓ Branch 202 taken 11 times.
✗ Branch 203 not taken.
✓ Branch 204 taken 11 times.
✗ Branch 205 not taken.
✓ Branch 206 taken 11 times.
✗ Branch 207 not taken.
✓ Branch 208 taken 11 times.
✗ Branch 209 not taken.
✓ Branch 210 taken 11 times.
✓ Branch 212 taken 11 times.
✓ Branch 213 taken 11 times.
✓ Branch 214 taken 11 times.
✓ Branch 215 taken 11 times.
✓ Branch 216 taken 88 times.
✓ Branch 217 taken 11 times.
✓ Branch 218 taken 704 times.
✓ Branch 219 taken 88 times.
825 trgt_bound(1,4):trgt_bound(2,4))
1734 end select
1735 rank(5)
1736 allocate(data_padded(&
1737 dest_bound(1,1):dest_bound(2,1),&
1738 dest_bound(1,2):dest_bound(2,2),&
1739 dest_bound(1,3):dest_bound(2,3),&
1740 dest_bound(1,4):dest_bound(2,4),&
1741
84/158
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 10 times.
✓ Branch 14 taken 10 times.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✓ Branch 17 taken 10 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 10 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 10 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 10 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 10 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 10 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 10 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 10 times.
✓ Branch 34 taken 10 times.
✗ Branch 35 not taken.
✗ Branch 36 not taken.
✓ Branch 37 taken 10 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 10 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 10 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 10 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 10 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 10 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 10 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 10 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 10 times.
✓ Branch 54 taken 10 times.
✗ Branch 55 not taken.
✗ Branch 56 not taken.
✓ Branch 57 taken 10 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 10 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 10 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 10 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 10 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 10 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 10 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 10 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 10 times.
✓ Branch 74 taken 10 times.
✗ Branch 75 not taken.
✗ Branch 76 not taken.
✓ Branch 77 taken 10 times.
✗ Branch 78 not taken.
✓ Branch 79 taken 10 times.
✗ Branch 81 not taken.
✓ Branch 82 taken 10 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 10 times.
✗ Branch 87 not taken.
✓ Branch 88 taken 10 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 10 times.
✗ Branch 93 not taken.
✓ Branch 94 taken 10 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 10 times.
✗ Branch 99 not taken.
✓ Branch 100 taken 10 times.
✓ Branch 102 taken 10 times.
✗ Branch 103 not taken.
✗ Branch 104 not taken.
✓ Branch 105 taken 10 times.
✗ Branch 106 not taken.
✓ Branch 107 taken 10 times.
✗ Branch 108 not taken.
✓ Branch 109 taken 10 times.
✗ Branch 110 not taken.
✓ Branch 111 taken 10 times.
✗ Branch 113 not taken.
✓ Branch 114 taken 10 times.
✗ Branch 115 not taken.
✓ Branch 116 taken 10 times.
✗ Branch 118 not taken.
✓ Branch 119 taken 10 times.
✗ Branch 120 not taken.
✓ Branch 121 taken 10 times.
✗ Branch 122 not taken.
✓ Branch 123 taken 10 times.
✗ Branch 124 not taken.
✓ Branch 125 taken 10 times.
✗ Branch 126 not taken.
✓ Branch 127 taken 10 times.
✗ Branch 128 not taken.
✓ Branch 129 taken 10 times.
✗ Branch 130 not taken.
✓ Branch 131 taken 10 times.
✗ Branch 132 not taken.
✓ Branch 133 taken 10 times.
✗ Branch 134 not taken.
✓ Branch 135 taken 10 times.
✗ Branch 136 not taken.
✓ Branch 137 taken 10 times.
✗ Branch 138 not taken.
✓ Branch 139 taken 10 times.
✗ Branch 140 not taken.
✓ Branch 141 taken 10 times.
✗ Branch 142 not taken.
✓ Branch 143 taken 10 times.
✗ Branch 144 not taken.
✓ Branch 145 taken 10 times.
✗ Branch 146 not taken.
✓ Branch 147 taken 10 times.
✗ Branch 148 not taken.
✓ Branch 149 taken 10 times.
✗ Branch 150 not taken.
✓ Branch 151 taken 10 times.
✗ Branch 152 not taken.
✓ Branch 153 taken 10 times.
✗ Branch 154 not taken.
✓ Branch 155 taken 10 times.
✗ Branch 156 not taken.
✓ Branch 157 taken 10 times.
✓ Branch 158 taken 10 times.
✓ Branch 159 taken 10 times.
✓ Branch 160 taken 10 times.
✓ Branch 161 taken 10 times.
✓ Branch 162 taken 98 times.
✓ Branch 163 taken 10 times.
✓ Branch 164 taken 972 times.
✓ Branch 165 taken 98 times.
✓ Branch 166 taken 9752 times.
✓ Branch 167 taken 972 times.
10852 dest_bound(1,5):dest_bound(2,5)), source = constant_)
1742 !! copy input data
1743 !!-----------------------------------------------------------------------
1744
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
20 select rank(data)
1745 rank(5)
1746 data_padded( &
1747 trgt_bound(1,1):trgt_bound(2,1), &
1748 trgt_bound(1,2):trgt_bound(2,2), &
1749 trgt_bound(1,3):trgt_bound(2,3), &
1750 trgt_bound(1,4):trgt_bound(2,4), &
1751 trgt_bound(1,5):trgt_bound(2,5)) = &
1752 data( &
1753 trgt_bound(1,1):trgt_bound(2,1), &
1754 trgt_bound(1,2):trgt_bound(2,2), &
1755 trgt_bound(1,3):trgt_bound(2,3), &
1756 trgt_bound(1,4):trgt_bound(2,4), &
1757
135/260
✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 10 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 10 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 10 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 10 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 10 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 10 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 10 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 10 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 10 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 10 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 10 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 10 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 10 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 10 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 10 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 10 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 10 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 10 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 10 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 10 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 10 times.
✗ Branch 56 not taken.
✓ Branch 57 taken 10 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 10 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 10 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 10 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 10 times.
✗ Branch 67 not taken.
✓ Branch 68 taken 10 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 10 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 10 times.
✗ Branch 76 not taken.
✓ Branch 77 taken 10 times.
✗ Branch 79 not taken.
✓ Branch 80 taken 10 times.
✗ Branch 82 not taken.
✓ Branch 83 taken 10 times.
✗ Branch 85 not taken.
✓ Branch 86 taken 10 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 10 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 10 times.
✗ Branch 92 not taken.
✓ Branch 93 taken 10 times.
✗ Branch 94 not taken.
✓ Branch 95 taken 10 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 10 times.
✗ Branch 98 not taken.
✓ Branch 99 taken 10 times.
✗ Branch 100 not taken.
✓ Branch 101 taken 10 times.
✗ Branch 102 not taken.
✓ Branch 103 taken 10 times.
✗ Branch 104 not taken.
✓ Branch 105 taken 10 times.
✗ Branch 106 not taken.
✓ Branch 107 taken 10 times.
✗ Branch 108 not taken.
✓ Branch 109 taken 10 times.
✗ Branch 110 not taken.
✓ Branch 111 taken 10 times.
✗ Branch 112 not taken.
✓ Branch 113 taken 10 times.
✗ Branch 114 not taken.
✓ Branch 115 taken 10 times.
✗ Branch 116 not taken.
✓ Branch 117 taken 10 times.
✗ Branch 118 not taken.
✓ Branch 119 taken 10 times.
✗ Branch 120 not taken.
✓ Branch 121 taken 10 times.
✗ Branch 122 not taken.
✓ Branch 123 taken 10 times.
✗ Branch 124 not taken.
✓ Branch 125 taken 10 times.
✗ Branch 126 not taken.
✓ Branch 127 taken 10 times.
✗ Branch 128 not taken.
✓ Branch 129 taken 10 times.
✗ Branch 130 not taken.
✓ Branch 131 taken 10 times.
✗ Branch 132 not taken.
✓ Branch 133 taken 10 times.
✗ Branch 134 not taken.
✓ Branch 135 taken 10 times.
✗ Branch 136 not taken.
✓ Branch 137 taken 10 times.
✗ Branch 138 not taken.
✓ Branch 139 taken 10 times.
✗ Branch 140 not taken.
✓ Branch 141 taken 10 times.
✗ Branch 142 not taken.
✓ Branch 143 taken 10 times.
✗ Branch 144 not taken.
✓ Branch 145 taken 10 times.
✗ Branch 146 not taken.
✓ Branch 147 taken 10 times.
✗ Branch 148 not taken.
✓ Branch 149 taken 10 times.
✗ Branch 150 not taken.
✓ Branch 151 taken 10 times.
✗ Branch 152 not taken.
✓ Branch 153 taken 10 times.
✗ Branch 154 not taken.
✓ Branch 155 taken 10 times.
✗ Branch 156 not taken.
✓ Branch 157 taken 10 times.
✗ Branch 158 not taken.
✓ Branch 159 taken 10 times.
✗ Branch 160 not taken.
✓ Branch 161 taken 10 times.
✗ Branch 162 not taken.
✓ Branch 163 taken 10 times.
✗ Branch 164 not taken.
✓ Branch 165 taken 10 times.
✗ Branch 166 not taken.
✓ Branch 167 taken 10 times.
✗ Branch 168 not taken.
✓ Branch 169 taken 10 times.
✗ Branch 170 not taken.
✓ Branch 171 taken 10 times.
✗ Branch 172 not taken.
✓ Branch 173 taken 10 times.
✗ Branch 174 not taken.
✓ Branch 175 taken 10 times.
✗ Branch 176 not taken.
✓ Branch 177 taken 10 times.
✗ Branch 178 not taken.
✓ Branch 179 taken 10 times.
✗ Branch 180 not taken.
✓ Branch 181 taken 10 times.
✗ Branch 182 not taken.
✓ Branch 183 taken 10 times.
✗ Branch 184 not taken.
✓ Branch 185 taken 10 times.
✗ Branch 186 not taken.
✓ Branch 187 taken 10 times.
✗ Branch 188 not taken.
✓ Branch 189 taken 10 times.
✗ Branch 190 not taken.
✓ Branch 191 taken 10 times.
✗ Branch 192 not taken.
✓ Branch 193 taken 10 times.
✗ Branch 194 not taken.
✓ Branch 195 taken 10 times.
✗ Branch 196 not taken.
✓ Branch 197 taken 10 times.
✗ Branch 198 not taken.
✓ Branch 199 taken 10 times.
✗ Branch 200 not taken.
✓ Branch 201 taken 10 times.
✗ Branch 202 not taken.
✓ Branch 203 taken 10 times.
✗ Branch 204 not taken.
✓ Branch 205 taken 10 times.
✗ Branch 206 not taken.
✓ Branch 207 taken 10 times.
✗ Branch 208 not taken.
✓ Branch 209 taken 10 times.
✗ Branch 210 not taken.
✓ Branch 211 taken 10 times.
✗ Branch 212 not taken.
✓ Branch 213 taken 10 times.
✗ Branch 214 not taken.
✓ Branch 215 taken 10 times.
✗ Branch 216 not taken.
✓ Branch 217 taken 10 times.
✗ Branch 219 not taken.
✓ Branch 220 taken 10 times.
✗ Branch 221 not taken.
✓ Branch 222 taken 10 times.
✗ Branch 223 not taken.
✓ Branch 224 taken 10 times.
✗ Branch 225 not taken.
✓ Branch 226 taken 10 times.
✗ Branch 227 not taken.
✓ Branch 228 taken 10 times.
✗ Branch 230 not taken.
✓ Branch 231 taken 10 times.
✗ Branch 232 not taken.
✓ Branch 233 taken 10 times.
✗ Branch 234 not taken.
✓ Branch 235 taken 10 times.
✗ Branch 236 not taken.
✓ Branch 237 taken 10 times.
✗ Branch 238 not taken.
✓ Branch 239 taken 10 times.
✗ Branch 241 not taken.
✓ Branch 242 taken 10 times.
✗ Branch 243 not taken.
✓ Branch 244 taken 10 times.
✗ Branch 245 not taken.
✓ Branch 246 taken 10 times.
✗ Branch 247 not taken.
✓ Branch 248 taken 10 times.
✗ Branch 249 not taken.
✓ Branch 250 taken 10 times.
✗ Branch 252 not taken.
✓ Branch 253 taken 10 times.
✗ Branch 254 not taken.
✓ Branch 255 taken 10 times.
✗ Branch 256 not taken.
✓ Branch 257 taken 10 times.
✗ Branch 258 not taken.
✓ Branch 259 taken 10 times.
✗ Branch 260 not taken.
✓ Branch 261 taken 10 times.
✓ Branch 263 taken 10 times.
✓ Branch 264 taken 10 times.
✓ Branch 265 taken 10 times.
✓ Branch 266 taken 10 times.
✓ Branch 267 taken 80 times.
✓ Branch 268 taken 10 times.
✓ Branch 269 taken 640 times.
✓ Branch 270 taken 80 times.
✓ Branch 271 taken 5120 times.
✓ Branch 272 taken 640 times.
5870 trgt_bound(1,5):trgt_bound(2,5))
1758 end select
1759 end select
1760
1761
1762 !!!-----------------------------------------------------------------------------
1763 !!! return if constant -- or no -- padding
1764 !!!-----------------------------------------------------------------------------
1765 21 select case(padding_method)
1766 case ("same")
1767 39 return
1768 case("full")
1769 6 return
1770 case("zero")
1771 12 return
1772 case("valid", "vali")
1773
4/5
✓ Branch 0 taken 21 times.
✓ Branch 1 taken 6 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 12 times.
✓ Branch 4 taken 24 times.
63 return
1774 end select
1775
1776
1777 !!!-----------------------------------------------------------------------------
1778 !!! insert padding
1779 !!!-----------------------------------------------------------------------------
1780 24 i = 0
1781
2/2
✓ Branch 0 taken 68 times.
✓ Branch 1 taken 24 times.
92 do idim=1,ndim
1782
2/2
✓ Branch 0 taken 32 times.
✓ Branch 1 taken 36 times.
68 if(idim.eq.sample_dim_.or.idim.eq.channel_dim_) cycle
1783 36 i = i + 1
1784
21/36
✗ Branch 0 not taken.
✓ Branch 1 taken 36 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 36 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 36 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 36 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 36 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 36 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 36 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 36 times.
✓ Branch 24 taken 12 times.
✓ Branch 25 taken 24 times.
✓ Branch 26 taken 12 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 12 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 24 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 24 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 24 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 24 times.
✗ Branch 37 not taken.
✓ Branch 38 taken 24 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 124 times.
✓ Branch 41 taken 36 times.
✓ Branch 42 taken 248 times.
✓ Branch 43 taken 124 times.
408 tmp_dest_bound = dest_bound
1785
21/36
✗ Branch 0 not taken.
✓ Branch 1 taken 36 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 36 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 36 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 36 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 36 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 36 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 36 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 36 times.
✓ Branch 24 taken 12 times.
✓ Branch 25 taken 24 times.
✓ Branch 26 taken 12 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 12 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 24 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 24 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 24 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 24 times.
✗ Branch 37 not taken.
✓ Branch 38 taken 24 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 124 times.
✓ Branch 41 taken 36 times.
✓ Branch 42 taken 248 times.
✓ Branch 43 taken 124 times.
408 tmp_trgt_bound = dest_bound
1786
16/30
✗ Branch 0 not taken.
✓ Branch 1 taken 36 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 36 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 36 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 36 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 36 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 36 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 36 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 36 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 36 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 36 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 36 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 36 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 36 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 36 times.
✓ Branch 42 taken 72 times.
✓ Branch 43 taken 36 times.
108 tmp_dest_bound(:,idim) = [ dest_bound(1,idim), trgt_bound(1,idim) - 1 ]
1787 9 select case(padding_method)
1788 case ("circular")
1789
18/34
✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 9 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 9 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 9 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 9 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 9 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 9 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 9 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 9 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 9 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 9 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 9 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 9 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 9 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 9 times.
✓ Branch 48 taken 18 times.
✓ Branch 49 taken 9 times.
27 tmp_trgt_bound(:,idim) = [ trgt_bound(2,idim) - padding(i) + 1, trgt_bound(2,idim) ]
1790 case("reflection")
1791
18/34
✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 9 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 9 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 9 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 9 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 9 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 9 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 9 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 9 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 9 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 9 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 9 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 9 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 9 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 9 times.
✓ Branch 48 taken 18 times.
✓ Branch 49 taken 9 times.
27 tmp_trgt_bound(:,idim) = [ trgt_bound(1,idim) + 1, trgt_bound(1,idim) + padding(i) ]
1792 case("replication")
1793
21/38
✓ Branch 0 taken 9 times.
✓ Branch 1 taken 9 times.
✓ Branch 2 taken 18 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 18 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 18 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 18 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 18 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 18 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 18 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 18 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 18 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 18 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 18 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 18 times.
✗ Branch 37 not taken.
✓ Branch 38 taken 18 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 18 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 18 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 18 times.
✗ Branch 49 not taken.
✓ Branch 50 taken 18 times.
✓ Branch 52 taken 36 times.
✓ Branch 53 taken 18 times.
72 tmp_trgt_bound(:,idim) = [ trgt_bound(1,idim), trgt_bound(1,idim) + padding(i) - 1 ]
1794 end select
1795
1/2
✓ Branch 0 taken 72 times.
✗ Branch 1 not taken.
96 do j = 1, 2
1796 select rank(data_padded)
1797 rank(1)
1798 data_padded( &
1799 tmp_dest_bound(1,1):tmp_dest_bound(2,1)) = &
1800 data_padded( &
1801
30/56
✗ Branch 0 not taken.
✓ Branch 1 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 8 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 8 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 8 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 8 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 8 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 8 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 8 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 8 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 8 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 8 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 8 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 8 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 8 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 8 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 8 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 8 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 8 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 8 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 8 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 8 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 8 times.
✗ Branch 56 not taken.
✓ Branch 57 taken 8 times.
✗ Branch 59 not taken.
✓ Branch 60 taken 8 times.
✓ Branch 61 taken 8 times.
✓ Branch 62 taken 8 times.
✓ Branch 63 taken 8 times.
✓ Branch 64 taken 8 times.
24 tmp_trgt_bound(1,1):tmp_trgt_bound(2,1))
1802 rank(2)
1803 data_padded( &
1804 tmp_dest_bound(1,1):tmp_dest_bound(2,1), &
1805 tmp_dest_bound(1,2):tmp_dest_bound(2,2) ) = &
1806 data_padded( &
1807 tmp_trgt_bound(1,1):tmp_trgt_bound(2,1), &
1808
59/110
✗ Branch 0 not taken.
✓ Branch 1 taken 16 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 16 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 16 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 16 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 16 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 16 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 16 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 16 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 16 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 16 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 16 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 16 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 16 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 16 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 16 times.
✗ Branch 37 not taken.
✓ Branch 38 taken 16 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 16 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 16 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 16 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 16 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 16 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 16 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 16 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 16 times.
✗ Branch 56 not taken.
✓ Branch 57 taken 16 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 16 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 16 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 16 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 16 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 16 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 16 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 16 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 16 times.
✗ Branch 74 not taken.
✓ Branch 75 taken 16 times.
✗ Branch 76 not taken.
✓ Branch 77 taken 16 times.
✗ Branch 78 not taken.
✓ Branch 79 taken 16 times.
✗ Branch 80 not taken.
✓ Branch 81 taken 16 times.
✗ Branch 82 not taken.
✓ Branch 83 taken 16 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 16 times.
✗ Branch 86 not taken.
✓ Branch 87 taken 16 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 16 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 16 times.
✗ Branch 92 not taken.
✓ Branch 93 taken 16 times.
✗ Branch 94 not taken.
✓ Branch 95 taken 16 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 16 times.
✗ Branch 99 not taken.
✓ Branch 100 taken 16 times.
✗ Branch 101 not taken.
✓ Branch 102 taken 16 times.
✗ Branch 103 not taken.
✓ Branch 104 taken 16 times.
✗ Branch 105 not taken.
✓ Branch 106 taken 16 times.
✗ Branch 107 not taken.
✓ Branch 108 taken 16 times.
✓ Branch 110 taken 16 times.
✗ Branch 111 not taken.
✓ Branch 112 taken 16 times.
✓ Branch 113 taken 16 times.
✓ Branch 114 taken 16 times.
✓ Branch 115 taken 16 times.
✓ Branch 116 taken 16 times.
✓ Branch 117 taken 16 times.
✓ Branch 118 taken 16 times.
✓ Branch 119 taken 16 times.
80 tmp_trgt_bound(1,2):tmp_trgt_bound(2,2) )
1809 rank(3)
1810 data_padded( &
1811 tmp_dest_bound(1,1):tmp_dest_bound(2,1), &
1812 tmp_dest_bound(1,2):tmp_dest_bound(2,2), &
1813 tmp_dest_bound(1,3):tmp_dest_bound(2,3) ) = &
1814 data_padded( &
1815 tmp_trgt_bound(1,1):tmp_trgt_bound(2,1), &
1816 tmp_trgt_bound(1,2):tmp_trgt_bound(2,2), &
1817
88/164
✗ Branch 0 not taken.
✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 8 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 8 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 8 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 8 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 8 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 8 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 8 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 8 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 8 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 8 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 8 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 8 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 8 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 8 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 8 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 8 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 8 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 8 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 8 times.
✗ Branch 47 not taken.
✓ Branch 48 taken 8 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 8 times.
✗ Branch 53 not taken.
✓ Branch 54 taken 8 times.
✗ Branch 56 not taken.
✓ Branch 57 taken 8 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 8 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 8 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 8 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 8 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 8 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 8 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 8 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 8 times.
✗ Branch 74 not taken.
✓ Branch 75 taken 8 times.
✗ Branch 76 not taken.
✓ Branch 77 taken 8 times.
✗ Branch 78 not taken.
✓ Branch 79 taken 8 times.
✗ Branch 80 not taken.
✓ Branch 81 taken 8 times.
✗ Branch 82 not taken.
✓ Branch 83 taken 8 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 8 times.
✗ Branch 86 not taken.
✓ Branch 87 taken 8 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 8 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 8 times.
✗ Branch 92 not taken.
✓ Branch 93 taken 8 times.
✗ Branch 94 not taken.
✓ Branch 95 taken 8 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 8 times.
✗ Branch 98 not taken.
✓ Branch 99 taken 8 times.
✗ Branch 100 not taken.
✓ Branch 101 taken 8 times.
✗ Branch 102 not taken.
✓ Branch 103 taken 8 times.
✗ Branch 104 not taken.
✓ Branch 105 taken 8 times.
✗ Branch 106 not taken.
✓ Branch 107 taken 8 times.
✗ Branch 108 not taken.
✓ Branch 109 taken 8 times.
✗ Branch 110 not taken.
✓ Branch 111 taken 8 times.
✗ Branch 112 not taken.
✓ Branch 113 taken 8 times.
✗ Branch 114 not taken.
✓ Branch 115 taken 8 times.
✗ Branch 116 not taken.
✓ Branch 117 taken 8 times.
✗ Branch 118 not taken.
✓ Branch 119 taken 8 times.
✗ Branch 120 not taken.
✓ Branch 121 taken 8 times.
✗ Branch 122 not taken.
✓ Branch 123 taken 8 times.
✗ Branch 124 not taken.
✓ Branch 125 taken 8 times.
✗ Branch 126 not taken.
✓ Branch 127 taken 8 times.
✗ Branch 128 not taken.
✓ Branch 129 taken 8 times.
✗ Branch 130 not taken.
✓ Branch 131 taken 8 times.
✗ Branch 132 not taken.
✓ Branch 133 taken 8 times.
✗ Branch 134 not taken.
✓ Branch 135 taken 8 times.
✗ Branch 136 not taken.
✓ Branch 137 taken 8 times.
✗ Branch 139 not taken.
✓ Branch 140 taken 8 times.
✗ Branch 141 not taken.
✓ Branch 142 taken 8 times.
✗ Branch 143 not taken.
✓ Branch 144 taken 8 times.
✗ Branch 145 not taken.
✓ Branch 146 taken 8 times.
✗ Branch 147 not taken.
✓ Branch 148 taken 8 times.
✗ Branch 150 not taken.
✓ Branch 151 taken 8 times.
✗ Branch 152 not taken.
✓ Branch 153 taken 8 times.
✗ Branch 154 not taken.
✓ Branch 155 taken 8 times.
✗ Branch 156 not taken.
✓ Branch 157 taken 8 times.
✗ Branch 158 not taken.
✓ Branch 159 taken 8 times.
✓ Branch 161 taken 8 times.
✗ Branch 162 not taken.
✓ Branch 163 taken 8 times.
✓ Branch 164 taken 8 times.
✓ Branch 165 taken 8 times.
✓ Branch 166 taken 8 times.
✓ Branch 167 taken 8 times.
✓ Branch 168 taken 8 times.
✓ Branch 169 taken 8 times.
✓ Branch 170 taken 8 times.
✓ Branch 171 taken 8 times.
✓ Branch 172 taken 8 times.
✓ Branch 173 taken 8 times.
✓ Branch 174 taken 8 times.
56 tmp_trgt_bound(1,3):tmp_trgt_bound(2,3) )
1818 rank(4)
1819 data_padded( &
1820 tmp_dest_bound(1,1):tmp_dest_bound(2,1), &
1821 tmp_dest_bound(1,2):tmp_dest_bound(2,2), &
1822 tmp_dest_bound(1,3):tmp_dest_bound(2,3), &
1823 tmp_dest_bound(1,4):tmp_dest_bound(2,4) ) = &
1824 data_padded( &
1825 tmp_trgt_bound(1,1):tmp_trgt_bound(2,1), &
1826 tmp_trgt_bound(1,2):tmp_trgt_bound(2,2), &
1827 tmp_trgt_bound(1,3):tmp_trgt_bound(2,3), &
1828
117/218
✗ Branch 0 not taken.
✓ Branch 1 taken 16 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 16 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 16 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 16 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 16 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 16 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 16 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 16 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 16 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 16 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 16 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 16 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 16 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 16 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 16 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 16 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 16 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 16 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 16 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 16 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 16 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 16 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 16 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 16 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 16 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 16 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 16 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 16 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 16 times.
✗ Branch 63 not taken.
✓ Branch 64 taken 16 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 16 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 16 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 16 times.
✗ Branch 74 not taken.
✓ Branch 75 taken 16 times.
✗ Branch 76 not taken.
✓ Branch 77 taken 16 times.
✗ Branch 78 not taken.
✓ Branch 79 taken 16 times.
✗ Branch 80 not taken.
✓ Branch 81 taken 16 times.
✗ Branch 82 not taken.
✓ Branch 83 taken 16 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 16 times.
✗ Branch 86 not taken.
✓ Branch 87 taken 16 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 16 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 16 times.
✗ Branch 92 not taken.
✓ Branch 93 taken 16 times.
✗ Branch 94 not taken.
✓ Branch 95 taken 16 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 16 times.
✗ Branch 98 not taken.
✓ Branch 99 taken 16 times.
✗ Branch 100 not taken.
✓ Branch 101 taken 16 times.
✗ Branch 102 not taken.
✓ Branch 103 taken 16 times.
✗ Branch 104 not taken.
✓ Branch 105 taken 16 times.
✗ Branch 106 not taken.
✓ Branch 107 taken 16 times.
✗ Branch 108 not taken.
✓ Branch 109 taken 16 times.
✗ Branch 110 not taken.
✓ Branch 111 taken 16 times.
✗ Branch 112 not taken.
✓ Branch 113 taken 16 times.
✗ Branch 114 not taken.
✓ Branch 115 taken 16 times.
✗ Branch 116 not taken.
✓ Branch 117 taken 16 times.
✗ Branch 118 not taken.
✓ Branch 119 taken 16 times.
✗ Branch 120 not taken.
✓ Branch 121 taken 16 times.
✗ Branch 122 not taken.
✓ Branch 123 taken 16 times.
✗ Branch 124 not taken.
✓ Branch 125 taken 16 times.
✗ Branch 126 not taken.
✓ Branch 127 taken 16 times.
✗ Branch 128 not taken.
✓ Branch 129 taken 16 times.
✗ Branch 130 not taken.
✓ Branch 131 taken 16 times.
✗ Branch 132 not taken.
✓ Branch 133 taken 16 times.
✗ Branch 134 not taken.
✓ Branch 135 taken 16 times.
✗ Branch 136 not taken.
✓ Branch 137 taken 16 times.
✗ Branch 138 not taken.
✓ Branch 139 taken 16 times.
✗ Branch 140 not taken.
✓ Branch 141 taken 16 times.
✗ Branch 142 not taken.
✓ Branch 143 taken 16 times.
✗ Branch 144 not taken.
✓ Branch 145 taken 16 times.
✗ Branch 146 not taken.
✓ Branch 147 taken 16 times.
✗ Branch 148 not taken.
✓ Branch 149 taken 16 times.
✗ Branch 150 not taken.
✓ Branch 151 taken 16 times.
✗ Branch 152 not taken.
✓ Branch 153 taken 16 times.
✗ Branch 154 not taken.
✓ Branch 155 taken 16 times.
✗ Branch 156 not taken.
✓ Branch 157 taken 16 times.
✗ Branch 158 not taken.
✓ Branch 159 taken 16 times.
✗ Branch 160 not taken.
✓ Branch 161 taken 16 times.
✗ Branch 162 not taken.
✓ Branch 163 taken 16 times.
✗ Branch 164 not taken.
✓ Branch 165 taken 16 times.
✗ Branch 166 not taken.
✓ Branch 167 taken 16 times.
✗ Branch 168 not taken.
✓ Branch 169 taken 16 times.
✗ Branch 170 not taken.
✓ Branch 171 taken 16 times.
✗ Branch 172 not taken.
✓ Branch 173 taken 16 times.
✗ Branch 174 not taken.
✓ Branch 175 taken 16 times.
✗ Branch 176 not taken.
✓ Branch 177 taken 16 times.
✗ Branch 179 not taken.
✓ Branch 180 taken 16 times.
✗ Branch 181 not taken.
✓ Branch 182 taken 16 times.
✗ Branch 183 not taken.
✓ Branch 184 taken 16 times.
✗ Branch 185 not taken.
✓ Branch 186 taken 16 times.
✗ Branch 187 not taken.
✓ Branch 188 taken 16 times.
✗ Branch 190 not taken.
✓ Branch 191 taken 16 times.
✗ Branch 192 not taken.
✓ Branch 193 taken 16 times.
✗ Branch 194 not taken.
✓ Branch 195 taken 16 times.
✗ Branch 196 not taken.
✓ Branch 197 taken 16 times.
✗ Branch 198 not taken.
✓ Branch 199 taken 16 times.
✗ Branch 201 not taken.
✓ Branch 202 taken 16 times.
✗ Branch 203 not taken.
✓ Branch 204 taken 16 times.
✗ Branch 205 not taken.
✓ Branch 206 taken 16 times.
✗ Branch 207 not taken.
✓ Branch 208 taken 16 times.
✗ Branch 209 not taken.
✓ Branch 210 taken 16 times.
✓ Branch 212 taken 16 times.
✗ Branch 213 not taken.
✓ Branch 214 taken 16 times.
✓ Branch 215 taken 16 times.
✓ Branch 216 taken 16 times.
✓ Branch 217 taken 16 times.
✓ Branch 218 taken 88 times.
✓ Branch 219 taken 16 times.
✓ Branch 220 taken 160 times.
✓ Branch 221 taken 88 times.
✓ Branch 222 taken 16 times.
✓ Branch 223 taken 16 times.
✓ Branch 224 taken 16 times.
✓ Branch 225 taken 16 times.
✓ Branch 226 taken 88 times.
✓ Branch 227 taken 16 times.
✓ Branch 228 taken 160 times.
✓ Branch 229 taken 88 times.
576 tmp_trgt_bound(1,4):tmp_trgt_bound(2,4) )
1829 rank(5)
1830 data_padded( &
1831 tmp_dest_bound(1,1):tmp_dest_bound(2,1), &
1832 tmp_dest_bound(1,2):tmp_dest_bound(2,2), &
1833 tmp_dest_bound(1,3):tmp_dest_bound(2,3), &
1834 tmp_dest_bound(1,4):tmp_dest_bound(2,4), &
1835 tmp_dest_bound(1,5):tmp_dest_bound(2,5) ) = &
1836 data_padded( &
1837 tmp_trgt_bound(1,1):tmp_trgt_bound(2,1), &
1838 tmp_trgt_bound(1,2):tmp_trgt_bound(2,2), &
1839 tmp_trgt_bound(1,3):tmp_trgt_bound(2,3), &
1840 tmp_trgt_bound(1,4):tmp_trgt_bound(2,4), &
1841
146/272
✗ Branch 0 not taken.
✓ Branch 1 taken 24 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 24 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 24 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 24 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 24 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 24 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 24 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 24 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 24 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 24 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 24 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 24 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 24 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 24 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 24 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 24 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 24 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 24 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 24 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 24 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 24 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 24 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 24 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 24 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 24 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 24 times.
✗ Branch 52 not taken.
✓ Branch 53 taken 24 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 24 times.
✗ Branch 56 not taken.
✓ Branch 57 taken 24 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 24 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 24 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 24 times.
✗ Branch 64 not taken.
✓ Branch 65 taken 24 times.
✗ Branch 67 not taken.
✓ Branch 68 taken 24 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 24 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 24 times.
✗ Branch 76 not taken.
✓ Branch 77 taken 24 times.
✗ Branch 79 not taken.
✓ Branch 80 taken 24 times.
✗ Branch 82 not taken.
✓ Branch 83 taken 24 times.
✗ Branch 85 not taken.
✓ Branch 86 taken 24 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 24 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 24 times.
✗ Branch 92 not taken.
✓ Branch 93 taken 24 times.
✗ Branch 94 not taken.
✓ Branch 95 taken 24 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 24 times.
✗ Branch 98 not taken.
✓ Branch 99 taken 24 times.
✗ Branch 100 not taken.
✓ Branch 101 taken 24 times.
✗ Branch 102 not taken.
✓ Branch 103 taken 24 times.
✗ Branch 104 not taken.
✓ Branch 105 taken 24 times.
✗ Branch 106 not taken.
✓ Branch 107 taken 24 times.
✗ Branch 108 not taken.
✓ Branch 109 taken 24 times.
✗ Branch 110 not taken.
✓ Branch 111 taken 24 times.
✗ Branch 112 not taken.
✓ Branch 113 taken 24 times.
✗ Branch 114 not taken.
✓ Branch 115 taken 24 times.
✗ Branch 116 not taken.
✓ Branch 117 taken 24 times.
✗ Branch 118 not taken.
✓ Branch 119 taken 24 times.
✗ Branch 120 not taken.
✓ Branch 121 taken 24 times.
✗ Branch 122 not taken.
✓ Branch 123 taken 24 times.
✗ Branch 124 not taken.
✓ Branch 125 taken 24 times.
✗ Branch 126 not taken.
✓ Branch 127 taken 24 times.
✗ Branch 128 not taken.
✓ Branch 129 taken 24 times.
✗ Branch 130 not taken.
✓ Branch 131 taken 24 times.
✗ Branch 132 not taken.
✓ Branch 133 taken 24 times.
✗ Branch 134 not taken.
✓ Branch 135 taken 24 times.
✗ Branch 136 not taken.
✓ Branch 137 taken 24 times.
✗ Branch 138 not taken.
✓ Branch 139 taken 24 times.
✗ Branch 140 not taken.
✓ Branch 141 taken 24 times.
✗ Branch 142 not taken.
✓ Branch 143 taken 24 times.
✗ Branch 144 not taken.
✓ Branch 145 taken 24 times.
✗ Branch 146 not taken.
✓ Branch 147 taken 24 times.
✗ Branch 148 not taken.
✓ Branch 149 taken 24 times.
✗ Branch 150 not taken.
✓ Branch 151 taken 24 times.
✗ Branch 152 not taken.
✓ Branch 153 taken 24 times.
✗ Branch 154 not taken.
✓ Branch 155 taken 24 times.
✗ Branch 156 not taken.
✓ Branch 157 taken 24 times.
✗ Branch 158 not taken.
✓ Branch 159 taken 24 times.
✗ Branch 160 not taken.
✓ Branch 161 taken 24 times.
✗ Branch 162 not taken.
✓ Branch 163 taken 24 times.
✗ Branch 164 not taken.
✓ Branch 165 taken 24 times.
✗ Branch 166 not taken.
✓ Branch 167 taken 24 times.
✗ Branch 168 not taken.
✓ Branch 169 taken 24 times.
✗ Branch 170 not taken.
✓ Branch 171 taken 24 times.
✗ Branch 172 not taken.
✓ Branch 173 taken 24 times.
✗ Branch 174 not taken.
✓ Branch 175 taken 24 times.
✗ Branch 176 not taken.
✓ Branch 177 taken 24 times.
✗ Branch 178 not taken.
✓ Branch 179 taken 24 times.
✗ Branch 180 not taken.
✓ Branch 181 taken 24 times.
✗ Branch 182 not taken.
✓ Branch 183 taken 24 times.
✗ Branch 184 not taken.
✓ Branch 185 taken 24 times.
✗ Branch 186 not taken.
✓ Branch 187 taken 24 times.
✗ Branch 188 not taken.
✓ Branch 189 taken 24 times.
✗ Branch 190 not taken.
✓ Branch 191 taken 24 times.
✗ Branch 192 not taken.
✓ Branch 193 taken 24 times.
✗ Branch 194 not taken.
✓ Branch 195 taken 24 times.
✗ Branch 196 not taken.
✓ Branch 197 taken 24 times.
✗ Branch 198 not taken.
✓ Branch 199 taken 24 times.
✗ Branch 200 not taken.
✓ Branch 201 taken 24 times.
✗ Branch 202 not taken.
✓ Branch 203 taken 24 times.
✗ Branch 204 not taken.
✓ Branch 205 taken 24 times.
✗ Branch 206 not taken.
✓ Branch 207 taken 24 times.
✗ Branch 208 not taken.
✓ Branch 209 taken 24 times.
✗ Branch 210 not taken.
✓ Branch 211 taken 24 times.
✗ Branch 212 not taken.
✓ Branch 213 taken 24 times.
✗ Branch 214 not taken.
✓ Branch 215 taken 24 times.
✗ Branch 216 not taken.
✓ Branch 217 taken 24 times.
✗ Branch 219 not taken.
✓ Branch 220 taken 24 times.
✗ Branch 221 not taken.
✓ Branch 222 taken 24 times.
✗ Branch 223 not taken.
✓ Branch 224 taken 24 times.
✗ Branch 225 not taken.
✓ Branch 226 taken 24 times.
✗ Branch 227 not taken.
✓ Branch 228 taken 24 times.
✗ Branch 230 not taken.
✓ Branch 231 taken 24 times.
✗ Branch 232 not taken.
✓ Branch 233 taken 24 times.
✗ Branch 234 not taken.
✓ Branch 235 taken 24 times.
✗ Branch 236 not taken.
✓ Branch 237 taken 24 times.
✗ Branch 238 not taken.
✓ Branch 239 taken 24 times.
✗ Branch 241 not taken.
✓ Branch 242 taken 24 times.
✗ Branch 243 not taken.
✓ Branch 244 taken 24 times.
✗ Branch 245 not taken.
✓ Branch 246 taken 24 times.
✗ Branch 247 not taken.
✓ Branch 248 taken 24 times.
✗ Branch 249 not taken.
✓ Branch 250 taken 24 times.
✗ Branch 252 not taken.
✓ Branch 253 taken 24 times.
✗ Branch 254 not taken.
✓ Branch 255 taken 24 times.
✗ Branch 256 not taken.
✓ Branch 257 taken 24 times.
✗ Branch 258 not taken.
✓ Branch 259 taken 24 times.
✗ Branch 260 not taken.
✓ Branch 261 taken 24 times.
✓ Branch 263 taken 24 times.
✗ Branch 264 not taken.
✓ Branch 265 taken 24 times.
✓ Branch 266 taken 24 times.
✓ Branch 267 taken 24 times.
✓ Branch 268 taken 24 times.
✓ Branch 269 taken 168 times.
✓ Branch 270 taken 24 times.
✓ Branch 271 taken 960 times.
✓ Branch 272 taken 168 times.
✓ Branch 273 taken 2400 times.
✓ Branch 274 taken 960 times.
✓ Branch 275 taken 24 times.
✓ Branch 276 taken 24 times.
✓ Branch 277 taken 24 times.
✓ Branch 278 taken 24 times.
✓ Branch 279 taken 168 times.
✓ Branch 280 taken 24 times.
✓ Branch 281 taken 960 times.
✓ Branch 282 taken 168 times.
✓ Branch 283 taken 2400 times.
✓ Branch 284 taken 960 times.
7176 tmp_trgt_bound(1,5):tmp_trgt_bound(2,5) )
1842 end select
1843
1844
2/2
✓ Branch 0 taken 36 times.
✓ Branch 1 taken 36 times.
72 if(j.eq.2) exit
1845
9/16
✗ Branch 0 not taken.
✓ Branch 1 taken 36 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 36 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 36 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 36 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 36 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 36 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 36 times.
✓ Branch 21 taken 72 times.
✓ Branch 22 taken 36 times.
108 bound_store(:) = tmp_dest_bound(:,idim)
1846 select case(padding_method)
1847 case ("circular")
1848
17/32
✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 9 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 9 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 9 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 9 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 9 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 9 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 9 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 9 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 9 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 9 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 9 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 9 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 9 times.
✓ Branch 45 taken 18 times.
✓ Branch 46 taken 9 times.
27 tmp_dest_bound(:,idim) = tmp_trgt_bound(:,idim) + padding(i)
1849
11/20
✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 9 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 9 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 9 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 9 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 9 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 9 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 9 times.
✓ Branch 27 taken 18 times.
✓ Branch 28 taken 9 times.
27 tmp_trgt_bound(:,idim) = bound_store(:) + padding(i)
1850 !tmp_dest_bound(:,idim) = [ ubound(data,idim) + 1, ubound(data_copy,idim) ]
1851 !tmp_trgt_bound(1,idim) = [ lbound(data,idim), lbound(data,idim) + padding(i) - 1 ]
1852 case("reflection")
1853
16/30
✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 9 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 9 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 9 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 9 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 9 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 9 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 9 times.
✓ Branch 27 taken 9 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 9 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 9 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 9 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 9 times.
✓ Branch 41 taken 18 times.
✓ Branch 42 taken 9 times.
27 tmp_dest_bound(:,idim) = tmp_trgt_bound(:,idim) + size(data,idim) - 1
1854
10/18
✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 9 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 9 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 9 times.
✓ Branch 15 taken 9 times.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✓ Branch 18 taken 9 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 9 times.
✓ Branch 23 taken 18 times.
✓ Branch 24 taken 9 times.
27 tmp_trgt_bound(:,idim) = bound_store(:) + size(data,idim) - 1
1855 !tmp_dest_bound(:,idim) = [ ubound(data,idim) + 1, ubound(data_copy,idim) ]
1856 !tmp_trgt_bound(1,idim) = [ ubound(data,idim) - padding(i), ubound(data,idim) - 1 ]
1857 case("replication")
1858
16/30
✗ Branch 0 not taken.
✓ Branch 1 taken 18 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 18 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 18 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 18 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 18 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 18 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 18 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 18 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 18 times.
✓ Branch 27 taken 18 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 18 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 18 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 18 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 18 times.
✓ Branch 41 taken 36 times.
✓ Branch 42 taken 18 times.
54 tmp_dest_bound(:,idim) = tmp_trgt_bound(:,idim) + size(data,idim)
1859
13/22
✓ Branch 0 taken 9 times.
✓ Branch 1 taken 9 times.
✓ Branch 2 taken 18 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 18 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 18 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 18 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 18 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 18 times.
✓ Branch 19 taken 18 times.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✓ Branch 22 taken 18 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 18 times.
✓ Branch 27 taken 36 times.
✓ Branch 28 taken 18 times.
90 tmp_trgt_bound(:,idim) = bound_store(:) + size(data,idim)
1860 !tmp_dest_bound(:,idim) = [ ubound(data,idim) + 1, ubound(data_copy,idim) ]
1861 !tmp_trgt_bound(1,idim) = [ ubound(data,idim) - padding(i) + 1, ubound(data,idim) ]
1862 end select
1863 end do
1864 end do
1865
1866
9/12
✓ Branch 0 taken 60 times.
✓ Branch 1 taken 3 times.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 24 times.
✓ Branch 5 taken 39 times.
✓ Branch 6 taken 24 times.
✓ Branch 7 taken 39 times.
✓ Branch 8 taken 63 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 63 times.
✗ Branch 11 not taken.
126 end subroutine pad_data
1867 !!!########################################################################
1868
1869
59/82
✓ Branch 0 taken 10 times.
✓ Branch 1 taken 53 times.
✓ Branch 2 taken 20 times.
✓ Branch 3 taken 33 times.
✓ Branch 4 taken 12 times.
✓ Branch 5 taken 21 times.
✓ Branch 6 taken 11 times.
✓ Branch 7 taken 10 times.
✓ Branch 8 taken 10 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 63 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 63 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 10 times.
✓ Branch 15 taken 53 times.
✓ Branch 16 taken 20 times.
✓ Branch 17 taken 33 times.
✓ Branch 18 taken 12 times.
✓ Branch 19 taken 21 times.
✓ Branch 20 taken 11 times.
✓ Branch 21 taken 10 times.
✓ Branch 22 taken 10 times.
✗ Branch 23 not taken.
✓ Branch 24 taken 3 times.
✓ Branch 25 taken 60 times.
✓ Branch 26 taken 3 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 60 times.
✓ Branch 29 taken 3 times.
✓ Branch 30 taken 3 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 10 times.
✓ Branch 33 taken 53 times.
✓ Branch 34 taken 10 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 10 times.
✗ Branch 37 not taken.
✓ Branch 38 taken 10 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 20 times.
✓ Branch 41 taken 33 times.
✓ Branch 42 taken 20 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 20 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 20 times.
✗ Branch 47 not taken.
✓ Branch 48 taken 12 times.
✓ Branch 49 taken 21 times.
✓ Branch 50 taken 12 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 12 times.
✗ Branch 53 not taken.
✓ Branch 54 taken 12 times.
✗ Branch 55 not taken.
✓ Branch 56 taken 11 times.
✓ Branch 57 taken 10 times.
✓ Branch 58 taken 11 times.
✗ Branch 59 not taken.
✓ Branch 60 taken 11 times.
✗ Branch 61 not taken.
✓ Branch 62 taken 11 times.
✗ Branch 63 not taken.
✓ Branch 64 taken 10 times.
✗ Branch 65 not taken.
✓ Branch 66 taken 10 times.
✗ Branch 67 not taken.
✓ Branch 68 taken 10 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 10 times.
✗ Branch 71 not taken.
✓ Branch 72 taken 8 times.
✓ Branch 73 taken 64 times.
✓ Branch 74 taken 16 times.
✓ Branch 75 taken 48 times.
✓ Branch 76 taken 8 times.
✓ Branch 77 taken 40 times.
✓ Branch 78 taken 16 times.
✓ Branch 79 taken 24 times.
✓ Branch 80 taken 24 times.
✗ Branch 81 not taken.
387 end module misc_ml
1870