[P&AM Lab] Постановка задачи по KML

Grigoriy A. Sitkarev sitkarev на komitex.ru
Пн Мар 7 13:16:29 MSK 2011


Заметили опечатки.

Исправленный псевдо-код и портянка со схемой.

8<-------------------------------------------------------------------------

function
kmul_basic(xy [out], x1 [in], y1 [in], x0 [in], y0 [in], n [in])
{
	temp z0, z1, z2;
	m = n / 2;

	z2 = x1 * y1;
	z0 = x0 * y0;
	z1 = (x1 + x0)*(y1 + y0) - z2 - z0;

	shift_left(z2, 2*m);
	shift_left(z1, m);
	xy = add3(z0, z1, z2);
}

function
kmul_recursive(xy [out], x1 [in], y1 [in], x0 [in], y0 [in], n [in])
{
	temp z0, z1, z2;
	m = n / 2;
	
	if (m <= basic_size) {
		kmul_basic(z2, x1+m, y1+m, x1, y1, m);
		kmul_basic(z0, x0+m, y0+m, x0, y0, m);
	} else {
		kmul_recursive(z2, x1+m, y1+m, x1, y1, m);
		kmul_recursive(z0, x0+m, y0+m, x0, y0, m);
	}

	z2 = x1 * y1;
	z0 = x0 * y0;
	z1 = (x1 + x0)*(y1 + y0) - z2 - z0;
	
	shift_left(z2, 2*m);
	shift_left(z1, m);
	xy = add3(z0, z1, z2);
}

8<-------------------------------------------------------------------------

>
> Жду комментариев и поправок. Я мог что-то упустить из виду.
>
> --
> Г.А.

----------- следущая часть -----------
A non-text attachment was scrubbed...
Name: kml.ps.gz
Type: application/x-gzip
Size: 50771 bytes
Desc: отсутствует
URL: <http://amplab.syktsu.ru/pipermail/lab/attachments/20110307/9188164f/attachment.bin>


Подробная информация о списке рассылки Lab