home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / languages / obrn-a_1.5_lib.lha / oberon-a / source2.lha / source / amiga / MathTrans.mod < prev    next >
Encoding:
Text File  |  1995-01-26  |  2.6 KB  |  121 lines

  1. (**************************************************************************
  2.  
  3.      $RCSfile: MathTrans.mod $
  4.   Description: Interface to mathtrans.library
  5.  
  6.    Created by: fjc (Frank Copeland)
  7.     $Revision: 3.7 $
  8.       $Author: fjc $
  9.         $Date: 1995/01/26 02:39:55 $
  10.  
  11.   $VER: mathtrans_protos.h 1.2 (7.11.90)
  12.   Includes Release 40.15
  13.  
  14.   (C) Copyright 1985-1993 Commodore-Amiga, Inc.
  15.       All Rights Reserved
  16.  
  17.   Oberon-A interface Copyright © 1994-1995, Frank Copeland.
  18.   This file is part of the Oberon-A Interface.
  19.   See Oberon-A.doc for conditions of use and distribution.
  20.  
  21. ***************************************************************************)
  22.  
  23. <* STANDARD- *> <* INITIALISE- *> <* MAIN- *>
  24.  
  25. MODULE [2] MathTrans;
  26.  
  27. <*$ CaseChk-  IndexChk- LongVars+ NilChk-  *>
  28. <*$ RangeChk- StackChk- TypeChk-  OvflChk- *>
  29.  
  30. IMPORT SYS := SYSTEM, Kernel, e := Exec;
  31.  
  32.  
  33. (*-- Library Base variable --------------------------------------------*)
  34.  
  35. CONST
  36.  
  37.   MathTransName * = "mathtrans.library";
  38.  
  39. VAR
  40.  
  41.   base *  : e.LibraryPtr;
  42.  
  43.  
  44. (*-- Library Functions ------------------------------------------------*)
  45.  
  46.  
  47. PROCEDURE Atan* [base,-30]
  48.   ( parm [0] : REAL )
  49.   : REAL;
  50. PROCEDURE Sin* [base,-36]
  51.   ( parm [0] : REAL )
  52.   : REAL;
  53. PROCEDURE Cos* [base,-42]
  54.   ( parm [0] : REAL )
  55.   : REAL;
  56. PROCEDURE Tan* [base,-48]
  57.   ( parm [0] : REAL )
  58.   : REAL;
  59. PROCEDURE Sincos* [base,-54]
  60.   ( VAR cosResult [1] : REAL;
  61.     parm          [0] : REAL )
  62.   : REAL;
  63. PROCEDURE Sinh* [base,-60]
  64.   ( parm [0] : REAL )
  65.   : REAL;
  66. PROCEDURE Cosh* [base,-66]
  67.   ( parm [0] : REAL )
  68.   : REAL;
  69. PROCEDURE Tanh* [base,-72]
  70.   ( parm [0] : REAL )
  71.   : REAL;
  72. PROCEDURE Exp* [base,-78]
  73.   ( parm [0] : REAL )
  74.   : REAL;
  75. PROCEDURE Log* [base,-84]
  76.   ( parm [0] : REAL )
  77.   : REAL;
  78. PROCEDURE Pow* [base,-90]
  79.   ( power [1] : REAL;
  80.     parm  [0] : REAL )
  81.   : REAL;
  82. PROCEDURE Sqrt* [base,-96]
  83.   ( parm [0] : REAL )
  84.   : REAL;
  85. PROCEDURE Tieee* [base,-102]
  86.   ( parm [0] : REAL )
  87.   : e.SINGLE;
  88. PROCEDURE Fieee* [base,-108]
  89.   ( parm [0] : e.SINGLE )
  90.   : REAL;
  91.  
  92. (* --- functions in V31 or higher (distributed as Release 1.1) ---*)
  93.  
  94. PROCEDURE Asin* [base,-114]
  95.   ( parm [0] : REAL )
  96.   : REAL;
  97. PROCEDURE Acos* [base,-120]
  98.   ( parm [0] : REAL )
  99.   : REAL;
  100. PROCEDURE Log10* [base,-126]
  101.   ( parm [0] : REAL )
  102.   : REAL;
  103.  
  104.  
  105. (*-- Library Base variable --------------------------------------------*)
  106.  
  107. <*$LongVars-*>
  108.  
  109. (*-----------------------------------*)
  110. PROCEDURE* [0] CloseLib (VAR rc : LONGINT);
  111.  
  112. BEGIN (* CloseLib *)
  113.   IF base # NIL THEN e.CloseLibrary (base) END;
  114. END CloseLib;
  115.  
  116. BEGIN
  117.   base := e.OpenLibrary (MathTransName, e.libraryMinimum);
  118.   IF base = NIL THEN HALT (100) END;
  119.   Kernel.SetCleanup (CloseLib)
  120. END MathTrans.
  121.