fixed_debug.h File Reference

Fixed-point operations with debugging. More...

#include <stdio.h>

Include dependency graph for fixed_debug.h:

Go to the source code of this file.

Defines

#define MIPS_INC   spx_mips++,
#define QCONST16(x, bits)   ((spx_word16_t)((x)*(1<<(bits))+(1<<((bits)-1))))
#define QCONST32(x, bits)   ((spx_word32_t)((x)*(1<<(bits))+(1<<((bits)-1))))
#define VERIFY_SHORT(x)   ((x)<=32767&&(x)>=-32768)
#define VERIFY_INT(x)   ((x)<=2147483647LL&&(x)>=-2147483648LL)
#define PSHR16(a, shift)   (SHR16(ADD16(a,(1<<((shift)-1))),shift))
#define PSHR32(a, shift)   (SHR32(ADD32(a,(1<<((shift)-1))),shift))
#define SATURATE16(x, a)   (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x)))
#define SATURATE32(x, a)   (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x)))
#define SHR(a, shift)   ((a) >> (shift))
#define SHL(a, shift)   ((a) << (shift))
#define ADD64(a, b)   (MIPS_INC(a)+(b))
#define PSHR(a, shift)   (SHR((a)+(1<<((shift)-1)),shift))
#define MAC16_16(c, a, b)   (spx_mips--,ADD32((c),MULT16_16((a),(b))))
#define MAC16_16_Q11(c, a, b)   (ADD16((c),EXTRACT16(SHR32(MULT16_16((a),(b)),11))))
#define MAC16_16_Q13(c, a, b)   (ADD16((c),EXTRACT16(SHR32(MULT16_16((a),(b)),13))))
#define MULT16_32_Q11(a, b)   MULT16_32_QX(a,b,11)
#define MAC16_32_Q11(c, a, b)   ADD32((c),MULT16_32_Q11((a),(b)))
#define MULT16_32_Q12(a, b)   MULT16_32_QX(a,b,12)
#define MULT16_32_Q13(a, b)   MULT16_32_QX(a,b,13)
#define MULT16_32_Q14(a, b)   MULT16_32_QX(a,b,14)
#define MULT16_32_Q15(a, b)   MULT16_32_QX(a,b,15)
#define MAC16_32_Q15(c, a, b)   ADD32((c),MULT16_32_Q15((a),(b)))

Variables

long long spx_mips


Detailed Description

Fixed-point operations with debugging.


Define Documentation

#define ADD64 ( a,
 )     (MIPS_INC(a)+(b))

#define MAC16_16 ( c,
a,
 )     (spx_mips--,ADD32((c),MULT16_16((a),(b))))

#define MAC16_16_Q11 ( c,
a,
 )     (ADD16((c),EXTRACT16(SHR32(MULT16_16((a),(b)),11))))

#define MAC16_16_Q13 ( c,
a,
 )     (ADD16((c),EXTRACT16(SHR32(MULT16_16((a),(b)),13))))

#define MAC16_32_Q11 ( c,
a,
 )     ADD32((c),MULT16_32_Q11((a),(b)))

#define MAC16_32_Q15 ( c,
a,
 )     ADD32((c),MULT16_32_Q15((a),(b)))

#define MIPS_INC   spx_mips++,

#define MULT16_32_Q11 ( a,
 )     MULT16_32_QX(a,b,11)

#define MULT16_32_Q12 ( a,
 )     MULT16_32_QX(a,b,12)

#define MULT16_32_Q13 ( a,
 )     MULT16_32_QX(a,b,13)

#define MULT16_32_Q14 ( a,
 )     MULT16_32_QX(a,b,14)

#define MULT16_32_Q15 ( a,
 )     MULT16_32_QX(a,b,15)

#define PSHR ( a,
shift   )     (SHR((a)+(1<<((shift)-1)),shift))

#define PSHR16 ( a,
shift   )     (SHR16(ADD16(a,(1<<((shift)-1))),shift))

#define PSHR32 ( a,
shift   )     (SHR32(ADD32(a,(1<<((shift)-1))),shift))

#define QCONST16 ( x,
bits   )     ((spx_word16_t)((x)*(1<<(bits))+(1<<((bits)-1))))

#define QCONST32 ( x,
bits   )     ((spx_word32_t)((x)*(1<<(bits))+(1<<((bits)-1))))

#define SATURATE16 ( x,
 )     (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x)))

#define SATURATE32 ( x,
 )     (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x)))

#define SHL ( a,
shift   )     ((a) << (shift))

#define SHR ( a,
shift   )     ((a) >> (shift))

#define VERIFY_INT (  )     ((x)<=2147483647LL&&(x)>=-2147483648LL)

#define VERIFY_SHORT (  )     ((x)<=32767&&(x)>=-32768)


Variable Documentation

long long spx_mips


Generated on Mon Jan 22 16:50:46 2007 for speex by  doxygen 1.5.1