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