home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / OB3.2D3.DMS / in.adf / Interfaces / MathIEEESingBas.mod < prev    next >
Encoding:
Text File  |  1992-12-17  |  2.1 KB  |  72 lines

  1. (*-------------------------------------------------------------------------*)
  2. (*                                                                         *)
  3. (*  Amiga Oberon Interface Module:                    Date: 02-Nov-92      *)
  4. (*                                                                         *)
  5. (*   © 1992 by Fridtjof Siebert                                            *)
  6. (*                                                                         *)
  7. (*-------------------------------------------------------------------------*)
  8.  
  9. MODULE MathIEEESingBas;
  10.  
  11. IMPORT E    := Exec,
  12.        I    := Intuition,
  13.        ml * := MathLibrary,
  14.        sys  := SYSTEM;
  15.  
  16. CONST
  17.  
  18.   pi      * = 040490FDAH;
  19.  
  20.   twoPi   * = 040C90FDAH;
  21.   pi2     * = 03FC90FDAH;
  22.   pi4     * = 03F490FDAH;
  23.  
  24.   e       * = 0402DF854H;
  25.  
  26.   log10   * = 040135D8DH;
  27.   fpTen   * = 041200000H;
  28.   fpOne   * = 03F800000H;
  29.   fpHalf  * = 03F000000H;
  30.   fpZero  * = 000000000H;
  31.  
  32.   mathIEEESingBasName * = "mathieeesingbas.library";
  33.  
  34. VAR
  35.  
  36.   base * : ml.MathIEEEBasePtr;
  37.  
  38.  
  39. PROCEDURE Fix*  {base,- 30}(x{0} : E.SINGLE ): LONGINT;
  40. PROCEDURE Flt*  {base,- 36}(x{0} : LONGINT  ): E.SINGLE;
  41. PROCEDURE Cmp*  {base,- 42}(x{0} : E.SINGLE;
  42.                             y{1} : E.SINGLE ): LONGINT;
  43. PROCEDURE Tst*  {base,- 48}(x{0} : E.SINGLE ): LONGINT;
  44. PROCEDURE Abs*  {base,- 54}(x{0} : E.SINGLE ): E.SINGLE;
  45. PROCEDURE Neg*  {base,- 60}(x{0} : E.SINGLE ): E.SINGLE;
  46. PROCEDURE Add*  {base,- 66}(x{0} : E.SINGLE;
  47.                             y{1} : E.SINGLE ): E.SINGLE;
  48. PROCEDURE Sub*  {base,- 72}(x{0} : E.SINGLE;
  49.                             y{1} : E.SINGLE ): E.SINGLE;
  50. PROCEDURE Mul*  {base,- 78}(x{0} : E.SINGLE;
  51.                             y{1} : E.SINGLE ): E.SINGLE;
  52. PROCEDURE Div*  {base,- 84}(x{0} : E.SINGLE;
  53.                             y{1} : E.SINGLE ): E.SINGLE;
  54. PROCEDURE Floor*{base,- 90}(x{0} : E.SINGLE ): E.SINGLE;
  55. PROCEDURE Ceil* {base,- 96}(x{0} : E.SINGLE ): LONGREAL;
  56.  
  57.  
  58. (* $OvflChk- $RangeChk- $StackChk- $NilChk- $ReturnChk- $CaseChk- *)
  59.  
  60.  
  61. BEGIN
  62.  
  63.   base := E.OpenLibrary(mathIEEESingBasName,37);
  64.  
  65. CLOSE
  66.  
  67.   IF base#NIL THEN E.CloseLibrary(base) END;
  68.  
  69. END MathIEEESingBas.
  70.  
  71.  
  72.