summaryrefslogtreecommitdiff
path: root/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions
diff options
context:
space:
mode:
authorAli Labbene <ali.labbene@st.com>2019-12-11 08:59:21 +0100
committerAli Labbene <ali.labbene@st.com>2019-12-16 16:35:24 +0100
commit9f95ff5b6ba01db09552b84a0ab79607060a2666 (patch)
tree8a6e0dda832555c692307869aed49d07ee7facfe /DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions
parent76177aa280494bb36d7a0bcbda1078d4db717020 (diff)
downloadst-cmsis-core-lowfat-9f95ff5b6ba01db09552b84a0ab79607060a2666.tar.gz
st-cmsis-core-lowfat-9f95ff5b6ba01db09552b84a0ab79607060a2666.tar.bz2
st-cmsis-core-lowfat-9f95ff5b6ba01db09552b84a0ab79607060a2666.zip
Official ARM version: v5.4.0
Add CMSIS V5.4.0, please refer to index.html available under \docs folder. Note: content of \CMSIS\Core\Include has been copied under \Include to keep the same structure used in existing projects, and thus avoid projects mass update Note: the following components have been removed from ARM original delivery (as not used in ST packages) - CMSIS_EW2018.pdf - .gitattributes - .gitignore - \Device - \CMSIS - \CoreValidation - \DAP - \Documentation - \DoxyGen - \Driver - \Pack - \RTOS\CMSIS_RTOS_Tutorial.pdf - \RTOS\RTX - \RTOS\Template - \RTOS2\RTX - \Utilities - All ARM/GCC projects files are deleted from \DSP, \RTOS and \RTOS2 Change-Id: Ia026c3f0f0d016627a4fb5a9032852c33d24b4d3
Diffstat (limited to 'DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions')
-rw-r--r--DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/cos.c11
-rw-r--r--DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/sin.c11
-rw-r--r--DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/sqrt.c15
3 files changed, 37 insertions, 0 deletions
diff --git a/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/cos.c b/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/cos.c
new file mode 100644
index 0000000..245942f
--- /dev/null
+++ b/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/cos.c
@@ -0,0 +1,11 @@
+#include "ref.h"
+
+q31_t ref_cos_q31(q31_t x)
+{
+ return (q31_t)(cosf((float32_t)x * 6.28318530717959f / 2147483648.0f) * 2147483648.0f);
+}
+
+q15_t ref_cos_q15(q15_t x)
+{
+ return (q15_t)(cosf((float32_t)x * 6.28318530717959f / 32768.0f) * 32768.0f);
+}
diff --git a/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/sin.c b/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/sin.c
new file mode 100644
index 0000000..ecd4aa0
--- /dev/null
+++ b/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/sin.c
@@ -0,0 +1,11 @@
+#include "ref.h"
+
+q31_t ref_sin_q31(q31_t x)
+{
+ return (q31_t)(sinf((float32_t)x * 6.28318530717959f / 2147483648.0f) * 2147483648.0f);
+}
+
+q15_t ref_sin_q15(q15_t x)
+{
+ return (q15_t)(sinf((float32_t)x * 6.28318530717959f / 32768.0f) * 32768.0f);
+}
diff --git a/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/sqrt.c b/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/sqrt.c
new file mode 100644
index 0000000..30b42ee
--- /dev/null
+++ b/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/sqrt.c
@@ -0,0 +1,15 @@
+#include "ref.h"
+
+arm_status ref_sqrt_q31(q31_t in, q31_t * pOut)
+{
+ *pOut = (q31_t)(sqrtf((float32_t)in / 2147483648.0f) * 2147483648.0f);
+
+ return ARM_MATH_SUCCESS;
+}
+
+arm_status ref_sqrt_q15(q15_t in, q15_t * pOut)
+{
+ *pOut = (q15_t)(sqrtf((float32_t)in / 32768.0f) * 32768.0f);
+
+ return ARM_MATH_SUCCESS;
+}