# Square Root
[Fast Math Functions]

## Functions

arm_status | arm_sqrt_q31 (q31_t in, q31_t *pOut)
arm_status | arm_sqrt_q15 (q15_t in, q15_t *pOut)
static __INLINE arm_status | arm_sqrt_f32 (float32_t in, float32_t *pOut)

## Detailed Description

Computes the square root of a number. There are separate functions for Q15, Q31, and floating-point data types. The square root function is computed using the Newton-Raphson algorithm. This is an iterative algorithm of the form:

          x1 = x0 - f(x0)/f'(x0)

where `x1` is the current estimate, `x0` is the previous estimate and `f'(x0)` is the derivative of `f()` evaluated at `x0`. For the square root function, the algorithm reduces to:

         x0 = in/2                         [initial guess]
         x1 = 1/2 * ( x0 + in / x0)        [each iteration]

## Function Documentation

arm_status arm_sqrt_q31 | ( | q31_t | in,
|  | q31_t * | pOut
| ) |  |

Q31 square root function.

Parameters:

  [in] | in | input value. The range of the input value is [0 +1) or 0x00000000 to 0x7FFFFFFF.
  [out] | *pOut | square root of input value.

Returns:
  The function returns ARM_MATH_SUCCESS if input value is positive value or ARM_MATH_ARGUMENT_ERROR if `in` is negative value and returns zero output for negative values.

Definition at line 47 of file arm_sqrt_q31.c.

arm_status arm_sqrt_q15 | ( | q15_t | in,
|  | q15_t * | pOut
| ) |  |

Q15 square root function.

Parameters:

  [in] | in | input value. The range of the input value is [0 +1) or 0x0000 to 0x7FFF.
  [out] | *pOut | square root of input value.

Returns:
  The function returns ARM_MATH_SUCCESS if input value is positive value or ARM_MATH_ARGUMENT_ERROR if `in` is negative value and returns zero output for negative values.

Definition at line 51 of file arm_sqrt_q15.c.

static __INLINE arm_status arm_sqrt_f32 | ( | float32_t | in,
|  | float32_t * | pOut
| ) |  | `[static]`

Floating-point square root function.

Parameters:

  [in] | in | input value.
  [out] | *pOut | square root of input value.

Returns:
  The function returns ARM_MATH_SUCCESS if input value is positive value or ARM_MATH_ARGUMENT_ERROR if `in` is negative value and returns zero output for negative values.

Definition at line 5695 of file arm_math.h.

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines