Cosine
- RISCV_DSP_ATTRIBUTE float32_t riscv_cos_f32 (float32_t x)
- RISCV_DSP_ATTRIBUTE q15_t riscv_cos_q15 (q15_t x)
- RISCV_DSP_ATTRIBUTE q31_t riscv_cos_q31 (q31_t x)
- group cos
Computes the trigonometric cosine function using a combination of table lookup and linear interpolation. There are separate functions for Q15, Q31, and floating-point data types. The input to the floating-point version is in radians while the fixed-point Q15 and Q31 have a scaled input with the range [0 +0.9999] mapping to [0 2*pi). The fixed-point range is chosen so that a value of 2*pi wraps around to 0.
The implementation is based on table lookup using 512 values together with linear interpolation. The steps used are:
Calculation of the nearest integer table index
Compute the fractional portion (fract) of the table index.
The final result equals
(1.0f-fract)*a + fract*b;
where
Functions
- RISCV_DSP_ATTRIBUTE float32_t riscv_cos_f32 (float32_t x)
Fast approximation to the trigonometric cosine function for floating-point data.
- Parameters
x – [in] input value in radians
- Returns
cos(x)
- RISCV_DSP_ATTRIBUTE q15_t riscv_cos_q15 (q15_t x)
Fast approximation to the trigonometric cosine function for Q15 data.
The Q15 input value is in the range [0 +0.9999] and is mapped to a radian value in the range [0 2*PI).
- Parameters
x – [in] Scaled input value in radians
- Returns
cos(x)
- RISCV_DSP_ATTRIBUTE q31_t riscv_cos_q31 (q31_t x)
Fast approximation to the trigonometric cosine function for Q31 data.
The Q31 input value is in the range [0 +0.9999] and is mapped to a radian value in the range [0 2*PI).
- Parameters
x – [in] Scaled input value in radians
- Returns
cos(x)