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

  1. (*-------------------------------------------------------------------------*)
  2. (*                                                                         *)
  3. (*  Amiga Oberon Interface Module:                    Date: 02-Nov-92      *)
  4. (*                                                                         *)
  5. (*   © 1992 by Fridtjof Siebert                                            *)
  6. (*                                                                         *)
  7. (*-------------------------------------------------------------------------*)
  8.  
  9. MODULE MathIEEEDoubBas;
  10.  
  11. IMPORT ex   := Exec,
  12.        I    := Intuition,
  13.        ml * := MathLibrary,
  14.        sys  := SYSTEM;
  15.  
  16. CONST
  17.  
  18.   pi      * = 3.141592653589793D;
  19.  
  20.   twoPi   * = 2 * pi;
  21.   pi2     * = pi / 2;
  22.   pi4     * = pi / 4;
  23.  
  24.   e       * = 2.718281828459045D;
  25.  
  26.   log10   * = 2.302585092994046D;
  27.   fpTen   * = 10.0D;
  28.   fpOne   * = 1.0D;
  29.   fpHalf  * = 0.5D;
  30.   fpZero  * = 0.0D;
  31.  
  32.   mathIEEEDoubBasName * = "mathieeedoubbas.library";
  33.  
  34.  
  35. VAR
  36.  
  37.   base * : ml.MathIEEEBasePtr;
  38.  
  39.  
  40. PROCEDURE Fix*  {base,- 30}(x{0} : LONGREAL): LONGINT;
  41. PROCEDURE Flt*  {base,- 36}(x{0} : LONGINT ): LONGREAL;
  42. PROCEDURE Cmp*  {base,- 42}(x{0} : LONGREAL;
  43.                             y{2} : LONGREAL): LONGINT;
  44. PROCEDURE Tst*  {base,- 48}(x{0} : LONGREAL): LONGINT;
  45. PROCEDURE Abs*  {base,- 54}(x{0} : LONGREAL): LONGREAL;
  46. PROCEDURE Neg*  {base,- 60}(x{0} : LONGREAL): LONGREAL;
  47. PROCEDURE Add*  {base,- 66}(x{0} : LONGREAL;
  48.                             y{2} : LONGREAL): LONGREAL;
  49. PROCEDURE Sub*  {base,- 72}(x{0} : LONGREAL;
  50.                             y{2} : LONGREAL): LONGREAL;
  51. PROCEDURE Mul*  {base,- 78}(x{0} : LONGREAL;
  52.                             y{2} : LONGREAL): LONGREAL;
  53. PROCEDURE Div*  {base,- 84}(x{0} : LONGREAL;
  54.                             y{2} : LONGREAL): LONGREAL;
  55. PROCEDURE Floor*{base,- 90}(x{0} : LONGREAL): LONGREAL;
  56. PROCEDURE Ceil* {base,- 96}(x{0} : LONGREAL): LONGREAL;
  57.  
  58.  
  59. (* $OvflChk- $RangeChk- $StackChk- $NilChk- $ReturnChk- $CaseChk- *)
  60.  
  61.  
  62. BEGIN
  63.  
  64.   base := ex.OpenLibrary(mathIEEEDoubBasName,33);
  65.   IF base=NIL THEN
  66.     sys.SETREG(0,I.DisplayAlert(0,"\x00\x64\x14missing mathieeedoubbas.library\o\o",50));
  67.     HALT(0)
  68.   END;
  69.  
  70. CLOSE
  71.  
  72.   IF base#NIL THEN ex.CloseLibrary(base) END;
  73.  
  74. END MathIEEEDoubBas.
  75.  
  76.  
  77.  
  78.  
  79.