5
5
#include <stdio.h>
6
6
7
7
int Conv1D_LR (float * output_signal , unsigned out_T , unsigned out_channels , const float * input_signal ,
8
- unsigned N , unsigned in_T , unsigned in_channels , int padding , unsigned kernel_size ,
8
+ unsigned in_T , unsigned in_channels , int padding , unsigned kernel_size ,
9
9
const void * params , int activations ){
10
10
11
11
const ConvLayers_LR_Params * tparams = (ConvLayers_LR_Params * ) params ;
@@ -25,8 +25,10 @@ int Conv1D_LR(float *output_signal, unsigned out_T, unsigned out_channels, const
25
25
float sum = 0 ;
26
26
for (int tf = 0 ; tf < kernel_size ; tf ++ ){
27
27
for (int ci = 0 ; ci < in_channels ; ci ++ ){
28
- float a = ((((t + tf ) < padding ) || ((t + tf ) >= (in_T + padding ))) ? 0 : input_signal [((tf + t ) - padding ) * in_channels + ci ]);
29
- sum += (a * tempW [co * in_channels * kernel_size + ci * kernel_size + tf ]);
28
+ if (((t + tf ) < padding ) || ((t + tf ) >= (in_T + padding )))
29
+ continue ;
30
+ else
31
+ sum += (input_signal [((tf + t ) - padding ) * in_channels + ci ] * tempW [co * in_channels * kernel_size + ci * kernel_size + tf ]);
30
32
}
31
33
}
32
34
if (activations == 1 ){
@@ -48,7 +50,7 @@ int Conv1D_LR(float *output_signal, unsigned out_T, unsigned out_channels, const
48
50
}
49
51
50
52
int Conv1D_Depth_LR (float * output_signal , unsigned out_T , const float * input_signal ,
51
- unsigned N , unsigned in_T , unsigned in_channels , int padding , unsigned kernel_size ,
53
+ unsigned in_T , unsigned in_channels , int padding , unsigned kernel_size ,
52
54
const void * params , int activations ){
53
55
54
56
const ConvLayers_LR_Params * tparams = (ConvLayers_LR_Params * ) params ;
@@ -67,8 +69,10 @@ int Conv1D_Depth_LR(float *output_signal, unsigned out_T, const float *input_sig
67
69
for (int ci = 0 ; ci < in_channels ; ci ++ ){
68
70
float sum = 0 ;
69
71
for (int tf = 0 ; tf < kernel_size ; tf ++ ){
70
- float a = ((((t + tf ) < padding ) || ((t + tf ) >= (in_T + padding ))) ? 0 : input_signal [((tf + t ) - padding ) * in_channels + ci ]);
71
- sum += (a * tempW [ci * kernel_size + tf ]);
72
+ if (((t + tf ) < padding ) || ((t + tf ) >= (in_T + padding )))
73
+ continue ;
74
+ else
75
+ sum += (input_signal [((tf + t ) - padding ) * in_channels + ci ] * tempW [ci * kernel_size + tf ]);
72
76
}
73
77
if (activations == 1 ){
74
78
output_signal [t * in_channels + ci ] = sigmoid (sum + tparams -> B [ci ]);
@@ -91,7 +95,7 @@ int Conv1D_Depth_LR(float *output_signal, unsigned out_T, const float *input_sig
91
95
92
96
93
97
int Conv1D (float * output_signal , unsigned out_T , unsigned out_channels , const float * input_signal ,
94
- unsigned N , unsigned in_T , unsigned in_channels , int padding , unsigned kernel_size ,
98
+ unsigned in_T , unsigned in_channels , int padding , unsigned kernel_size ,
95
99
const void * params , int activations ){
96
100
97
101
const ConvLayers_Params * tparams = (ConvLayers_Params * ) params ;
@@ -109,8 +113,10 @@ int Conv1D(float *output_signal, unsigned out_T, unsigned out_channels, const fl
109
113
sum = 0 ;
110
114
for (int tf = 0 ; tf < kernel_size ; tf ++ ){
111
115
for (int ci = 0 ; ci < in_channels ; ci ++ ){
112
- float a = ((((t + tf ) < padding ) || ((t + tf ) >= (in_T + padding ))) ? 0 : input_signal [((tf + t ) - padding ) * in_channels + ci ]);
113
- sum += (a * tparams -> W [co * in_channels * kernel_size + ci * kernel_size + tf ]);
116
+ if (((t + tf ) < padding ) || ((t + tf ) >= (in_T + padding )))
117
+ continue ;
118
+ else
119
+ sum += (input_signal [((tf + t ) - padding ) * in_channels + ci ] * tparams -> W [co * in_channels * kernel_size + ci * kernel_size + tf ]);
114
120
}
115
121
}
116
122
if (activations == 1 ){
@@ -131,7 +137,7 @@ int Conv1D(float *output_signal, unsigned out_T, unsigned out_channels, const fl
131
137
}
132
138
133
139
int Conv1D_Depth (float * output_signal , unsigned out_T , const float * input_signal ,
134
- unsigned N , unsigned in_T , unsigned in_channels , int padding , unsigned kernel_size ,
140
+ unsigned in_T , unsigned in_channels , int padding , unsigned kernel_size ,
135
141
const void * params , int activations ){
136
142
137
143
const ConvLayers_Params * tparams = (ConvLayers_Params * ) params ;
@@ -148,8 +154,10 @@ int Conv1D_Depth(float *output_signal, unsigned out_T, const float *input_signal
148
154
for (int ci = 0 ; ci < in_channels ; ci ++ ){
149
155
float sum = 0 ;
150
156
for (int tf = 0 ; tf < kernel_size ; tf ++ ){
151
- float a = ((((t + tf ) < padding ) || ((t + tf ) >= (in_T + padding ))) ? 0 : input_signal [((tf + t ) - padding ) * in_channels + ci ]);
152
- sum += (a * tparams -> W [ci * kernel_size + tf ]);
157
+ if (((t + tf ) < padding ) || ((t + tf ) >= (in_T + padding )))
158
+ continue ;
159
+ else
160
+ sum += (input_signal [((tf + t ) - padding ) * in_channels + ci ] * tparams -> W [ci * kernel_size + tf ]);
153
161
}
154
162
if (activations == 1 ){
155
163
output_signal [t * in_channels + ci ] = sigmoid (sum + tparams -> B [ci ]);
@@ -168,7 +176,7 @@ int Conv1D_Depth(float *output_signal, unsigned out_T, const float *input_signal
168
176
return 0 ;
169
177
}
170
178
171
- int AvgPool1D (float * output_signal , unsigned out_T , const float * input_signal , unsigned N , unsigned in_T , unsigned in_channels ,
179
+ int AvgPool1D (float * output_signal , unsigned out_T , const float * input_signal , unsigned in_T , unsigned in_channels ,
172
180
int padding , unsigned kernel_size , int activations ){
173
181
174
182
if (padding == -1 ){
@@ -179,7 +187,10 @@ int AvgPool1D(float *output_signal, unsigned out_T, const float *input_signal, u
179
187
for (int ci = 0 ; ci < in_channels ; ci ++ ){
180
188
float sum = 0 ;
181
189
for (int tf = 0 ; tf < kernel_size ; tf ++ ){
182
- sum += ((((t + tf ) < padding ) || ((t + tf ) >= (in_T + padding ))) ? 0 : input_signal [((tf + t ) - padding ) * in_channels + ci ]);
190
+ if (((t + tf ) < padding ) || ((t + tf ) >= (in_T + padding )))
191
+ continue ;
192
+ else
193
+ sum += (input_signal [((tf + t ) - padding ) * in_channels + ci ]);
183
194
}
184
195
if (activations == 1 ){
185
196
output_signal [t * in_channels + ci ] = sigmoid (sum );
0 commit comments