| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | submodule(athena__misc_types) athena__misc_types_submodule | ||
| 2 | !! Submodule containing implementations for derived types | ||
| 3 | use coreutils, only: stop_program, print_warning | ||
| 4 | |||
| 5 | |||
| 6 | |||
| 7 | contains | ||
| 8 | |||
| 9 | !############################################################################### | ||
| 10 | 146 | pure module function create_attribute(name, type, val) result(attribute) | |
| 11 | !! Function to create an ONNX attribute | ||
| 12 | implicit none | ||
| 13 | |||
| 14 | ! Arguments | ||
| 15 | character(*), intent(in) :: name | ||
| 16 | !! Name of the attribute | ||
| 17 | character(*), intent(in) :: type | ||
| 18 | !! Type of the attribute | ||
| 19 | character(*), intent(in) :: val | ||
| 20 | !! Value of the attribute as a string | ||
| 21 | |||
| 22 | type(onnx_attribute_type) :: attribute | ||
| 23 | !! Resulting ONNX attribute | ||
| 24 | |||
| 25 | 146 | if(len_trim(name) .gt. 64)then | |
| 26 | ✗ | attribute%name = name(1:64) | |
| 27 | else | ||
| 28 |
3/6✓ Branch 0 taken 146 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 146 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 146 times.
✗ Branch 6 not taken.
|
146 | attribute%name = trim(name) |
| 29 | end if | ||
| 30 | |||
| 31 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 146 times.
|
146 | if(len_trim(type) .gt. 10)then |
| 32 | ✗ | attribute%type = type(1:10) | |
| 33 | else | ||
| 34 |
3/6✓ Branch 0 taken 146 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 146 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 146 times.
✗ Branch 6 not taken.
|
146 | attribute%type = trim(type) |
| 35 | end if | ||
| 36 | |||
| 37 |
4/10✓ Branch 1 taken 146 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 146 times.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✓ Branch 8 taken 146 times.
✓ Branch 9 taken 146 times.
✗ Branch 10 not taken.
|
146 | attribute%val = trim(val) |
| 38 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 146 times.
|
292 | end function create_attribute |
| 39 | !############################################################################### | ||
| 40 | |||
| 41 | |||
| 42 | !############################################################################### | ||
| 43 | 17 | module subroutine print_to_unit_actv(this, unit, identifier) | |
| 44 | !! Interface for printing activation function details | ||
| 45 | implicit none | ||
| 46 | |||
| 47 | ! Arguments | ||
| 48 | class(base_actv_type), intent(in) :: this | ||
| 49 | !! Instance of the activation type | ||
| 50 | integer, intent(in) :: unit | ||
| 51 | !! Unit number for output | ||
| 52 | character(*), intent(in), optional :: identifier | ||
| 53 | !! Optional identifier for the activation function | ||
| 54 | |||
| 55 | ! Local variables | ||
| 56 | integer :: i | ||
| 57 | !! Loop index | ||
| 58 | 17 | type(onnx_attribute_type), allocatable, dimension(:) :: attributes | |
| 59 | !! Array of ONNX attributes | ||
| 60 | |||
| 61 | |||
| 62 |
10/32✗ Branch 1 not taken.
✓ Branch 2 taken 17 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 17 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 17 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 42 times.
✓ Branch 10 taken 17 times.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 42 times.
✓ Branch 26 taken 17 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 42 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 42 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 42 times.
|
118 | attributes = this%export_attributes() |
| 63 | |||
| 64 |
2/2✓ Branch 0 taken 2 times.
✓ Branch 1 taken 15 times.
|
17 | if(present(identifier))then |
| 65 |
1/2✓ Branch 3 taken 2 times.
✗ Branch 4 not taken.
|
2 | write(unit,'(3X,"ACTIVATION: ",A)') trim(identifier) |
| 66 | else | ||
| 67 | 15 | write(unit,'(3X,"ACTIVATION")') | |
| 68 | end if | ||
| 69 |
2/2✓ Branch 0 taken 42 times.
✓ Branch 1 taken 17 times.
|
59 | do i = 1, size(attributes) |
| 70 | write(unit,'(6X,A," = ",A)') & | ||
| 71 |
6/12✗ Branch 1 not taken.
✓ Branch 2 taken 42 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 42 times.
✓ Branch 9 taken 42 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 12 taken 42 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 42 times.
✓ Branch 19 taken 42 times.
✗ Branch 20 not taken.
|
59 | trim(attributes(i)%name), trim(attributes(i)%val) |
| 72 | end do | ||
| 73 | 17 | write(unit,'(3X,"END ACTIVATION")') | |
| 74 | |||
| 75 |
8/14✓ Branch 0 taken 17 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 17 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 17 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 42 times.
✓ Branch 7 taken 17 times.
✓ Branch 8 taken 42 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 42 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 42 times.
✗ Branch 13 not taken.
|
76 | end subroutine print_to_unit_actv |
| 76 | !############################################################################### | ||
| 77 | |||
| 78 | |||
| 79 | !############################################################################### | ||
| 80 | 87 | module subroutine setup_bounds(this, length, pad, imethod) | |
| 81 | !! Set up replication bounds for facets | ||
| 82 | implicit none | ||
| 83 | |||
| 84 | ! Arguments | ||
| 85 | class(facets_type), intent(inout) :: this | ||
| 86 | !! Instance of the facets type | ||
| 87 | integer, dimension(this%rank), intent(in) :: length, pad | ||
| 88 | !! Length of the shape and padding | ||
| 89 | integer, intent(in) :: imethod | ||
| 90 | !! Method for padding: | ||
| 91 | !! 3 - circular, 4 - reflection, 5 - replication | ||
| 92 | |||
| 93 | ! Local variables | ||
| 94 | integer :: i, j, k, l, facet_idx, idim | ||
| 95 | !! Loop indices and facet index | ||
| 96 | logical :: btest_k0, btest_k1 | ||
| 97 | !! Binary test variables for edge cases | ||
| 98 | |||
| 99 | |||
| 100 | ! Calculate number of facets based on rank and number of fixed dimensions | ||
| 101 | !--------------------------------------------------------------------------- | ||
| 102 | ! For rank n, we have: | ||
| 103 | ! nfixed_dims = 1: n choose 1 * 2 facets (faces, 2 per dimension) | ||
| 104 | ! nfixed_dims = 2: n choose 2 * 4 facets (edges, 4 per dimension pair) | ||
| 105 | ! nfixed_dims = 3: n choose 3 * 8 facets (corners, 8 for 3D) | ||
| 106 | 131 | select case(this%nfixed_dims) | |
| 107 | case(1) | ||
| 108 | 44 | this%type = "face" | |
| 109 | 44 | this%num = 2 * this%rank | |
| 110 | case(2) | ||
| 111 | 29 | this%type = "edge" | |
| 112 | this%num = 4 * nint( & | ||
| 113 | gamma(real(this%rank + 1)) / ( & | ||
| 114 | gamma(2.0 + 1.0) * gamma(real(this%rank - 2 + 1)) & | ||
| 115 | ) & | ||
| 116 | 29 | ) | |
| 117 | case(3) | ||
| 118 | 14 | this%type = "corner" | |
| 119 | 14 | this%num = 8 | |
| 120 | case default | ||
| 121 | ✗ | call stop_program("Invalid number of fixed dimensions") | |
| 122 |
3/4✓ Branch 0 taken 44 times.
✓ Branch 1 taken 29 times.
✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
87 | return |
| 123 | end select | ||
| 124 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 87 times.
|
87 | if(this%rank .lt. this%nfixed_dims)then |
| 125 | ✗ | call stop_program("Number of fixed dimensions exceeds rank") | |
| 126 | ✗ | return | |
| 127 | end if | ||
| 128 | |||
| 129 | |||
| 130 | ! Allocate arrays | ||
| 131 | !--------------------------------------------------------------------------- | ||
| 132 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 87 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
|
87 | if(allocated(this%dim)) deallocate(this%dim) |
| 133 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 87 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
|
87 | if(allocated(this%orig_bound)) deallocate(this%orig_bound) |
| 134 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 87 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
|
87 | if(allocated(this%dest_bound)) deallocate(this%dest_bound) |
| 135 | |||
| 136 |
7/14✓ Branch 0 taken 87 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 87 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 87 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 87 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 87 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 87 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 87 times.
|
87 | allocate(this%dim(this%num)) |
| 137 |
9/18✓ Branch 0 taken 87 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 87 times.
✓ Branch 4 taken 87 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 87 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 87 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 87 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 87 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 87 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 87 times.
|
87 | allocate(this%orig_bound(2, this%rank, this%num)) |
| 138 |
9/18✓ Branch 0 taken 87 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 87 times.
✓ Branch 4 taken 87 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 87 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 87 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 87 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 87 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 87 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 87 times.
|
87 | allocate(this%dest_bound(2, this%rank, this%num)) |
| 139 | |||
| 140 | |||
| 141 | ! Initialise all bounds to 1 | ||
| 142 | !--------------------------------------------------------------------------- | ||
| 143 |
6/6✓ Branch 0 taken 516 times.
✓ Branch 1 taken 87 times.
✓ Branch 2 taken 1368 times.
✓ Branch 3 taken 516 times.
✓ Branch 4 taken 2736 times.
✓ Branch 5 taken 1368 times.
|
4707 | this%orig_bound = 1 |
| 144 | |||
| 145 | ! Set up replication bounds | ||
| 146 | !--------------------------------------------------------------------------- | ||
| 147 | 131 | select case(this%nfixed_dims) | |
| 148 | case(1) ! Faces | ||
| 149 | 44 | facet_idx = 0 | |
| 150 |
2/2✓ Branch 0 taken 88 times.
✓ Branch 1 taken 44 times.
|
176 | do i = 1, this%rank |
| 151 |
2/2✓ Branch 0 taken 176 times.
✓ Branch 1 taken 88 times.
|
308 | do j = 1, 2 ! Two faces per dimension |
| 152 | 176 | facet_idx = facet_idx + 1 | |
| 153 |
2/4✗ Branch 0 not taken.
✓ Branch 1 taken 176 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 176 times.
|
176 | this%dim(facet_idx) = i |
| 154 |
2/2✓ Branch 0 taken 408 times.
✓ Branch 1 taken 176 times.
|
584 | do l = 1, this%rank |
| 155 |
13/24✗ Branch 0 not taken.
✓ Branch 1 taken 408 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 408 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 408 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 408 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 408 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 408 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 408 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 408 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 408 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 408 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 408 times.
✓ Branch 33 taken 816 times.
✓ Branch 34 taken 408 times.
|
1224 | this%orig_bound(:,l,facet_idx) = [ 1, length(l) ] |
| 156 |
17/32✗ Branch 0 not taken.
✓ Branch 1 taken 408 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 408 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 408 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 408 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 408 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 408 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 408 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 408 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 408 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 408 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 408 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 408 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 408 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 408 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 408 times.
✓ Branch 45 taken 816 times.
✓ Branch 46 taken 408 times.
|
1400 | this%dest_bound(:,l,facet_idx) = [ pad(l) + 1, pad(l) + length(l) ] |
| 157 | end do | ||
| 158 | |||
| 159 | ! Set origin bounds | ||
| 160 | 182 | select case(imethod) | |
| 161 | case(3) ! circular | ||
| 162 |
2/2✓ Branch 0 taken 3 times.
✓ Branch 1 taken 3 times.
|
12 | if(j .eq. 1)then |
| 163 | 27 | this%orig_bound(:,i,facet_idx) = & | |
| 164 |
17/32✗ 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.
✗ Branch 42 not taken.
✓ Branch 43 taken 3 times.
✓ Branch 45 taken 6 times.
✓ Branch 46 taken 3 times.
|
9 | [ length(i) - pad(i) + 1, length(i) ] |
| 165 | else | ||
| 166 |
13/24✗ 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 taken 6 times.
✓ Branch 34 taken 3 times.
|
9 | this%orig_bound(:,i,facet_idx) = [ 1, pad(i) ] |
| 167 | end if | ||
| 168 | case(4) ! reflection | ||
| 169 |
2/2✓ Branch 0 taken 3 times.
✓ Branch 1 taken 3 times.
|
12 | if(j .eq. 1)then |
| 170 |
13/24✗ 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 taken 6 times.
✓ Branch 34 taken 3 times.
|
9 | this%orig_bound(:,i,facet_idx) = [ pad(i) + 1, 2 ] |
| 171 | else | ||
| 172 | 27 | this%orig_bound(:,i,facet_idx) = & | |
| 173 |
17/32✗ 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.
✗ Branch 42 not taken.
✓ Branch 43 taken 3 times.
✓ Branch 45 taken 6 times.
✓ Branch 46 taken 3 times.
|
9 | [ length(i) - 1, length(i) - pad(i) ] |
| 174 | end if | ||
| 175 | case(5) ! replication | ||
| 176 |
18/28✓ Branch 0 taken 6 times.
✓ Branch 1 taken 6 times.
✓ Branch 2 taken 16 times.
✓ Branch 3 taken 148 times.
✓ Branch 4 taken 8 times.
✓ Branch 5 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 taken 16 times.
✓ Branch 37 taken 8 times.
|
192 | if(j .ne. 1) this%orig_bound(:,i,facet_idx) = length(i) |
| 177 | end select | ||
| 178 | |||
| 179 | ! Set destination bounds | ||
| 180 |
2/2✓ Branch 0 taken 88 times.
✓ Branch 1 taken 88 times.
|
264 | if(j .eq. 1)then |
| 181 |
13/24✗ Branch 0 not taken.
✓ Branch 1 taken 88 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 88 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 88 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 88 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 88 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 88 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 88 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 88 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 88 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 88 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 88 times.
✓ Branch 33 taken 176 times.
✓ Branch 34 taken 88 times.
|
264 | this%dest_bound(:,i,facet_idx) = [1, pad(i)] |
| 182 | else | ||
| 183 | 792 | this%dest_bound(:,i,facet_idx) = & | |
| 184 |
19/36✗ Branch 0 not taken.
✓ Branch 1 taken 88 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 88 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 88 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 88 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 88 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 88 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 88 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 88 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 88 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 88 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 88 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 88 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 88 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 88 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 88 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 88 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 88 times.
✓ Branch 51 taken 176 times.
✓ Branch 52 taken 88 times.
|
264 | [length(i) + pad(i) + 1, length(i) + pad(i) * 2] |
| 185 | end if | ||
| 186 | end do | ||
| 187 | end do | ||
| 188 | case(2) ! Edges | ||
| 189 | 29 | facet_idx = 0 | |
| 190 | 29 | idim = 0 | |
| 191 |
2/2✓ Branch 0 taken 43 times.
✓ Branch 1 taken 29 times.
|
101 | do j = this%rank, 2, -1 |
| 192 |
2/2✓ Branch 0 taken 57 times.
✓ Branch 1 taken 43 times.
|
129 | do i = j-1, 1, -1 |
| 193 | 57 | idim = idim + 1 | |
| 194 |
2/2✓ Branch 0 taken 228 times.
✓ Branch 1 taken 57 times.
|
328 | do k = 0, 3 ! Four combinations per dimension pair |
| 195 | 228 | facet_idx = facet_idx + 1 | |
| 196 |
2/4✗ Branch 0 not taken.
✓ Branch 1 taken 228 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 228 times.
|
228 | this%dim(facet_idx) = idim |
| 197 | 228 | btest_k0 = btest(k,0) | |
| 198 | 228 | btest_k1 = btest(k,1) | |
| 199 |
2/2✓ Branch 0 taken 624 times.
✓ Branch 1 taken 228 times.
|
852 | do l = 1, this%rank |
| 200 |
13/24✗ Branch 0 not taken.
✓ Branch 1 taken 624 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 624 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 624 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 624 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 624 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 624 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 624 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 624 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 624 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 624 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 624 times.
✓ Branch 33 taken 1248 times.
✓ Branch 34 taken 624 times.
|
1872 | this%orig_bound(:,l,facet_idx) = [ 1, length(l) ] |
| 201 |
17/32✗ Branch 0 not taken.
✓ Branch 1 taken 624 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 624 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 624 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 624 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 624 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 624 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 624 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 624 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 624 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 624 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 624 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 624 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 624 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 624 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 624 times.
✓ Branch 45 taken 1248 times.
✓ Branch 46 taken 624 times.
|
2100 | this%dest_bound(:,l,facet_idx) = [ pad(l) + 1, pad(l) + length(l) ] |
| 202 | end do | ||
| 203 | |||
| 204 | ! Set original bounds using binary pattern | ||
| 205 | 232 | select case(imethod) | |
| 206 | case(3) ! circular | ||
| 207 |
2/2✓ Branch 0 taken 2 times.
✓ Branch 1 taken 2 times.
|
4 | if(btest_k1)then |
| 208 | 18 | this%orig_bound(:,i,facet_idx) = & | |
| 209 |
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 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 taken 4 times.
✓ Branch 34 taken 2 times.
|
6 | [ 1, pad(i) ] |
| 210 | else | ||
| 211 | 18 | this%orig_bound(:,i,facet_idx) = & | |
| 212 |
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 4 times.
✓ Branch 46 taken 2 times.
|
6 | [ length(i) - pad(i) + 1, length(i) ] |
| 213 | end if | ||
| 214 |
2/2✓ Branch 0 taken 2 times.
✓ Branch 1 taken 2 times.
|
8 | if(btest_k0)then |
| 215 | 18 | this%orig_bound(:,j,facet_idx) = & | |
| 216 |
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 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 taken 4 times.
✓ Branch 34 taken 2 times.
|
6 | [ 1, pad(j) ] |
| 217 | else | ||
| 218 | 18 | this%orig_bound(:,j,facet_idx) = & | |
| 219 |
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 4 times.
✓ Branch 46 taken 2 times.
|
6 | [ length(j) - pad(j) + 1, length(j) ] |
| 220 | end if | ||
| 221 | case(4) ! reflection | ||
| 222 | 36 | this%orig_bound(:,i,facet_idx) = & | |
| 223 |
17/32✗ 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 taken 8 times.
✓ Branch 46 taken 4 times.
|
12 | [ length(i) - 1, length(i) - pad(i) ] |
| 224 | 36 | this%orig_bound(:,j,facet_idx) = & | |
| 225 |
17/32✗ 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 taken 8 times.
✓ Branch 46 taken 4 times.
|
12 | [ length(j) - 1, length(j) - pad(j) ] |
| 226 | case(5) ! replication | ||
| 227 |
14/24✓ Branch 0 taken 8 times.
✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 8 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 8 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 8 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 8 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 8 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 8 times.
✗ Branch 23 not taken.
✓ Branch 24 taken 8 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 8 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 8 times.
✓ Branch 32 taken 16 times.
✓ Branch 33 taken 8 times.
|
32 | if(btest_k1) this%orig_bound(:,i,facet_idx) = length(i) |
| 228 |
18/28✓ Branch 0 taken 4 times.
✓ Branch 1 taken 4 times.
✓ Branch 2 taken 16 times.
✓ Branch 3 taken 204 times.
✓ Branch 4 taken 8 times.
✓ Branch 5 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 taken 16 times.
✓ Branch 37 taken 8 times.
|
260 | if(btest_k0) this%orig_bound(:,j,facet_idx) = length(j) |
| 229 | end select | ||
| 230 | |||
| 231 | ! Set destination bounds | ||
| 232 | 2052 | this%dest_bound(:,i,facet_idx) = & | |
| 233 | merge(& | ||
| 234 |
4/8✗ Branch 1 not taken.
✓ Branch 2 taken 228 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 228 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 228 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 228 times.
|
912 | [ length(i) + pad(i) + 1, length(i) + pad(i) * 2 ], & |
| 235 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 228 times.
|
228 | [ 1, pad(i) ], & |
| 236 | btest_k1 & | ||
| 237 |
18/32✗ Branch 0 not taken.
✓ Branch 1 taken 228 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 228 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 228 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 228 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 228 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 228 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 228 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 228 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 228 times.
✗ Branch 23 not taken.
✓ Branch 24 taken 228 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 228 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 228 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 228 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 228 times.
✓ Branch 37 taken 456 times.
✓ Branch 38 taken 228 times.
✓ Branch 39 taken 228 times.
✓ Branch 40 taken 228 times.
|
1824 | ) |
| 238 | 2052 | this%dest_bound(:,j,facet_idx) = & | |
| 239 | merge( & | ||
| 240 |
4/8✗ Branch 1 not taken.
✓ Branch 2 taken 228 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 228 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 228 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 228 times.
|
912 | [ length(j) + pad(j) + 1, length(j) + pad(j) * 2 ], & |
| 241 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 228 times.
|
228 | [ 1, pad(j) ], & |
| 242 | btest_k0 & | ||
| 243 |
18/32✗ Branch 0 not taken.
✓ Branch 1 taken 228 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 228 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 228 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 228 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 228 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 228 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 228 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 228 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 228 times.
✗ Branch 23 not taken.
✓ Branch 24 taken 228 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 228 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 228 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 228 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 228 times.
✓ Branch 37 taken 456 times.
✓ Branch 38 taken 228 times.
✓ Branch 39 taken 228 times.
✓ Branch 40 taken 228 times.
|
1881 | ) |
| 244 | end do | ||
| 245 | end do | ||
| 246 | end do | ||
| 247 | case(3) ! Corners (3D only) | ||
| 248 |
5/6✓ Branch 0 taken 44 times.
✓ Branch 1 taken 29 times.
✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 112 times.
✓ Branch 5 taken 14 times.
|
199 | do i = 1, 8 |
| 249 |
2/4✗ Branch 0 not taken.
✓ Branch 1 taken 112 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 112 times.
|
112 | this%dim(i) = 0 ! All dimensions are fixed |
| 250 | ! Use binary pattern for all three dimensions | ||
| 251 |
2/2✓ Branch 0 taken 336 times.
✓ Branch 1 taken 112 times.
|
462 | do j = 1, this%rank |
| 252 |
2/2✓ Branch 0 taken 168 times.
✓ Branch 1 taken 168 times.
|
448 | if(btest(i-1, this%rank-j))then |
| 253 |
12/22✗ Branch 0 not taken.
✓ Branch 1 taken 168 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 168 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 168 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 168 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 168 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 168 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 168 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 168 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 168 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 168 times.
✓ Branch 30 taken 336 times.
✓ Branch 31 taken 168 times.
|
504 | this%orig_bound(:,j,i) = length(j) |
| 254 | 1512 | this%dest_bound(:,j,i) = & | |
| 255 |
19/36✗ Branch 0 not taken.
✓ Branch 1 taken 168 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 168 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 168 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 168 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 168 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 168 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 168 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 168 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 168 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 168 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 168 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 168 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 168 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 168 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 168 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 168 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 168 times.
✓ Branch 51 taken 336 times.
✓ Branch 52 taken 168 times.
|
504 | [ length(j) + pad(j) + 1, length(j) + pad(j) * 2 ] |
| 256 | else | ||
| 257 |
10/18✗ Branch 0 not taken.
✓ Branch 1 taken 168 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 168 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 168 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 168 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 168 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 168 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 168 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 168 times.
✓ Branch 24 taken 336 times.
✓ Branch 25 taken 168 times.
|
504 | this%orig_bound(:,j,i) = 1 |
| 258 |
13/24✗ Branch 0 not taken.
✓ Branch 1 taken 168 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 168 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 168 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 168 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 168 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 168 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 168 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 168 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 168 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 168 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 168 times.
✓ Branch 33 taken 336 times.
✓ Branch 34 taken 168 times.
|
504 | this%dest_bound(:,j,i) = [1, pad(j)] |
| 259 | end if | ||
| 260 | end do | ||
| 261 | end do | ||
| 262 | end select | ||
| 263 | |||
| 264 | end subroutine setup_bounds | ||
| 265 | !############################################################################### | ||
| 266 | |||
| 267 | end submodule athena__misc_types_submodule | ||
| 268 |