Пример #1
0
stBigNum multiply(stBigNum tNumX, stBigNum tNumY){
	stBigNum tResult;
	clean_number(&tResult);
	while(!equal_zero(&tNumX)){
		if(odd(tNumX.aiBlock[0])){
			tResult = add(tResult, tNumY);
		}
		shift_r(&tNumX);
		shift_l(&tNumY);
	}
	return (tResult);
}
Пример #2
0
Файл: mod.c Проект: bigrpg/evrcc
void mod(INT16 *residualm,
		 INT16 *accshift,
		 INT16 beta,
		 INT16 shiftr,
		 INT16 resolution,
		 INT16 *exctation,
		 INT16 *Dresidual,
		 INT16 *residual,
		 INT16 guard,
		 INT16 *dpm,
		 INT32 delay,
		 INT16 subframel,
		 INT16 extra)
{
	INT16 shiftr2;
	INT16 sfstart, sfend;
	INT16 Shift;
	INT16 picktoav;

	while (*dpm < subframel)
	{

		cshiftframe(&sfstart, &sfend, &shiftr2, *dpm, residual, guard, shift_r(*accshift, -8), shiftr, delay, subframel, extra);

		PickToAverage(&picktoav, residual + sfstart - shr(*accshift, 8), sfend - sfstart);

		if (picktoav < 16)
		{
			shiftr2 = 0;
		}
		Shift = *accshift;

		modifyorig(residualm, accshift, beta, dpm, shiftr2, resolution, Dresidual, residual, sfstart, sfend);

	}
	*dpm -= subframel;
}