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:
More...
|
__STATIC_FORCEINLINE riscv_status | riscv_sqrt_f32 (const float32_t in, float32_t *pOut) |
| Floating-point square root function. More...
|
|
riscv_status | riscv_sqrt_q31 (q31_t in, q31_t *pOut) |
| Q31 square root function. More...
|
|
riscv_status | riscv_sqrt_q15 (q15_t in, q15_t *pOut) |
| Q15 square root function. More...
|
|
__STATIC_FORCEINLINE riscv_status | riscv_sqrt_f16 (float16_t in, float16_t *pOut) |
| Floating-point square root function. More...
|
|
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]
◆ riscv_sqrt_f16()
__STATIC_FORCEINLINE riscv_status riscv_sqrt_f16 |
( |
float16_t |
in, |
|
|
float16_t * |
pOut |
|
) |
| |
Floating-point square root function.
- Parameters
-
[in] | in | input value |
[out] | pOut | square root of input value |
- Returns
- execution status
- RISCV_MATH_SUCCESS : input value is positive
- RISCV_MATH_ARGUMENT_ERROR : input value is negative; *pOut is set to 0
◆ riscv_sqrt_f32()
__STATIC_FORCEINLINE riscv_status riscv_sqrt_f32 |
( |
const float32_t |
in, |
|
|
float32_t * |
pOut |
|
) |
| |
Floating-point square root function.
- Parameters
-
[in] | in | input value |
[out] | pOut | square root of input value |
- Returns
- execution status
- RISCV_MATH_SUCCESS : input value is positive
- RISCV_MATH_ARGUMENT_ERROR : input value is negative; *pOut is set to 0
◆ riscv_sqrt_q15()
riscv_status riscv_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 | points to square root of input value |
- Returns
- execution status
- RISCV_MATH_SUCCESS : input value is positive
- RISCV_MATH_ARGUMENT_ERROR : input value is negative; *pOut is set to 0
◆ riscv_sqrt_q31()
riscv_status riscv_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 | points to square root of input value |
- Returns
- execution status
- RISCV_MATH_SUCCESS : input value is positive
- RISCV_MATH_ARGUMENT_ERROR : input value is negative; *pOut is set to 0