-
+ 13FEAFDFAFEB27C76E393CE5A2A7FAC89360DCCDFDADE355CB248D66FE7B6BE202F71311136A09E729271D468D2DFDA6C2D4445C70C03A584E26FE53C458EAF0
ffa/libffa/fz_mul.ads
(0 . 0)(1 . 36)
429 ------------------------------------------------------------------------------
430 ------------------------------------------------------------------------------
431 -- This file is part of 'Finite Field Arithmetic', aka 'FFA'. --
432 -- --
433 -- (C) 2017 Stanislav Datskovskiy ( www.loper-os.org ) --
434 -- http://wot.deedbot.org/17215D118B7239507FAFED98B98228A001ABFFC7.html --
435 -- --
436 -- You do not have, nor can you ever acquire the right to use, copy or --
437 -- distribute this software ; Should you use this software for any purpose, --
438 -- or copy and distribute it to anyone or in any manner, you are breaking --
439 -- the laws of whatever soi-disant jurisdiction, and you promise to --
440 -- continue doing so for the indefinite future. In any case, please --
441 -- always : read and understand any software ; verify any PGP signatures --
442 -- that you use - for any purpose. --
443 -- --
444 -- See also http://trilema.com/2015/a-new-software-licensing-paradigm . --
445 ------------------------------------------------------------------------------
446 ------------------------------------------------------------------------------
447
448 with FZ_Type; use FZ_Type;
449
450
451 package FZ_Mul is
452
453 pragma Pure;
454
455 -- 'Egyptological' multiplier. XY_Lo and XY_Hi hold result of X*Y.
456 procedure FZ_Mul_Egyptian(X : in FZ;
457 Y : in FZ;
458 XY_Lo : out FZ;
459 XY_Hi : out FZ);
460 pragma Precondition(X'Length = Y'Length and
461 XY_Lo'Length = XY_Hi'Length and
462 XY_Lo'Length = ((X'Length + Y'Length) / 2));
463
464 end FZ_Mul;