Skip to content

Commit 51b18e1

Browse files
authored
Merge pull request #8 from roboticarm2000/fixwarnings
Fix warnings reported by VS 2019 and its code analyzer
2 parents 78158e3 + ecfa542 commit 51b18e1

File tree

5 files changed

+19
-14
lines changed

5 files changed

+19
-14
lines changed

include/k2c_activations.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ k2c_activationType * k2c_linear = k2c_linear_func;
3535
void k2c_exponential_func(float * x, const size_t size) {
3636

3737
for (size_t i=0; i<size; ++i) {
38-
x[i] = exp(x[i]);
38+
x[i] = expf(x[i]);
3939
}
4040
}
4141
k2c_activationType * k2c_exponential = k2c_exponential_func;
@@ -95,7 +95,7 @@ k2c_activationType * k2c_hard_sigmoid = k2c_hard_sigmoid_func;
9595
void k2c_tanh_func(float * x, const size_t size) {
9696

9797
for (size_t i=0; i<size; ++i) {
98-
x[i] = tanh(x[i]);
98+
x[i] = tanhf(x[i]);
9999
}
100100
}
101101
k2c_activationType * k2c_tanh = k2c_tanh_func;
@@ -111,7 +111,7 @@ k2c_activationType * k2c_tanh = k2c_tanh_func;
111111
void k2c_sigmoid_func(float * x, const size_t size) {
112112

113113
for (size_t i=0; i < size; ++i) {
114-
x[i] = 1/(1+exp(-x[i]));
114+
x[i] = 1/(1+expf(-x[i]));
115115
}
116116
}
117117
k2c_activationType * k2c_sigmoid = k2c_sigmoid_func;
@@ -136,7 +136,7 @@ void k2c_softmax_func(float * x, const size_t size) {
136136
}
137137

138138
for (size_t i=0; i < size; ++i) {
139-
x[i] = exp(x[i]-xmax);
139+
x[i] = expf(x[i]-xmax);
140140
}
141141

142142
for (size_t i=0; i < size; ++i) {
@@ -161,7 +161,7 @@ k2c_activationType * k2c_softmax = k2c_softmax_func;
161161
void k2c_softplus_func(float * x, const size_t size) {
162162

163163
for (size_t i=0; i < size; ++i) {
164-
x[i] = log1p(exp(x[i]));
164+
x[i] = log1pf(expf(x[i]));
165165
}
166166
}
167167
k2c_activationType * k2c_softplus = k2c_softplus_func;
@@ -177,7 +177,7 @@ k2c_activationType * k2c_softplus = k2c_softplus_func;
177177
void k2c_softsign_func(float * x, const size_t size) {
178178

179179
for (size_t i=0; i < size; ++i) {
180-
x[i] = x[i]/(1.0f + fabs(x[i]));
180+
x[i] = x[i]/(1.0f + fabsf(x[i]));
181181
}
182182
}
183183
k2c_activationType * k2c_softsign = k2c_softsign_func;
@@ -237,7 +237,7 @@ void k2c_ELU(float * x, const size_t size, const float alpha) {
237237

238238
for (size_t i=0; i < size; ++i) {
239239
if (x[i] <= 0.0f) {
240-
x[i] = alpha*expm1(x[i]);
240+
x[i] = alpha*expm1f(x[i]);
241241
}
242242
}
243243
}

include/k2c_helper_functions.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,10 @@ void k2c_flip(k2c_tensor *A, const size_t axis) {
330330
*/
331331
float* k2c_read_array(const char* filename, const size_t array_size) {
332332
float* ptr = (float*) malloc(array_size * sizeof(float));
333+
if (!ptr) {
334+
printf("cannot allocate memory %s \n", filename);
335+
exit(-1);
336+
}
333337
size_t ctr = 0;
334338
FILE *finp;
335339
int foo;

include/k2c_recurrent_layers.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,7 @@ void k2c_gru(k2c_tensor* output, const k2c_tensor* input, float * state,
383383
}
384384
}
385385
else {
386-
for (int i=0; i<in_height; ++i) {
386+
for (size_t i=0; i<in_height; ++i) {
387387
k2c_grucell(state, &input->array[i*in_width], kernel, recurrent_kernel, bias,
388388
fwork, reset_after, recurrent_activation, output_activation);
389389
if (return_sequences) {

keras2c/make_test_suite.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,6 @@ def make_test_suite(model, function_name, malloc_vars, num_tests=10, stateful=Fa
7373
s += 'float maxabs(k2c_tensor *tensor1, k2c_tensor *tensor2);\n'
7474
s += 'struct timeval GetTimeStamp(); \n \n'
7575
file.write(s)
76-
s = 'int main(){\n'
77-
file.write(s)
7876
for i in range(num_tests):
7977
if i == num_tests//2 and stateful:
8078
model.reset_states()
@@ -109,6 +107,9 @@ def make_test_suite(model, function_name, malloc_vars, num_tests=10, stateful=Fa
109107
model_outputs[j] + '_test' + str(i+1)))
110108
file.write(Weights2C.array2c(np.zeros(output.shape), 'c_' +
111109
model_outputs[j] + '_test' + str(i+1)))
110+
s = 'int main(){\n'
111+
file.write(s)
112+
112113
s = ' float errors[' + str(num_tests*num_outputs) + '];\n'
113114
s += ' size_t num_tests = ' + str(num_tests) + '; \n'
114115
s += 'size_t num_outputs = ' + str(num_outputs) + '; \n'
@@ -138,7 +139,7 @@ def make_test_suite(model, function_name, malloc_vars, num_tests=10, stateful=Fa
138139
file.write('\n')
139140
s = 'clock_t t1 = clock(); \n'
140141
s += 'printf("Average time over ' + str(num_tests) + \
141-
' tests: %e s \\n\", \n (double)(t1-t0)/(double)CLOCKS_PER_SEC/(double)' + \
142+
' tests: %e s \\n\", \n ((double)t1-t0)/(double)CLOCKS_PER_SEC/(double)' + \
142143
str(num_tests) + '); \n'
143144
file.write(s)
144145

@@ -169,7 +170,7 @@ def make_test_suite(model, function_name, malloc_vars, num_tests=10, stateful=Fa
169170
float x = 0; \n
170171
float y = 0; \n
171172
for(size_t i=0; i<tensor1->numel; i++){\n
172-
y = fabs(tensor1->array[i]-tensor2->array[i]);
173+
y = fabsf(tensor1->array[i]-tensor2->array[i]);
173174
if (y>x) {x=y;}}
174175
return x;}\n\n"""
175176
file.write(s)

keras2c/weights2c.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,9 @@ def array2c(array, name, malloc=False):
8080
elif temp[i] == -np.inf:
8181
s += "-HUGE_VALF,"
8282
else:
83-
s += "{:+.8e}".format(temp[i]) + ','
83+
s += "{:+.8e}f".format(temp[i]) + ','
8484
count += 1
85-
if (count) % 5 is 0:
85+
if (count) % 5 == 0:
8686
s += '\n'
8787
s += '}; \n'
8888
s += 'k2c_tensor ' + name + ' = {&' + name + \

0 commit comments

Comments
 (0)