home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / math / ultra101 / ultratpu.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1992-03-23  |  1.8 KB  |  56 lines

  1. {$IFNDEF i32}  unit ultra;
  2. {$ELSE}        unit ultra32;
  3. {$ENDIF}
  4.  
  5. interface
  6.  
  7. Function i32bit : LongInt;
  8. Function i31bit : LongInt;
  9. Function i16bit : Integer;    { You can declare this to be Word }
  10. Function i15bit : Integer;
  11. Function i8bit  : ShortInt;    { You can declare this to be Byte }
  12. Function i7bit  : ShortInt;
  13. Function i1bit  : Boolean;
  14. Function uni    : Single;
  15. Function vni    : Single;
  16. Function duni   : Double;
  17. Function dvni   : Double;
  18. Procedure rinit(x,y : LongInt);
  19.  
  20. implementation
  21.  
  22. var swbx,x : Array [0..36] of LongInt;
  23. const
  24.      swbn : Integer = 0;          { Number of fresh bytes remaining in swbx. }
  25.      bits : Byte = 0;             { Eight bits to be fed out one at a time by i1bit.}
  26.      nbits : Byte = 0;            { Number of fresh bits remaining in bits.}
  27.      flags : Byte = 0;            { The state of the carry flag for the SWB generator.}
  28.      congx : LongInt = $E8072C6C; { Congruential generator seed }
  29. {$IFNDEF i32}
  30.      shrgx : LongInt = 0;         { Shift Register seed }
  31. {$ENDIF}
  32.      seven   : Integer =   7;     { The 8087 can't load immediate values.}
  33.      scale31 : Integer = -31;     { these are some values we need to scale integers}
  34.      scale63 : Integer = -63;     { into floating point numbers.}
  35.  
  36. Function i32bit : LongInt;   external;
  37. Function i31bit : LongInt;   external;
  38. Function i16bit : Integer;   external;
  39. Function i15bit : Integer;   external;
  40. Function i8bit  : ShortInt;  external;
  41. Function i7bit  : ShortInt;  external;
  42. Function i1bit  : Boolean;   external;
  43. Function uni    : Single;    external;
  44. Function vni    : Single;    external;
  45. Function duni   : Double;    external;
  46. Function dvni   : Double;    external;
  47. Procedure rinit(x,y : LongInt);  external;
  48.  
  49. {$IFNDEF i32}  {$L ultra_tp.obj}
  50. {$ELSE}        {$L ult32_tp.obj}
  51. {$ENDIF}
  52.  
  53. begin
  54.   rinit(1234567,7654321);
  55. end.
  56.