

DEFINITION MODULE RAND1;

FROM RAND IMPORT Gen;

TYPE
   DiscreteDist;


PROCEDURE DiscreteUniform
   ( N1, N2 : LONGINT;
     g : Gen
   ): LONGINT;


PROCEDURE CreateDiscreteDist
   ( VAR D    : DiscreteDist;
     n        : CARDINAL;
     VAR V, F : ARRAY OF LONGREAL
   );


PROCEDURE Discrete
   ( D : DiscreteDist;
     g : Gen
   ): LONGREAL;


PROCEDURE Uniform
   ( A, B : LONGREAL;
     g    : Gen
   ) : LONGREAL;


PROCEDURE Normal
   ( Mean : LONGREAL;         (* Moyenne.                      *)
     StdDeviation : LONGREAL; (* Ecart-type                    *)
     g : Gen              (* Numero du generateur utilise. *)
   ): LONGREAL;


PROCEDURE InvNormalDist
   ( U : LONGREAL
   ) : LONGREAL;


PROCEDURE Student
   ( DegFreedom : LONGINT; (* Nombre de degres de liberte   *)
     g : Gen               (* Numero du generateur utilise. *)
   ): LONGREAL;


PROCEDURE InvStudentDist
   ( n : LONGINT;
     u : LONGREAL
   ) : LONGREAL;


PROCEDURE Expon
   ( Mean : LONGREAL;         (* Moyenne.                      *)
     g    : Gen           (* Numero du generateur utilise. *)
   ) : LONGREAL;


PROCEDURE Weibull
   ( Alpha  : LONGREAL;       (* Parametre de forme.           *)
     Lambda : LONGREAL;       (* Parametre d'echelle.          *)
     g : Gen              (* Numero du generateur utilise. *)
   ): LONGREAL;


PROCEDURE Gamma
   ( Alpha, Lambda : LONGREAL;
     g : Gen              (* Numero du generateur utilise. *)
   ): LONGREAL;


PROCEDURE Beta
   ( a, b : LONGREAL;
     g : Gen              (* Numero du generateur utilise. *)
   ): LONGREAL;


END RAND1.
