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