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_ */