34 void Gsm_Preprocess P3((S, s, so),
40 longword L_z2 = S->L_z2;
54 SO = SASR( *s, 1 ) & ~3;
57 assert (SO >= -0x4000);
58 assert (SO <= 0x3FFC);
74 assert(s1 != MIN_WORD);
94 msp = (word)SASR( L_z2, 15 );
95 lsp = (word)(L_z2 & 0x7fff);
97 L_s2 += GSM_MULT_R( lsp, 32735 );
98 L_temp = (longword)msp * 32735;
99 L_z2 = GSM_L_ADD( L_temp, L_s2 );
102 L_z2 = ((
long long)L_z2*32735 + 0x4000)>>15;
109 L_z2 = GSM_L_ADD(L_z2,L_s2);
113 L_temp = GSM_L_ADD( L_z2, 16384 );
118 msp = (word)GSM_MULT_R( mp, -28180 );
119 mp = (word)SASR( L_temp, 15 );
120 *so++ = GSM_ADD( mp, msp );