This repository has been archived on 2023-07-17. You can view files and clone it, but cannot push or open issues or pull requests.
bl_mcu_sdk/examples/dsp/ControllerFunctions_sincospart/sin_cos.c

20 lines
630 B
C

#include "ref.h"
void ref_sin_cos_f32(float32_t theta, float32_t *pSinVal, float32_t *pCosVal)
{
// theta is given in degrees
*pSinVal = sinf(theta * 6.28318530717959f / 360.0f);
*pCosVal = cosf(theta * 6.28318530717959f / 360.0f);
}
void ref_sin_cos_q31(q31_t theta, q31_t *pSinVal, q31_t *pCosVal)
{
// theta is given in the range [-1,1) to represent [-pi,pi)
*pSinVal =
(q31_t)(sinf((float32_t)theta * 3.14159265358979f / 2147483648.0f) *
2147483648.0f);
*pCosVal =
(q31_t)(cosf((float32_t)theta * 3.14159265358979f / 2147483648.0f) *
2147483648.0f);
}