webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Macros
macros.h File Reference
#include "opus_types.h"
#include "opus_defines.h"
#include "arch.h"
#include "ecintrin.h"

Go to the source code of this file.

Macros

#define opus_likely(x)   (!!(x))
 
#define opus_unlikely(x)   (!!(x))
 
#define silk_SMULWB(a32, b32)   ((((a32) >> 16) * (opus_int32)((opus_int16)(b32))) + ((((a32) & 0x0000FFFF) * (opus_int32)((opus_int16)(b32))) >> 16))
 
#define silk_SMLAWB(a32, b32, c32)   ((a32) + ((((b32) >> 16) * (opus_int32)((opus_int16)(c32))) + ((((b32) & 0x0000FFFF) * (opus_int32)((opus_int16)(c32))) >> 16)))
 
#define silk_SMULWT(a32, b32)   (((a32) >> 16) * ((b32) >> 16) + ((((a32) & 0x0000FFFF) * ((b32) >> 16)) >> 16))
 
#define silk_SMLAWT(a32, b32, c32)   ((a32) + (((b32) >> 16) * ((c32) >> 16)) + ((((b32) & 0x0000FFFF) * ((c32) >> 16)) >> 16))
 
#define silk_SMULBB(a32, b32)   ((opus_int32)((opus_int16)(a32)) * (opus_int32)((opus_int16)(b32)))
 
#define silk_SMLABB(a32, b32, c32)   ((a32) + ((opus_int32)((opus_int16)(b32))) * (opus_int32)((opus_int16)(c32)))
 
#define silk_SMULBT(a32, b32)   ((opus_int32)((opus_int16)(a32)) * ((b32) >> 16))
 
#define silk_SMLABT(a32, b32, c32)   ((a32) + ((opus_int32)((opus_int16)(b32))) * ((c32) >> 16))
 
#define silk_SMLAL(a64, b32, c32)   (silk_ADD64((a64), ((opus_int64)(b32) * (opus_int64)(c32))))
 
#define silk_SMULWW(a32, b32)   silk_MLA(silk_SMULWB((a32), (b32)), (a32), silk_RSHIFT_ROUND((b32), 16))
 
#define silk_SMLAWW(a32, b32, c32)   silk_MLA(silk_SMLAWB((a32), (b32), (c32)), (b32), silk_RSHIFT_ROUND((c32), 16))
 
#define silk_ADD_SAT32(a, b)
 
#define silk_SUB_SAT32(a, b)
 
#define matrix_ptr(Matrix_base_adr, row, column, N)   (*((Matrix_base_adr) + ((row)*(N)+(column))))
 
#define matrix_adr(Matrix_base_adr, row, column, N)   ((Matrix_base_adr) + ((row)*(N)+(column)))
 
#define matrix_c_ptr(Matrix_base_adr, row, column, M)   (*((Matrix_base_adr) + ((row)+(M)*(column))))
 

Macro Definition Documentation

◆ matrix_adr

#define matrix_adr (   Matrix_base_adr,
  row,
  column,
  N 
)    ((Matrix_base_adr) + ((row)*(N)+(column)))

◆ matrix_c_ptr

#define matrix_c_ptr (   Matrix_base_adr,
  row,
  column,
  M 
)    (*((Matrix_base_adr) + ((row)+(M)*(column))))

◆ matrix_ptr

#define matrix_ptr (   Matrix_base_adr,
  row,
  column,
  N 
)    (*((Matrix_base_adr) + ((row)*(N)+(column))))

◆ opus_likely

#define opus_likely (   x)    (!!(x))

◆ opus_unlikely

#define opus_unlikely (   x)    (!!(x))

◆ silk_ADD_SAT32

