DEFINITION MODULE SUPFACT; FROM SUPINT IMPORT SuperInteger; TYPE Factors = POINTER TO InfoFactors; (* Une liste de facteurs. *) InfoFactors = RECORD Factor : SuperInteger; (* Un facteur. *) Multiplicity : LONGCARD; (* Sa multiplicite. *) Prime : BOOLEAN; (* FALSE ssi on sait qu'il est *) (* compose. *) Next : Factors (* Liste des facteurs suivants, *) (* = NIL s'il n'y en a plus. *) END; PROCEDURE IsPrime ( A : SuperInteger; k : CARDINAL ) : BOOLEAN; PROCEDURE IsProbablyPrime ( A : SuperInteger; k : CARDINAL ) : BOOLEAN; PROCEDURE Factorize ( A : SuperInteger; T : LONGREAL; VAR L : Factors ); END SUPFACT.