(*-------------------------------------------------------------------------*)
(*                                                                         *)
(*  Amiga Oberon Interface Module:                    Date: 02-Nov-92      *)
(*                                                                         *)
(*   © 1992 by Fridtjof Siebert                                            *)
(*                                                                         *)
(*-------------------------------------------------------------------------*)

MODULE MathIEEESingBas;

IMPORT E    := Exec,
       I    := Intuition,
       ml * := MathLibrary,
       sys  := SYSTEM;

CONST

  pi      * = 040490FDAH;

  twoPi   * = 040C90FDAH;
  pi2     * = 03FC90FDAH;
  pi4     * = 03F490FDAH;

  e       * = 0402DF854H;

  log10   * = 040135D8DH;
  fpTen   * = 041200000H;
  fpOne   * = 03F800000H;
  fpHalf  * = 03F000000H;
  fpZero  * = 000000000H;

  mathIEEESingBasName * = "mathieeesingbas.library";

VAR

  base * : ml.MathIEEEBasePtr;


PROCEDURE Fix*  {base,- 30}(x{0} : E.SINGLE ): LONGINT;
PROCEDURE Flt*  {base,- 36}(x{0} : LONGINT  ): E.SINGLE;
PROCEDURE Cmp*  {base,- 42}(x{0} : E.SINGLE;
                            y{1} : E.SINGLE ): LONGINT;
PROCEDURE Tst*  {base,- 48}(x{0} : E.SINGLE ): LONGINT;
PROCEDURE Abs*  {base,- 54}(x{0} : E.SINGLE ): E.SINGLE;
PROCEDURE Neg*  {base,- 60}(x{0} : E.SINGLE ): E.SINGLE;
PROCEDURE Add*  {base,- 66}(x{0} : E.SINGLE;
                            y{1} : E.SINGLE ): E.SINGLE;
PROCEDURE Sub*  {base,- 72}(x{0} : E.SINGLE;
                            y{1} : E.SINGLE ): E.SINGLE;
PROCEDURE Mul*  {base,- 78}(x{0} : E.SINGLE;
                            y{1} : E.SINGLE ): E.SINGLE;
PROCEDURE Div*  {base,- 84}(x{0} : E.SINGLE;
                            y{1} : E.SINGLE ): E.SINGLE;
PROCEDURE Floor*{base,- 90}(x{0} : E.SINGLE ): E.SINGLE;
PROCEDURE Ceil* {base,- 96}(x{0} : E.SINGLE ): LONGREAL;


(* $OvflChk- $RangeChk- $StackChk- $NilChk- $ReturnChk- $CaseChk- *)


BEGIN

  base := E.OpenLibrary(mathIEEESingBasName,37);

CLOSE

  IF base#NIL THEN E.CloseLibrary(base) END;

END MathIEEESingBas.


