Line data Source code
1 0 : /* Copyright (c) 2022 Google LLC
2 : * SPDX-License-Identifier: Apache-2.0
3 : */
4 :
5 : #ifndef ZEPHYR_INCLUDE_DSP_TYPES_H_
6 : #define ZEPHYR_INCLUDE_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 1 : typedef int8_t q7_t;
24 :
25 : /**
26 : * @typedef q15_t
27 : * @brief 16-bit fractional data type in 1.15 format.
28 : */
29 1 : typedef int16_t q15_t;
30 :
31 : /**
32 : * @typedef q31_t
33 : * @brief 32-bit fractional data type in 1.31 format.
34 : */
35 1 : typedef int32_t q31_t;
36 :
37 : /**
38 : * @typedef q63_t
39 : * @brief 64-bit fractional data type in 1.63 format.
40 : */
41 1 : 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 1 : typedef __fp16 float16_t;
49 : #endif /* CONFIG_FP16 */
50 :
51 : /**
52 : * @typedef float32_t
53 : * @brief 32-bit floating-point type definition.
54 : */
55 1 : typedef float float32_t;
56 :
57 : /**
58 : * @typedef float64_t
59 : * @brief 64-bit floating-point type definition.
60 : */
61 1 : typedef double float64_t;
62 :
63 : #ifdef __cplusplus
64 : }
65 : #endif
66 :
67 : /**
68 : * @}
69 : */
70 :
71 : #endif /* ZEPHYR_INCLUDE_DSP_TYPES_H_ */
|