comparison libgsmefr/dtx_common.c @ 191:7bc011aceb7f

libgsmefr/dtx_common.c: perf opt
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 03 Jan 2023 04:31:11 +0000
parents c1d53064b410
children
comparison
equal deleted inserted replaced
190:f387ee919f2c 191:7bc011aceb7f
171 } 171 }
172 172
173 for (k = 0; k < NB_PULSE; k++) 173 for (k = 0; k < NB_PULSE; k++)
174 { 174 {
175 i = pseudonoise (seed, 2); /* generate pulse position */ 175 i = pseudonoise (seed, 2); /* generate pulse position */
176 i = shr (extract_l (L_mult (i, 10)), 1); 176 i *= 10;
177 i = add (i, k); 177 i += k;
178 178
179 j = pseudonoise (seed, 1); /* generate sign */ 179 j = pseudonoise (seed, 1); /* generate sign */
180 180
181 test (); 181 test ();
182 if (j > 0) 182 if (j > 0)
239 else 239 else
240 { 240 {
241 Sn = Sn ^ 0; logic16 (); 241 Sn = Sn ^ 0; logic16 ();
242 } 242 }
243 243
244 noise_bits = shl (noise_bits, 1); 244 noise_bits <<= 1;
245 noise_bits = noise_bits | (extract_l (*shift_reg) & 1); 245 noise_bits |= *shift_reg & 1;
246 logic16 (); logic16 ();
247 246
248 *shift_reg = L_shr (*shift_reg, 1); move32 (); 247 *shift_reg = L_shr (*shift_reg, 1); move32 ();
249 test (); logic16 ();
250 if (Sn & 1) 248 if (Sn & 1)
251 { 249 {
252 *shift_reg = *shift_reg | 0x40000000L; move32 (); logic32 (); 250 *shift_reg = *shift_reg | 0x40000000L; move32 (); logic32 ();
253 } 251 }
254 } 252 }