Function arm_sub_scalar_s16¶
Defined in File arm_nnfunctions.h
Function Documentation¶
-
arm_cmsis_nn_status arm_sub_scalar_s16(const int16_t *input_1_vect, const int16_t *input_2_vect, const int32_t input_1_offset, const int32_t input_1_mult, const int32_t input_1_shift, const int32_t input_2_offset, const int32_t input_2_mult, const int32_t input_2_shift, const int32_t left_shift, int16_t *output, const int32_t out_offset, const int32_t out_mult, const int32_t out_shift, const int32_t out_activation_min, const int32_t out_activation_max, const int32_t block_size)¶
s16 elementwise subtract of scalar and vector (scalar - vector)
- Parameters:
input_1_vect – [in] pointer to input scalar
input_2_vect – [in] pointer to input vector
input_1_offset – [in] offset for input 1. Not used.
input_1_mult – [in] multiplier for input 1
input_1_shift – [in] shift for input 1
input_2_offset – [in] offset for input 2. Not used.
input_2_mult – [in] multiplier for input 2
input_2_shift – [in] shift for input 2
left_shift – [in] left shift applied to the result. Bound: the kernel evaluates value << left_shift in int32; the offsets are unused, so with full-range int16 inputs the extremes are +32767 and -32768, and -32768 << 16 is exactly INT32_MIN, which makes 16 the last shift that stays representable. The scale 1 << left_shift is itself representable up to 30. Not validated by the kernel.
output – [out] pointer to output vector
out_offset – [in] output offset. Not used.
out_mult – [in] output multiplier
out_shift – [in] output shift
out_activation_min – [in] minimum value to clamp output to. Min: -32768
out_activation_max – [in] maximum value to clamp output to. Max: 32767
block_size – [in] number of samples
- Returns:
The function returns ARM_CMSIS_NN_SUCCESS