Function arm_rsqrt_f32

Function Documentation

arm_cmsis_nn_status arm_rsqrt_f32(const float32_t *input, float32_t *output, int32_t block_size)

Elementwise reciprocal square root, 1 / sqrt(x).

Same value path as arm_nn_sqrt_f32, including its FPSCR.FZ behaviour on subnormal inputs, where the result is +Inf. Normal positive inputs evaluate 1.0f / sqrtf(x) in float32: two IEEE roundings, so the result is within 1 ulp of the correctly rounded value (measured against a float64 reference; x = 4^k is exact). Special values are decided on the bit pattern and returned as literals: +0 -> +Inf, -0 -> -Inf, +Inf -> +0, negative (including -Inf) -> quiet NaN 0x7FC00000, NaN -> the same NaN with the quiet bit set (sign and payload kept).

Parameters:
  • input[in] Pointer to the input vector.

  • output[out] Pointer to the output vector; may alias input.

  • block_size[in] Number of elements to process.

Returns:

ARM_CMSIS_NN_SUCCESS on success or ARM_CMSIS_NN_ARG_ERROR on invalid arguments.