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

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