Skip to content

Commit

Permalink
CMSIS-NN: Fix output scaling in elementwise_add
Browse files Browse the repository at this point in the history
  • Loading branch information
felix-johnny committed Oct 11, 2019
1 parent 1ac3fcd commit 2422e32
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions Source/BasicMathFunctions/arm_elementwise_add_s8.c
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,8 @@ arm_elementwise_add_s8(const int8_t *input_1_vect,
SAT_INPUT(input_2, input_2_mult, input_2_shift);

sum = input_1 + input_2;
sum = arm_nn_requantize(sum, out_mult, out_shift) + out_offset;
SAT_INPUT(sum, out_mult, out_shift);
sum += out_offset;
sum = MAX(sum, out_activation_min);
sum = MIN(sum, out_activation_max);
r1 = (q7_t)sum;
Expand All @@ -122,7 +123,8 @@ arm_elementwise_add_s8(const int8_t *input_1_vect,
SAT_INPUT(input_2, input_2_mult, input_2_shift);

sum = input_1 + input_2;
sum = arm_nn_requantize(sum, out_mult, out_shift) + out_offset;
SAT_INPUT(sum, out_mult, out_shift);
sum += out_offset;
sum = MAX(sum, out_activation_min);
sum = MIN(sum, out_activation_max);
r3 = (q7_t)sum;
Expand All @@ -135,7 +137,8 @@ arm_elementwise_add_s8(const int8_t *input_1_vect,
SAT_INPUT(input_2, input_2_mult, input_2_shift);

sum = input_1 + input_2;
sum = arm_nn_requantize(sum, out_mult, out_shift) + out_offset;
SAT_INPUT(sum, out_mult, out_shift);
sum += out_offset;
sum = MAX(sum, out_activation_min);
sum = MIN(sum, out_activation_max);
r2 = (q7_t)sum;
Expand All @@ -148,7 +151,8 @@ arm_elementwise_add_s8(const int8_t *input_1_vect,
SAT_INPUT(input_2, input_2_mult, input_2_shift);

sum = input_1 + input_2;
sum = arm_nn_requantize(sum, out_mult, out_shift) + out_offset;
SAT_INPUT(sum, out_mult, out_shift);
sum += out_offset;
sum = MAX(sum, out_activation_min);
sum = MIN(sum, out_activation_max);
r4 = (q7_t)sum;
Expand Down Expand Up @@ -177,7 +181,8 @@ arm_elementwise_add_s8(const int8_t *input_1_vect,
input_2 = arm_nn_divide_by_power_of_two(input_2, -input_2_shift);

sum = input_1 + input_2;
sum = arm_nn_requantize(sum, out_mult, out_shift) + out_offset;
SAT_INPUT(sum, out_mult, out_shift);
sum += out_offset;

sum = MAX(sum, out_activation_min);
sum = MIN(sum, out_activation_max);
Expand Down

0 comments on commit 2422e32

Please sign in to comment.