ГОСТ Р 56047—2014
return out;
}
double
ModDiff1(struct moddiffout in. struct moddiffm ‘intmp. int n)
{
int i;
intmp->mod[intmp->Lcount] = in.ModDiffl;
intmp->Lcount++;
if(intmp->Lcount == L)
intmp->Lcount = 0;
if(n < L)
return 0;
intmp->modtmp = 0;
for(i=0;i<L;t+-t-)
intmp->modtmp += sqrt((double)intmp->nx)d[i]);
intmp->modtmp /= (double)L;
intmp->win += p(intmp->modtmp. 4.0);
return sqrt((double)intmp->\virv’{doubleXn-L+1.0));
}
double
ModDiff2(struct moddiffout in. struct moddiffm ‘intmp)
{
intmp->num2 += in.ModDiffl * in.TempWt;
intmp->denom2 += in.TempWt;
return (intmp->num2/intmp->denom2).
}
double
ModDiff3(struct moddiffout in. struct moddiffm ‘intmp)
{
intmp->num3 += in.ModDiff2 * in.TempWt;
intmp->denom3 += in.TempWt;
return (intmp->num3/intmp->denom3);
}
Файл: modulation.h
«define T100 0.05
«define Tmin 0.008
struct modulationin {
double Edertmp[BARK];
double E2tmp{BARK):
double Etildetmp[BARK);
}:
Г Function prototypes */
int modulation(doubte *. int. struct modulationin \ double *);
Г Prototypes end 7
Файл: modulation.c
«include <stdlib.h>
«include <assert.h>
«include <math.h>
«include <common.h>
«include <modulation.h>
extern int bark;
80