CMSIS DSP library
Dependents: performance_timer Surfboard_ gps2rtty Capstone ... more
Square Root
[Fast Math Functions]
Computes the square root of a number. More...
Functions | |
static __INLINE arm_status | arm_sqrt_f32 (float32_t in, float32_t *pOut) |
Floating-point square root function. | |
arm_status | arm_sqrt_q31 (q31_t in, q31_t *pOut) |
Q31 square root function. | |
arm_status | arm_sqrt_q15 (q15_t in, q15_t *pOut) |
Q15 square root function. |
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
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 5746 of file arm_math.h.
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.
- 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 the input value is positive and ARM_MATH_ARGUMENT_ERROR if the input is negative. For negative inputs, the function returns *pOut = 0.
Definition at line 62 of file arm_sqrt_q15.c.
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.
- 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 the input value is positive and ARM_MATH_ARGUMENT_ERROR if the input is negative. For negative inputs, the function returns *pOut = 0.
Definition at line 61 of file arm_sqrt_q31.c.
Generated on Tue Jul 12 2022 11:59:19 by 1.7.2