INTERFACERandomRep ;
Arithmetic for Modula-3, see doc for detailsAbstract: Private interface to RandomBasic Used to put object wrapper on RNG's.
3/23/96 Harry George Initial version
IMPORT LongRealBasic AS R; FROM RandomBasic IMPORT T, TPublic; FROM Arithmetic IMPORT Error; REVEAL T <: TPrivate; TYPE TPrivate = TPublic BRANDED OBJECT END; PROCEDURE Uniform (SELF: T; min : R.T := R.Zero; (* from min *) max : R.T := R.One; (* up to but not including max *) ): R.T RAISES {Error}; (* return uniform deviate *) PROCEDURE Exponential (SELF: T; ): R.T; PROCEDURE NormalDev (SELF: T; ): R.T; PROCEDURE GammaDev (SELF: T; a: R.T; ): R.T; PROCEDURE Dirichlet (SELF: T; p: R.Array; );
PROCEDURE Poisson(SELF:T; m:R.T ; (* mean
):R.T; *) PROCEDURE Binomial (SELF: T; p: R.T; n: CARDINAL; ): CARDINAL; END RandomRep.