home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD2.bin
/
bbs
/
dev
/
oberon-a-1.4ß.lha
/
Oberon-A
/
source
/
amiga
/
MathIEEEDoubTrans.mod
< prev
next >
Wrap
Text File
|
1994-08-08
|
4KB
|
178 lines
(**************************************************************************
$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.