17#if !defined(BASOP32_H_DEFINED)
18#define BASOP32_H_DEFINED
20int32_t L_add(int32_t L_var1, int32_t L_var2);
22static __inline__ int16_t saturate(int32_t amp)
27 amp16 = (int16_t) amp;
36static __inline__ int16_t xround(int32_t L_var1)
38 return (int16_t) (L_add(L_var1, (int32_t) 0x00008000L) >> 16);
42static __inline__ int16_t abs_s(int16_t var1)
44 if (var1 == INT16_MIN)
50static __inline__ int16_t add(int16_t var1, int16_t var2)
52 return saturate((int32_t) var1 + var2);
56static __inline__ int16_t sub(int16_t var1, int16_t var2)
58 return saturate((int32_t) var1 - var2);
62static __inline__ int16_t mult(int16_t var1, int16_t var2)
64 return saturate(((int32_t) var1*(int32_t) var2) >> 15);
68static __inline__ int32_t L_mult0(int16_t var1, int16_t var2)
70 return (int32_t) var1*(int32_t) var2;
74static __inline__ int32_t L_mac0(int32_t L_var3, int16_t var1, int16_t var2)
76 return L_add(L_var3, L_mult0(var1, var2));
80static __inline__ int32_t L_mult(int16_t var1, int16_t var2)
84 L_var_out = (int32_t) var1*(int32_t) var2;
85 if (L_var_out == (int32_t) 0x40000000L)
87 return L_var_out << 1;
91static __inline__ int16_t negate(int16_t var1)
93 if (var1 == INT16_MIN)
99static __inline__ int32_t L_mac(int32_t L_var3, int16_t var1, int16_t var2)
101 return L_add(L_var3, L_mult(var1, var2));
105int16_t shl(int16_t var1, int16_t var2);
106int16_t shr(int16_t var1, int16_t var2);
107int32_t L_sub(int32_t L_var1, int32_t L_var2);
108int32_t L_shl(int32_t L_var1, int16_t var2);
109int32_t L_shr(int32_t L_var1, int16_t var2);
110int16_t norm_s(int16_t var1);
111int16_t div_s(int16_t var1, int16_t var2);
112int16_t norm_l(int32_t L_var1);