home *** CD-ROM | disk | FTP | other *** search
- ------------------------------------------------------------------------------
- -- --
- -- GNAT RUNTIME COMPONENTS --
- -- --
- -- A D A . N U M E R I C S . D I S C R E T E _ R A N D O M --
- -- --
- -- S p e c --
- -- --
- -- $Revision: 1.6 $ --
- -- --
- -- This specification is adapted from the Ada Reference Manual for use with --
- -- GNAT. In accordance with the copyright of that document, you can freely --
- -- copy and modify this specification, provided that if you redistribute a --
- -- modified version, any changes that you have made are clearly indicated. --
- -- --
- ------------------------------------------------------------------------------
-
- generic
- type Result_Subtype is (<>);
- package Ada.Numerics.Discrete_Random is
-
- -- Basic facilities.
-
- type Generator is limited private;
-
- function Random (Gen : Generator) return Result_Subtype;
-
- procedure Reset (Gen : Generator);
- procedure Reset (Gen : Generator; Initiator : Integer);
-
- -- Advanced facilities.
-
- type State is private;
-
- procedure Save (Gen : Generator; To_State : out State);
- procedure Reset (Gen : Generator; From_State : State);
-
- Max_Image_Width : constant := 80;
-
- function Image (Of_State : State) return String;
- function Value (Coded_State : String) return State;
-
- private
-
- type Int_32 is range -2 ** 31 .. 2 ** 31 - 1;
-
- type Floating is digits 14;
-
- type State is record
- X1, X2, P, Q : Int_32;
- FP, Scale, Offset : Floating;
- end record;
-
- type Pointer is access State;
-
- function Create return Pointer;
-
- type Generator is record
- Point : Pointer := Create;
- end record;
-
- end Ada.Numerics.Discrete_Random;
-