GCC Code Coverage Report


Directory: src/lib/
File: src/lib/mod_activation_linear.f90
Date: 2024-06-28 12:51:18
Exec Total Coverage
Lines: 46 47 97.9%
Functions: 0 0 -%
Branches: 651 1242 52.4%

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 implementation of the linear activation function
6 !!!#############################################################################
7 module activation_linear
8 use constants, only: real12
9 use custom_types, only: activation_type
10 implicit none
11
12 type, extends(activation_type) :: linear_type
13 contains
14 procedure, pass(this) :: activate_1d => linear_activate_1d
15 procedure, pass(this) :: activate_2d => linear_activate_2d
16 procedure, pass(this) :: activate_3d => linear_activate_3d
17 procedure, pass(this) :: activate_4d => linear_activate_4d
18 procedure, pass(this) :: activate_5d => linear_activate_5d
19 procedure, pass(this) :: differentiate_1d => linear_differentiate_1d
20 procedure, pass(this) :: differentiate_2d => linear_differentiate_2d
21 procedure, pass(this) :: differentiate_3d => linear_differentiate_3d
22 procedure, pass(this) :: differentiate_4d => linear_differentiate_4d
23 procedure, pass(this) :: differentiate_5d => linear_differentiate_5d
24 end type linear_type
25
26 interface linear_setup
27 procedure initialise
28 end interface linear_setup
29
30
31 private
32
33 public :: linear_setup
34
35
36 contains
37
38 !!!#############################################################################
39 !!! initialisation
40 !!!#############################################################################
41 9 pure function initialise(scale)
42 implicit none
43 type(linear_type) :: initialise
44 real(real12), optional, intent(in) :: scale
45
46 9 initialise%name = "linear"
47
48
1/2
✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
9 if(present(scale))then
49 9 initialise%scale = scale
50 else
51 initialise%scale = 1._real12 !0.05_real12
52 end if
53
54 9 end function initialise
55 !!!#############################################################################
56
57
58 !!!#############################################################################
59 !!! Linear transfer function
60 !!! f = gradient * x
61 !!!#############################################################################
62
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
1 pure function linear_activate_1d(this, val) result(output)
63 implicit none
64 class(linear_type), intent(in) :: this
65 real(real12), dimension(:), intent(in) :: val
66
3/6
✗ 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.
1 real(real12), dimension(size(val,dim=1)) :: output
67
68
9/16
✗ 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 taken 1 times.
✓ Branch 22 taken 1 times.
2 output = this%scale * val
69
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
1 end function linear_activate_1d
70 !!!-----------------------------------------------------------------------------
71 !!!-----------------------------------------------------------------------------
72
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
1 pure function linear_activate_2d(this, val) result(output)
73 implicit none
74 class(linear_type), intent(in) :: this
75 real(real12), dimension(:,:), intent(in) :: val
76
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.
2 real(real12), dimension(size(val,1),size(val,2)) :: output
77
78
18/32
✗ 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 taken 1 times.
✓ Branch 43 taken 1 times.
✓ Branch 44 taken 1 times.
✓ Branch 45 taken 1 times.
3 output = this%scale * val
79
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
2 end function linear_activate_2d
80 !!!-----------------------------------------------------------------------------
81 !!!-----------------------------------------------------------------------------
82
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
1 pure function linear_activate_3d(this, val) result(output)
83 implicit none
84 class(linear_type), intent(in) :: this
85 real(real12), dimension(:,:,:), intent(in) :: val
86
27/54
✗ 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.
✗ Branch 45 not taken.
✓ Branch 46 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 1 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 1 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 79 taken 1 times.
3 real(real12), dimension(size(val,1),size(val,2),size(val,3)) :: output
87
88
27/48
✗ 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.
✗ Branch 45 not taken.
✓ Branch 46 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 1 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 1 times.
✓ Branch 63 taken 1 times.
✓ Branch 64 taken 1 times.
✓ Branch 65 taken 1 times.
✓ Branch 66 taken 1 times.
✓ Branch 67 taken 1 times.
✓ Branch 68 taken 1 times.
4 output = this%scale * val
89
3/6
✗ 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.
3 end function linear_activate_3d
90 !!!-----------------------------------------------------------------------------
91 !!!-----------------------------------------------------------------------------
92
2/4
✓ Branch 0 taken 5 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 5 times.
✗ Branch 3 not taken.
5 pure function linear_activate_4d(this, val) result(output)
93 implicit none
94 class(linear_type), intent(in) :: this
95 real(real12), dimension(:,:,:,:), intent(in) :: val
96 real(real12), dimension(&
97
48/96
✗ 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.
✗ Branch 51 not taken.
✓ Branch 52 taken 5 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 5 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 5 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 5 times.
✗ Branch 63 not taken.
✓ Branch 64 taken 5 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 5 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 5 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 5 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 5 times.
✗ Branch 78 not taken.
✓ Branch 79 taken 5 times.
✗ Branch 81 not taken.
✓ Branch 82 taken 5 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 5 times.
✗ Branch 87 not taken.
✓ Branch 88 taken 5 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 5 times.
✗ Branch 93 not taken.
✓ Branch 94 taken 5 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 5 times.
✗ Branch 99 not taken.
✓ Branch 100 taken 5 times.
✗ Branch 102 not taken.
✓ Branch 103 taken 5 times.
✗ Branch 105 not taken.
✓ Branch 106 taken 5 times.
✗ Branch 108 not taken.
✓ Branch 109 taken 5 times.
✗ Branch 111 not taken.
✓ Branch 112 taken 5 times.
✗ Branch 114 not taken.
✓ Branch 115 taken 5 times.
✗ Branch 117 not taken.
✓ Branch 118 taken 5 times.
✗ Branch 120 not taken.
✓ Branch 121 taken 5 times.
✗ Branch 123 not taken.
✓ Branch 124 taken 5 times.
✗ Branch 126 not taken.
✓ Branch 127 taken 5 times.
✗ Branch 129 not taken.
✓ Branch 130 taken 5 times.
✗ Branch 132 not taken.
✓ Branch 133 taken 5 times.
✗ Branch 135 not taken.
✓ Branch 136 taken 5 times.
✗ Branch 138 not taken.
✓ Branch 139 taken 5 times.
✗ Branch 141 not taken.
✓ Branch 142 taken 5 times.
20 size(val,1),size(val,2),size(val,3),size(val,4)) :: output
98
99
36/64
✗ 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.
✗ Branch 51 not taken.
✓ Branch 52 taken 5 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 5 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 5 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 5 times.
✗ Branch 63 not taken.
✓ Branch 64 taken 5 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 5 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 5 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 5 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 5 times.
✗ Branch 78 not taken.
✓ Branch 79 taken 5 times.
✗ Branch 81 not taken.
✓ Branch 82 taken 5 times.
✓ Branch 84 taken 5 times.
✓ Branch 85 taken 5 times.
✓ Branch 86 taken 25 times.
✓ Branch 87 taken 5 times.
✓ Branch 88 taken 89 times.
✓ Branch 89 taken 25 times.
✓ Branch 90 taken 345 times.
✓ Branch 91 taken 89 times.
469 output = this%scale * val
100
4/8
✗ 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.
20 end function linear_activate_4d
101 !!!-----------------------------------------------------------------------------
102 !!!-----------------------------------------------------------------------------
103
2/4
✓ Branch 0 taken 5 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 5 times.
✗ Branch 3 not taken.
5 pure function linear_activate_5d(this, val) result(output)
104 implicit none
105 class(linear_type), intent(in) :: this
106 real(real12), dimension(:,:,:,:,:), intent(in) :: val
107 real(real12), dimension(&
108
75/150
✗ 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.
✗ Branch 51 not taken.
✓ Branch 52 taken 5 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 5 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 5 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 5 times.
✗ Branch 63 not taken.
✓ Branch 64 taken 5 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 5 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 5 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 5 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 5 times.
✗ Branch 78 not taken.
✓ Branch 79 taken 5 times.
✗ Branch 81 not taken.
✓ Branch 82 taken 5 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 5 times.
✗ Branch 87 not taken.
✓ Branch 88 taken 5 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 5 times.
✗ Branch 93 not taken.
✓ Branch 94 taken 5 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 5 times.
✗ Branch 99 not taken.
✓ Branch 100 taken 5 times.
✗ Branch 102 not taken.
✓ Branch 103 taken 5 times.
✗ Branch 105 not taken.
✓ Branch 106 taken 5 times.
✗ Branch 108 not taken.
✓ Branch 109 taken 5 times.
✗ Branch 111 not taken.
✓ Branch 112 taken 5 times.
✗ Branch 114 not taken.
✓ Branch 115 taken 5 times.
✗ Branch 117 not taken.
✓ Branch 118 taken 5 times.
✗ Branch 120 not taken.
✓ Branch 121 taken 5 times.
✗ Branch 123 not taken.
✓ Branch 124 taken 5 times.
✗ Branch 126 not taken.
✓ Branch 127 taken 5 times.
✗ Branch 129 not taken.
✓ Branch 130 taken 5 times.
✗ Branch 132 not taken.
✓ Branch 133 taken 5 times.
✗ Branch 135 not taken.
✓ Branch 136 taken 5 times.
✗ Branch 138 not taken.
✓ Branch 139 taken 5 times.
✗ Branch 141 not taken.
✓ Branch 142 taken 5 times.
✗ Branch 144 not taken.
✓ Branch 145 taken 5 times.
✗ Branch 147 not taken.
✓ Branch 148 taken 5 times.
✗ Branch 150 not taken.
✓ Branch 151 taken 5 times.
✗ Branch 153 not taken.
✓ Branch 154 taken 5 times.
✗ Branch 156 not taken.
✓ Branch 157 taken 5 times.
✗ Branch 159 not taken.
✓ Branch 160 taken 5 times.
✗ Branch 162 not taken.
✓ Branch 163 taken 5 times.
✗ Branch 165 not taken.
✓ Branch 166 taken 5 times.
✗ Branch 168 not taken.
✓ Branch 169 taken 5 times.
✗ Branch 171 not taken.
✓ Branch 172 taken 5 times.
✗ Branch 174 not taken.
✓ Branch 175 taken 5 times.
✗ Branch 177 not taken.
✓ Branch 178 taken 5 times.
✗ Branch 180 not taken.
✓ Branch 181 taken 5 times.
✗ Branch 183 not taken.
✓ Branch 184 taken 5 times.
✗ Branch 186 not taken.
✓ Branch 187 taken 5 times.
✗ Branch 189 not taken.
✓ Branch 190 taken 5 times.
✗ Branch 192 not taken.
✓ Branch 193 taken 5 times.
✗ Branch 195 not taken.
✓ Branch 196 taken 5 times.
✗ Branch 198 not taken.
✓ Branch 199 taken 5 times.
✗ Branch 201 not taken.
✓ Branch 202 taken 5 times.
✗ Branch 204 not taken.
✓ Branch 205 taken 5 times.
✗ Branch 207 not taken.
✓ Branch 208 taken 5 times.
✗ Branch 210 not taken.
✓ Branch 211 taken 5 times.
✗ Branch 213 not taken.
✓ Branch 214 taken 5 times.
✗ Branch 216 not taken.
✓ Branch 217 taken 5 times.
✗ Branch 219 not taken.
✓ Branch 220 taken 5 times.
✗ Branch 222 not taken.
✓ Branch 223 taken 5 times.
25 size(val,1),size(val,2),size(val,3),size(val,4),size(val,5)) :: output
109
110
45/80
✗ 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.
✗ Branch 51 not taken.
✓ Branch 52 taken 5 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 5 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 5 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 5 times.
✗ Branch 63 not taken.
✓ Branch 64 taken 5 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 5 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 5 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 5 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 5 times.
✗ Branch 78 not taken.
✓ Branch 79 taken 5 times.
✗ Branch 81 not taken.
✓ Branch 82 taken 5 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 5 times.
✗ Branch 87 not taken.
✓ Branch 88 taken 5 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 5 times.
✗ Branch 93 not taken.
✓ Branch 94 taken 5 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 5 times.
✗ Branch 99 not taken.
✓ Branch 100 taken 5 times.
✗ Branch 102 not taken.
✓ Branch 103 taken 5 times.
✓ Branch 105 taken 5 times.
✓ Branch 106 taken 5 times.
✓ Branch 107 taken 25 times.
✓ Branch 108 taken 5 times.
✓ Branch 109 taken 89 times.
✓ Branch 110 taken 25 times.
✓ Branch 111 taken 345 times.
✓ Branch 112 taken 89 times.
✓ Branch 113 taken 1433 times.
✓ Branch 114 taken 345 times.
1902 output = this%scale * val
111
5/10
✗ 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.
25 end function linear_activate_5d
112 !!!#############################################################################
113
114
115 !!!#############################################################################
116 !!! derivative of linear transfer function
117 !!! e.g. df/dx (gradient * x) = gradient
118 !!! we are performing the derivative to identify what weight ...
119 !!! ... results in the minimum error
120 !!!#############################################################################
121
2/4
✓ Branch 0 taken 5 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 5 times.
✗ Branch 3 not taken.
5 pure function linear_differentiate_1d(this, val) result(output)
122 implicit none
123 class(linear_type), intent(in) :: this
124 real(real12), dimension(:), intent(in) :: val
125
3/6
✗ 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.
5 real(real12), dimension(size(val,dim=1)) :: output
126
127
9/16
✗ 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 taken 5 times.
✓ Branch 22 taken 5 times.
10 output = this%scale * val
128
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 5 times.
5 end function linear_differentiate_1d
129 !!!-----------------------------------------------------------------------------
130 !!!-----------------------------------------------------------------------------
131
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
1 pure function linear_differentiate_2d(this, val) result(output)
132 implicit none
133 class(linear_type), intent(in) :: this
134 real(real12), dimension(:,:), intent(in) :: val
135
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.
2 real(real12), dimension(size(val,1),size(val,2)) :: output
136
137
18/32
✗ 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 taken 1 times.
✓ Branch 43 taken 1 times.
✓ Branch 44 taken 1 times.
✓ Branch 45 taken 1 times.
3 output = this%scale * val
138
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
2 end function linear_differentiate_2d
139 !!!-----------------------------------------------------------------------------
140 !!!-----------------------------------------------------------------------------
141
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
1 pure function linear_differentiate_3d(this, val) result(output)
142 implicit none
143 class(linear_type), intent(in) :: this
144 real(real12), dimension(:,:,:), intent(in) :: val
145
27/54
✗ 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.
✗ Branch 45 not taken.
✓ Branch 46 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 1 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 1 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 79 taken 1 times.
3 real(real12), dimension(size(val,1),size(val,2),size(val,3)) :: output
146
147
27/48
✗ 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.
✗ Branch 45 not taken.
✓ Branch 46 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 1 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 1 times.
✓ Branch 63 taken 1 times.
✓ Branch 64 taken 1 times.
✓ Branch 65 taken 1 times.
✓ Branch 66 taken 1 times.
✓ Branch 67 taken 1 times.
✓ Branch 68 taken 1 times.
4 output = this%scale * val
148
3/6
✗ 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.
3 end function linear_differentiate_3d
149 !!!-----------------------------------------------------------------------------
150 !!!-----------------------------------------------------------------------------
151
2/4
✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3 times.
✗ Branch 3 not taken.
3 pure function linear_differentiate_4d(this, val) result(output)
152 implicit none
153 class(linear_type), intent(in) :: this
154 real(real12), dimension(:,:,:,:), intent(in) :: val
155 real(real12), dimension(&
156
48/96
✗ 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 not taken.
✓ Branch 46 taken 3 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 3 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 3 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 3 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 3 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 3 times.
✗ Branch 63 not taken.
✓ Branch 64 taken 3 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 3 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 3 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 3 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 3 times.
✗ Branch 78 not taken.
✓ Branch 79 taken 3 times.
✗ Branch 81 not taken.
✓ Branch 82 taken 3 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 3 times.
✗ Branch 87 not taken.
✓ Branch 88 taken 3 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 3 times.
✗ Branch 93 not taken.
✓ Branch 94 taken 3 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 3 times.
✗ Branch 99 not taken.
✓ Branch 100 taken 3 times.
✗ Branch 102 not taken.
✓ Branch 103 taken 3 times.
✗ Branch 105 not taken.
✓ Branch 106 taken 3 times.
✗ Branch 108 not taken.
✓ Branch 109 taken 3 times.
✗ Branch 111 not taken.
✓ Branch 112 taken 3 times.
✗ Branch 114 not taken.
✓ Branch 115 taken 3 times.
✗ Branch 117 not taken.
✓ Branch 118 taken 3 times.
✗ Branch 120 not taken.
✓ Branch 121 taken 3 times.
✗ Branch 123 not taken.
✓ Branch 124 taken 3 times.
✗ Branch 126 not taken.
✓ Branch 127 taken 3 times.
✗ Branch 129 not taken.
✓ Branch 130 taken 3 times.
✗ Branch 132 not taken.
✓ Branch 133 taken 3 times.
✗ Branch 135 not taken.
✓ Branch 136 taken 3 times.
✗ Branch 138 not taken.
✓ Branch 139 taken 3 times.
✗ Branch 141 not taken.
✓ Branch 142 taken 3 times.
12 size(val,1),size(val,2),size(val,3),size(val,4)) :: output
157
158
36/64
✗ 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 not taken.
✓ Branch 46 taken 3 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 3 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 3 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 3 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 3 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 3 times.
✗ Branch 63 not taken.
✓ Branch 64 taken 3 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 3 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 3 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 3 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 3 times.
✗ Branch 78 not taken.
✓ Branch 79 taken 3 times.
✗ Branch 81 not taken.
✓ Branch 82 taken 3 times.
✓ Branch 84 taken 3 times.
✓ Branch 85 taken 3 times.
✓ Branch 86 taken 13 times.
✓ Branch 87 taken 3 times.
✓ Branch 88 taken 45 times.
✓ Branch 89 taken 13 times.
✓ Branch 90 taken 173 times.
✓ Branch 91 taken 45 times.
237 output = this%scale * val
159
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.
12 end function linear_differentiate_4d
160 !!!-----------------------------------------------------------------------------
161 !!!-----------------------------------------------------------------------------
162
2/4
✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3 times.
✗ Branch 3 not taken.
3 pure function linear_differentiate_5d(this, val) result(output)
163 implicit none
164 class(linear_type), intent(in) :: this
165 real(real12), dimension(:,:,:,:,:), intent(in) :: val
166 real(real12), dimension(&
167
75/150
✗ 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 not taken.
✓ Branch 46 taken 3 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 3 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 3 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 3 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 3 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 3 times.
✗ Branch 63 not taken.
✓ Branch 64 taken 3 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 3 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 3 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 3 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 3 times.
✗ Branch 78 not taken.
✓ Branch 79 taken 3 times.
✗ Branch 81 not taken.
✓ Branch 82 taken 3 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 3 times.
✗ Branch 87 not taken.
✓ Branch 88 taken 3 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 3 times.
✗ Branch 93 not taken.
✓ Branch 94 taken 3 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 3 times.
✗ Branch 99 not taken.
✓ Branch 100 taken 3 times.
✗ Branch 102 not taken.
✓ Branch 103 taken 3 times.
✗ Branch 105 not taken.
✓ Branch 106 taken 3 times.
✗ Branch 108 not taken.
✓ Branch 109 taken 3 times.
✗ Branch 111 not taken.
✓ Branch 112 taken 3 times.
✗ Branch 114 not taken.
✓ Branch 115 taken 3 times.
✗ Branch 117 not taken.
✓ Branch 118 taken 3 times.
✗ Branch 120 not taken.
✓ Branch 121 taken 3 times.
✗ Branch 123 not taken.
✓ Branch 124 taken 3 times.
✗ Branch 126 not taken.
✓ Branch 127 taken 3 times.
✗ Branch 129 not taken.
✓ Branch 130 taken 3 times.
✗ Branch 132 not taken.
✓ Branch 133 taken 3 times.
✗ Branch 135 not taken.
✓ Branch 136 taken 3 times.
✗ Branch 138 not taken.
✓ Branch 139 taken 3 times.
✗ Branch 141 not taken.
✓ Branch 142 taken 3 times.
✗ Branch 144 not taken.
✓ Branch 145 taken 3 times.
✗ Branch 147 not taken.
✓ Branch 148 taken 3 times.
✗ Branch 150 not taken.
✓ Branch 151 taken 3 times.
✗ Branch 153 not taken.
✓ Branch 154 taken 3 times.
✗ Branch 156 not taken.
✓ Branch 157 taken 3 times.
✗ Branch 159 not taken.
✓ Branch 160 taken 3 times.
✗ Branch 162 not taken.
✓ Branch 163 taken 3 times.
✗ Branch 165 not taken.
✓ Branch 166 taken 3 times.
✗ Branch 168 not taken.
✓ Branch 169 taken 3 times.
✗ Branch 171 not taken.
✓ Branch 172 taken 3 times.
✗ Branch 174 not taken.
✓ Branch 175 taken 3 times.
✗ Branch 177 not taken.
✓ Branch 178 taken 3 times.
✗ Branch 180 not taken.
✓ Branch 181 taken 3 times.
✗ Branch 183 not taken.
✓ Branch 184 taken 3 times.
✗ Branch 186 not taken.
✓ Branch 187 taken 3 times.
✗ Branch 189 not taken.
✓ Branch 190 taken 3 times.
✗ Branch 192 not taken.
✓ Branch 193 taken 3 times.
✗ Branch 195 not taken.
✓ Branch 196 taken 3 times.
✗ Branch 198 not taken.
✓ Branch 199 taken 3 times.
✗ Branch 201 not taken.
✓ Branch 202 taken 3 times.
✗ Branch 204 not taken.
✓ Branch 205 taken 3 times.
✗ Branch 207 not taken.
✓ Branch 208 taken 3 times.
✗ Branch 210 not taken.
✓ Branch 211 taken 3 times.
✗ Branch 213 not taken.
✓ Branch 214 taken 3 times.
✗ Branch 216 not taken.
✓ Branch 217 taken 3 times.
✗ Branch 219 not taken.
✓ Branch 220 taken 3 times.
✗ Branch 222 not taken.
✓ Branch 223 taken 3 times.
15 size(val,1),size(val,2),size(val,3),size(val,4),size(val,5)) :: output
168
169
45/80
✗ 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 not taken.
✓ Branch 46 taken 3 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 3 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 3 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 3 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 3 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 3 times.
✗ Branch 63 not taken.
✓ Branch 64 taken 3 times.
✗ Branch 66 not taken.
✓ Branch 67 taken 3 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 3 times.
✗ Branch 72 not taken.
✓ Branch 73 taken 3 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 3 times.
✗ Branch 78 not taken.
✓ Branch 79 taken 3 times.
✗ Branch 81 not taken.
✓ Branch 82 taken 3 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 3 times.
✗ Branch 87 not taken.
✓ Branch 88 taken 3 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 3 times.
✗ Branch 93 not taken.
✓ Branch 94 taken 3 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 3 times.
✗ Branch 99 not taken.
✓ Branch 100 taken 3 times.
✗ Branch 102 not taken.
✓ Branch 103 taken 3 times.
✓ Branch 105 taken 3 times.
✓ Branch 106 taken 3 times.
✓ Branch 107 taken 13 times.
✓ Branch 108 taken 3 times.
✓ Branch 109 taken 45 times.
✓ Branch 110 taken 13 times.
✓ Branch 111 taken 173 times.
✓ Branch 112 taken 45 times.
✓ Branch 113 taken 717 times.
✓ Branch 114 taken 173 times.
954 output = this%scale * val
170
5/10
✗ 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.
15 end function linear_differentiate_5d
171 !!!#############################################################################
172
173 31 end module activation_linear
174