OpenWareLaboratory
qint.h File Reference
Include dependency graph for qint.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define FLOAT_TO_Q15(a)   Q15_CLIP((q63_t)((a)*32768.0f))
 
#define FLOAT_TO_Q31(a)   Q31_CLIP((q63_t)((a)*2147483648.0f))
 
#define FLOAT_TO_Q7(a)   Q7_CLIP((q15_t)((a)*128.0f))
 
#define Q15_CLIP(a)   ((a) > Q15_MAX ? Q15_MAX : (a) < Q15_MIN ? Q15_MIN : (a))
 
#define Q15_DIV_Q15(a, b)   (((q31_t)(a)<<15)/(b)) /* non-rounding */
 
#define Q15_MAX   INT16_MAX
 
#define Q15_MIN   INT16_MIN
 
#define Q15_MUL_Q15(a, b)   Q15_CLIP(((q63_t)(a)*(b))>>15)
 
#define Q15_RECIPROCAL(a)   (((q31_t)Q15_MAX<<15)/(a))
 
#define Q15_TO_FLOAT(a)   ((float)(a)/32768.0f)
 
#define Q31_CLIP(a)   ((a) > Q31_MAX ? Q31_MAX : (a) < Q31_MIN ? Q31_MIN : (a))
 
#define Q31_MAX   INT32_MAX
 
#define Q31_MIN   INT32_MIN
 
#define Q31_MUL_Q31(a, b)   Q31_CLIP(((q63_t)(a)*(b))>>31)
 
#define Q31_TO_FLOAT(a)   ((float)(a)/2147483648.0f)
 
#define Q63_TO_FLOAT(a)   ((float)(a)/9223372036854775808.0f)
 
#define Q7_CLIP(a)   ((a) > Q7_MAX ? Q7_MAX : (a) < Q7_MIN ? Q7_MIN : (a))
 
#define Q7_MAX   INT8_MAX
 
#define Q7_MIN   INT8_MIN
 
#define Q7_TO_FLOAT(a)   ((float)(a)/128.0f)
 

Typedefs

typedef int16_t q15_t
 
typedef int32_t q31_t
 
typedef int64_t q63_t
 
typedef int8_t q7_t
 

Macro Definition Documentation

◆ FLOAT_TO_Q15

#define FLOAT_TO_Q15 (   a)    Q15_CLIP((q63_t)((a)*32768.0f))

Definition at line 20 of file qint.h.

◆ FLOAT_TO_Q31

#define FLOAT_TO_Q31 (   a)    Q31_CLIP((q63_t)((a)*2147483648.0f))

Definition at line 21 of file qint.h.

◆ FLOAT_TO_Q7

#define FLOAT_TO_Q7 (   a)    Q7_CLIP((q15_t)((a)*128.0f))

Definition at line 19 of file qint.h.

◆ Q15_CLIP

#define Q15_CLIP (   a)    ((a) > Q15_MAX ? Q15_MAX : (a) < Q15_MIN ? Q15_MIN : (a))

Definition at line 15 of file qint.h.

◆ Q15_DIV_Q15

#define Q15_DIV_Q15 (   a,
 
)    (((q31_t)(a)<<15)/(b)) /* non-rounding */

Definition at line 48 of file qint.h.

◆ Q15_MAX

#define Q15_MAX   INT16_MAX

Definition at line 39 of file qint.h.

◆ Q15_MIN

#define Q15_MIN   INT16_MIN

Definition at line 36 of file qint.h.

◆ Q15_MUL_Q15

#define Q15_MUL_Q15 (   a,
 
)    Q15_CLIP(((q63_t)(a)*(b))>>15)

Definition at line 17 of file qint.h.

◆ Q15_RECIPROCAL

#define Q15_RECIPROCAL (   a)    (((q31_t)Q15_MAX<<15)/(a))

Definition at line 49 of file qint.h.

◆ Q15_TO_FLOAT

#define Q15_TO_FLOAT (   a)    ((float)(a)/32768.0f)

Definition at line 52 of file qint.h.

◆ Q31_CLIP

#define Q31_CLIP (   a)    ((a) > Q31_MAX ? Q31_MAX : (a) < Q31_MIN ? Q31_MIN : (a))

Definition at line 16 of file qint.h.

◆ Q31_MAX

#define Q31_MAX   INT32_MAX

Definition at line 45 of file qint.h.

◆ Q31_MIN

#define Q31_MIN   INT32_MIN

Definition at line 42 of file qint.h.

◆ Q31_MUL_Q31

#define Q31_MUL_Q31 (   a,
 
)    Q31_CLIP(((q63_t)(a)*(b))>>31)

Definition at line 18 of file qint.h.

◆ Q31_TO_FLOAT

#define Q31_TO_FLOAT (   a)    ((float)(a)/2147483648.0f)

Definition at line 53 of file qint.h.

◆ Q63_TO_FLOAT

#define Q63_TO_FLOAT (   a)    ((float)(a)/9223372036854775808.0f)

Definition at line 54 of file qint.h.

◆ Q7_CLIP

#define Q7_CLIP (   a)    ((a) > Q7_MAX ? Q7_MAX : (a) < Q7_MIN ? Q7_MIN : (a))

Definition at line 14 of file qint.h.

◆ Q7_MAX

#define Q7_MAX   INT8_MAX

Definition at line 33 of file qint.h.

◆ Q7_MIN

#define Q7_MIN   INT8_MIN

Definition at line 30 of file qint.h.

◆ Q7_TO_FLOAT

#define Q7_TO_FLOAT (   a)    ((float)(a)/128.0f)

Definition at line 51 of file qint.h.

Typedef Documentation

◆ q15_t

typedef int16_t q15_t

Definition at line 25 of file qint.h.

◆ q31_t

typedef int32_t q31_t

Definition at line 26 of file qint.h.

◆ q63_t

typedef int64_t q63_t

Definition at line 27 of file qint.h.

◆ q7_t

typedef int8_t q7_t

Definition at line 24 of file qint.h.