Function arm_nn_doubling_high_mult_no_sat

Function Documentation

static int32_t arm_nn_doubling_high_mult_no_sat(int32_t m1, int32_t m2)

Doubling high multiply without saturation. This is intended for requantization where the scale is a positive integer.

Note

The result of this matches that of neon instruction VQRDMULH for m1 in range {NN_Q31_MIN, NN_Q31_MAX} and m2 in range {NN_Q31_MIN + 1, NN_Q31_MAX}. Saturation occurs when m1 equals m2 equals NN_Q31_MIN and that is not handled by this function.

Parameters:
  • m1[in] Multiplicand. Range: {NN_Q31_MIN, NN_Q31_MAX}

  • m2[in] Multiplier Range: {NN_Q31_MIN, NN_Q31_MAX}

Returns:

Result of multiplication.