ГОСТ
Р
53556.12-2014
int srfftlndex(int l) (
return srfftIndexTablel(srjftIndexTahlell»AJ«4)\(l&0xF)};
I
Обработка прямого н инверсного целочисленного
Mid/Side:
void In tMidSideIN
732
(INT32
• 1.
IN732* r)
/"
UR
->
M/S
V
(
m -
*1;
s = *r:
m += inuhSliiftRoundlN732(-sineData csfSINE DATA S1ZE/2J. s. SHIFT);
s
+=
multShiftRoundlNT32( sineDataTsiNE_DATAJSIZE/2J,m. SHIFT);
in
+=
multShiftRoundINTi2(-sineData_cs[SlNE_DATA_SIZE/2], s, SHIFT):
*1
=
s;
*r
=
in;
void In verseIniMidSideINTi2(INT$2
• 1. /Л’732*
r)
/* Л/Л ->
UR
V
/
m -
*1;
.v= "r;
-v
-=
midtShiftRoundlNTi2(-sineData csfSINE DATA SIZE/2], m. SHIFT):
m
-=
muItShiftRound!N732( sineDataTsiNEJDATA_S1ZE/2J,s. SHIFT):
s
-=
muhShifiRoundINTi2(-sineData_cslSINE_DATA_SIZE/2). m, SHIFT).
*1
=
s;
*r - in;
I
5.11В ы числение табличны х значении на основе ком п актн ы х таблиц
Значения таблиц
sineData, sineData_cs, thrMantissa ()
и
invQuantManlissa ()
вычисляются
из компактных таблиц в Приложении Б. Это описывается в следующем псевдокоде:
/*
interpolate value between
v0 =
datafO] and
v8 =
datal&j,
using additionally
w»8 =
dataf-
8/
and
vl6 =
data{\6J
*/
1
IN132 interpolateValue tol(INT22 vmS,
INT32
vO.
INT32
v8.
53