diff options
Diffstat (limited to 'libspeex/fixed_generic.h')
-rw-r--r-- | libspeex/fixed_generic.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libspeex/fixed_generic.h b/libspeex/fixed_generic.h index 3fb096e..0e012e9 100644 --- a/libspeex/fixed_generic.h +++ b/libspeex/fixed_generic.h @@ -52,6 +52,10 @@ #define SATURATE16(x,a) (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x))) #define SATURATE32(x,a) (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x))) +#define SATURATE32PSHR(x,shift,a) (((x)>=(SHL32(a,shift))) ? (a) : \ + (x)<=-(SHL32(a,shift)) ? -(a) : \ + (PSHR32(x, shift))) + #define SHR(a,shift) ((a) >> (shift)) #define SHL(a,shift) ((spx_word32_t)(a) << (shift)) #define PSHR(a,shift) (SHR((a)+((EXTEND32(1)<<((shift))>>1)),shift)) |