|  | 
| 
 NoteSome arguments are used multiple times, make sure not to pass expressions. 
 | 
| static q15_t | q15max (q15_t a, q15_t b) | 
|  | Maximum. 
 | 
|  | 
| static q15_t | q15min (q15_t a, q15_t b) | 
|  | Minimum. 
 | 
|  | 
| static simd32_t | q15maxp (simd32_t a, simd32_t b) | 
|  | Maximum. 
 | 
|  | 
| static simd32_t | q15minp (simd32_t a, simd32_t b) | 
|  | Minimum. 
 | 
|  | 
| #define | q15add(a,  b)   ((q15_t)(qadd16((q15_t)(a),(q15_t)(b)) & 0xFFFF)) | 
|  | 
| #define | q15sub(a,  b)   ((q15_t)(qsub16((q15_t)(a),(q15_t)(b)) & 0xFFFF)) | 
|  | 
| #define | q15mul(a,  b)   ((q15_t)(((int32_t)(q15_t)(a) * (q15_t)(b))>>15)) | 
|  | 
| #define | q15absmul(a,  b)   (-q15mul(a, -b)) | 
|  | 
| #define | q15abs(a)   ((q15_t)(qsub16(((q15_t)(a) ^ ((q15_t)(a)>>15)), ((q15_t)(a)>>15)) & 0xFFFF)) | 
|  | 
| #define | q15addp(a,  b)   ((simd32_t)(qadd16((simd32_t)(a),(simd32_t)(b)))) | 
|  | 
| #define | q15subp(a,  b)   ((simd32_t)(qsub16((simd32_t)(a),(simd32_t)(b)))) | 
|  | 
| #define | q15absp(a)   ((simd32_t)(qsub16((simd32_t)(a) ^ ((simd32_t)(a)>>15), (simd32_t)(a)>>15))) | 
|  | 
|  | 
| 
 NoteSome arguments are used multiple times, make sure not to pass expressions. 
 | 
| static q31_t | q31max (q31_t a, q31_t b) | 
|  | Maximum. 
 | 
|  | 
| static q31_t | q31min (q31_t a, q31_t b) | 
|  | Minimum. 
 | 
|  | 
| #define | q31add(a,  b)   (qadd((q31_t)(a),(q31_t)(b))) | 
|  | 
| #define | q31sub(a,  b)   (qsub((q31_t)(a),(q31_t)(b))) | 
|  | 
| #define | q31mul(a,  b)   ((q31_t)(((q63_t)(q31_t)(a) * (q31_t)(b))>>31)) | 
|  | 
| #define | q31absmul(a,  b)   (-q31mul(a,-b)) | 
|  | 
| #define | q31abs(a)   (qsub((q31_t)(a) ^ ((q31_t)(a)>>31), (q31_t)(a)>>31)) | 
|  |