1 /* Copyright (c) 2022 Google LLC
2  * SPDX-License-Identifier: Apache-2.0
3  */
4 
5 #ifndef INCLUDE_ZEPHYR_DSP_TYPES_H_
6 #define INCLUDE_ZEPHYR_DSP_TYPES_H_
7 
8 #include <stdint.h>
9 
10 /**
11  * @addtogroup math_dsp
12  * @{
13  */
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 /**
20  * @typedef q7_t
21  * @brief 8-bit fractional data type in 1.7 format.
22  */
23 typedef int8_t q7_t;
24 
25 /**
26  * @typedef q15_t
27  * @brief 16-bit fractional data type in 1.15 format.
28  */
29 typedef int16_t q15_t;
30 
31 /**
32  * @typedef q31_t
33  * @brief 32-bit fractional data type in 1.31 format.
34  */
35 typedef int32_t q31_t;
36 
37 /**
38  * @typedef q63_t
39  * @brief 64-bit fractional data type in 1.63 format.
40  */
41 typedef int64_t q63_t;
42 
43 /**
44  * @typedef float16_t
45  * @brief 16-bit floating point type definition.
46  */
47 #if defined(CONFIG_FP16)
48 typedef __fp16 float16_t;
49 #endif /* CONFIG_FP16 */
50 
51 /**
52  * @typedef float32_t
53  * @brief 32-bit floating-point type definition.
54  */
55 typedef float float32_t;
56 
57 /**
58  * @typedef float64_t
59  * @brief 64-bit floating-point type definition.
60  */
61 typedef double float64_t;
62 
63 #ifdef __cplusplus
64 }
65 #endif
66 
67 /**
68  * @}
69  */
70 
71 #endif /* INCLUDE_ZEPHYR_DSP_TYPES_H_ */
72