#define silk_ADD_SAT32 (   a,
  b 
)
Value:
((((opus_uint32)(a) + (opus_uint32)(b)) & 0x80000000) == 0 ? \
((((a) & (b)) & 0x80000000) != 0 ? silk_int32_MIN : (a)+(b)) : \
((((a) | (b)) & 0x80000000) == 0 ? silk_int32_MAX : (a)+(b)) )
#define silk_int32_MAX
Definition: typedef.h:42
#define silk_int32_MIN
Definition: typedef.h:43
GLboolean GLboolean GLboolean GLboolean a
Definition: gl2ext.h:306
unsigned int opus_uint32
Definition: opus_types.h:147
GLboolean GLboolean GLboolean b
Definition: gl2ext.h:306

◆ silk_SMLABB

#define silk_SMLABB (   a32,
  b32,
  c32 
)    ((a32) + ((opus_int32)((opus_int16)(b32))) * (opus_int32)((opus_int16)(c32)))

◆ silk_SMLABT

#define silk_SMLABT (   a32,
  b32,
  c32 
)    ((a32) + ((opus_int32)((opus_int16)(b32))) * ((c32) >> 16))

◆ silk_SMLAL

#define silk_SMLAL (   a64,
  b32,
  c32 
)    (silk_ADD64((a64), ((opus_int64)(b32) * (opus_int64)(c32))))

◆ silk_SMLAWB

#define silk_SMLAWB (   a32,
  b32,
  c32 
)    ((a32) + ((((b32) >> 16) * (opus_int32)((opus_int16)(c32))) + ((((b32) & 0x0000FFFF) * (opus_int32)((opus_int16)(c32))) >> 16)))

◆ silk_SMLAWT

#define silk_SMLAWT (   a32,
  b32,
  c32 
)    ((a32) + (((b32) >> 16) * ((c32) >> 16)) + ((((b32) & 0x0000FFFF) * ((c32) >> 16)) >> 16))

◆ silk_SMLAWW

#define silk_SMLAWW (   a32,
  b32,
  c32 
)    silk_MLA(silk_SMLAWB((a32), (b32), (c32)), (b32), silk_RSHIFT_ROUND((c32), 16))

◆ silk_SMULBB

#define silk_SMULBB (   a32,
  b32 
)    ((opus_int32)((opus_int16)(a32)) * (opus_int32)((opus_int16)(b32)))

◆ silk_SMULBT

#define silk_SMULBT (   a32,
  b32 
)    ((opus_int32)((opus_int16)(a32)) * ((b32) >> 16))

◆ silk_SMULWB

#define silk_SMULWB (   a32,
  b32 
)    ((((a32) >> 16) * (opus_int32)((opus_int16)(b32))) + ((((a32) & 0x0000FFFF) * (opus_int32)((opus_int16)(b32))) >> 16))

◆ silk_SMULWT

#define silk_SMULWT (   a32,
  b32 
)    (((a32) >> 16) * ((b32) >> 16) + ((((a32) & 0x0000FFFF) * ((b32) >> 16)) >> 16))

◆ silk_SMULWW

#define silk_SMULWW (   a32,
  b32 
)    silk_MLA(silk_SMULWB((a32), (b32)), (a32), silk_RSHIFT_ROUND((b32), 16))

◆ silk_SUB_SAT32

#define silk_SUB_SAT32 (   a,
  b 
)
Value:
((((opus_uint32)(a)-(opus_uint32)(b)) & 0x80000000) == 0 ? \
(( (a) & ((b)^0x80000000) & 0x80000000) ? silk_int32_MIN : (a)-(b)) : \
((((a)^0x80000000) & (b) & 0x80000000) ? silk_int32_MAX : (a)-(b)) )
#define silk_int32_MAX
Definition: typedef.h:42
#define silk_int32_MIN
Definition: typedef.h:43
GLboolean GLboolean GLboolean GLboolean a
Definition: gl2ext.h:306
unsigned int opus_uint32
Definition: opus_types.h:147
GLboolean GLboolean GLboolean b
Definition: gl2ext.h:306