webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Macros
fixed_armv4.h File Reference

Go to the source code of this file.

Macros

#define MULT16_32_Q16(a, b)   (MULT16_32_Q16_armv4(a, b))
 
#define MULT16_32_Q15(a, b)   (MULT16_32_Q15_armv4(a, b))
 
#define MAC16_32_Q15(c, a, b)   ADD32(c, MULT16_32_Q15(a, b))
 
#define MAC16_32_Q16(c, a, b)   ADD32(c, MULT16_32_Q16(a, b))
 
#define MULT32_32_Q31(a, b)   (opus_val32)((((opus_int64)(a)) * ((opus_int64)(b)))>>31)
 

Macro Definition Documentation

◆ MAC16_32_Q15

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

16x32 multiply, followed by a 15-bit shift right and 32-bit add. b must fit in 31 bits. Result fits in 32 bits.

◆ MAC16_32_Q16

#define MAC16_32_Q16 (   c,
  a,
  b 
)    ADD32(c, MULT16_32_Q16(a, b))

16x32 multiply, followed by a 16-bit shift right and 32-bit add. Result fits in 32 bits.

◆ MULT16_32_Q15

#define MULT16_32_Q15 (   a,
  b 
)    (MULT16_32_Q15_armv4(a, b))

◆ MULT16_32_Q16

#define MULT16_32_Q16 (   a,
  b 
)    (MULT16_32_Q16_armv4(a, b))

◆ MULT32_32_Q31

#define MULT32_32_Q31 (   a,
  b 
)    (opus_val32)((((opus_int64)(a)) * ((opus_int64)(b)))>>31)

32x32 multiplication, followed by a 31-bit shift right. Results fits in 32 bits