home *** CD-ROM | disk | FTP | other *** search
- (**************************************************************************
-
- $RCSfile: MathIEEEDoubTrans.mod $
- Description: Interface to mathieeedoubtrans.library
-
- Created by: fjc (Frank Copeland)
- $Revision: 3.2 $
- $Author: fjc $
- $Date: 1994/08/08 00:42:24 $
-
- Includes Release 40.15
-
- (C) Copyright 1985-1993 Commodore-Amiga, Inc.
- All Rights Reserved
-
- Oberon-A interface Copyright © 1994, Frank Copeland.
- This file is part of the Oberon-A Interface.
- See Oberon-A.doc for conditions of use and distribution.
-
- ***************************************************************************)
-
- MODULE MathIEEEDoubTrans;
-
- (*
-
- This module is not defined. This is because the compiler cannot yet
- handle the LONGREAL as an 8-byte IEEE double-precision real.
- Patience.
-
- *)
-
- (*
- (*
- ** $C- CaseChk $I- IndexChk $L+ LongAdr $N- NilChk
- ** $P- PortableCode $R- RangeChk $S- StackChk $T- TypeChk
- ** $V- OvflChk $Z- ZeroVars
- *)
-
- IMPORT SYS := SYSTEM, E := Exec, M := MathLibrary;
-
-
- (*-- MathIEEEDoubTrans Base variable --------------------------------------*)
-
- TYPE
-
- MathIEEEDoubTransBasePtr * = CPOINTER TO MathIEEEDoubTransBase;
- MathIEEEDoubTransBase * = RECORD (M.MathIEEEBase) END;
-
- CONST
-
- Name * = "mathieeedoubtrans.library";
- mathIEEEDoubTransName * = Name;
-
- VAR
-
- Base * : MathIEEEDoubTransBasePtr;
-
-
- (*-- Library Functions ------------------------------------------------*)
-
- LIBCALL (base : MathIEEEDoubTransBasePtr) Atan *
- ( parm [0] : E.DOUBLE )
- : E.DOUBLE;
- - 30;
-
- LIBCALL (base : MathIEEEDoubTransBasePtr) Sin *
- ( parm [0] : E.DOUBLE )
- : E.DOUBLE;
- - 36;
-
- LIBCALL (base : MathIEEEDoubTransBasePtr) Cos *
- ( parm [0] : E.DOUBLE )
- : E.DOUBLE;
- - 42;
-
- LIBCALL (base : MathIEEEDoubTransBasePtr) Tan *
- ( parm [0] : E.DOUBLE )
- : E.DOUBLE;
- - 48;
-
- LIBCALL (base : MathIEEEDoubTransBasePtr) Sincos*
- ( VAR cos[8] : E.DOUBLE;
- parm [0] : E.DOUBLE )
- : E.DOUBLE;
- - 54;
-
- LIBCALL (base : MathIEEEDoubTransBasePtr) Sinh *
- ( parm [0] : E.DOUBLE )
- : E.DOUBLE;
- - 60;
-
- LIBCALL (base : MathIEEEDoubTransBasePtr) Cosh *
- ( parm [0] : E.DOUBLE )
- : E.DOUBLE;
- - 66;
-
- LIBCALL (base : MathIEEEDoubTransBasePtr) Tanh *
- ( parm [0] : E.DOUBLE )
- : E.DOUBLE;
- - 72;
-
- LIBCALL (base : MathIEEEDoubTransBasePtr) Exp *
- ( parm [0] : E.DOUBLE )
- : E.DOUBLE;
- - 78;
-
- LIBCALL (base : MathIEEEDoubTransBasePtr) Log *
- ( parm [0] : E.DOUBLE )
- : E.DOUBLE;
- - 84;
-
- LIBCALL (base : MathIEEEDoubTransBasePtr) Pow *
- ( exp [1] : E.DOUBLE;
- parm [0] : E.DOUBLE )
- : E.DOUBLE;
- - 90;
-
- LIBCALL (base : MathIEEEDoubTransBasePtr) Sqrt *
- ( parm [0] : E.DOUBLE )
- : E.DOUBLE;
- - 96;
-
- LIBCALL (base : MathIEEEDoubTransBasePtr) Tieee *
- ( parm [0] : E.DOUBLE )
- : E.SINGLE;
- - 102;
-
- LIBCALL (base : MathIEEEDoubTransBasePtr) Fieee *
- ( parm [0] : E.SINGLE )
- : E.DOUBLE;
- - 108;
-
- LIBCALL (base : MathIEEEDoubTransBasePtr) Asin *
- ( parm [0] : E.DOUBLE )
- : E.DOUBLE;
- - 114;
-
- LIBCALL (base : MathIEEEDoubTransBasePtr) Acos *
- ( parm [0] : E.DOUBLE )
- : E.DOUBLE;
- - 120;
-
- LIBCALL (base : MathIEEEDoubTransBasePtr) Log10 *
- ( parm [0] : E.DOUBLE )
- : E.DOUBLE;
- - 126;
-
- (*-- Library Base variable --------------------------------------------*)
- (* $L- Address globals through A4 *)
-
-
- (*-----------------------------------*)
- PROCEDURE* CloseLib ();
-
- BEGIN (* CloseLib *)
- IF Base # NIL THEN E.Base.CloseLibrary (Base) END
- END CloseLib;
-
- (*-----------------------------------*)
- PROCEDURE OpenLib * ();
-
- BEGIN (* OpenLib *)
- IF Base = NIL THEN
- Base :=
- SYS.VAL
- ( MathIEEEDoubTransBasePtr,
- E.Base.OpenLibrary (Name, E.libraryMinimum) );
- IF Base = NIL THEN HALT (100) END;
- SYS.SETCLEANUP (CloseLib)
- END;
- END OpenLib;
-
-
- BEGIN
- Base := NIL
- *)
- END MathIEEEDoubTrans.
-