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 / MathIEEESingBas.mod < prev    next >
Encoding:
Text File  |  1995-01-26  |  2.8 KB  |  136 lines

  1. (**************************************************************************
  2.  
  3.      $RCSfile: MathIEEESingBas.mod $
  4.   Description: Interface to mathieeesingbas.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.   Includes Release 40.15
  12.  
  13.   (C) Copyright 1985-1993 Commodore-Amiga, Inc.
  14.       All Rights Reserved
  15.  
  16.   Oberon-A interface Copyright © 1994-1995, Frank Copeland.
  17.   This file is part of the Oberon-A Interface.
  18.   See Oberon-A.doc for conditions of use and distribution.
  19.  
  20. ***************************************************************************)
  21.  
  22. <* STANDARD- *> <* INITIALISE- *> <* MAIN- *>
  23. <*$ CaseChk-  IndexChk- LongVars+ NilChk-  *>
  24. <*$ RangeChk- StackChk- TypeChk-  OvflChk- *>
  25.  
  26. MODULE [2] MathIEEESingBas;
  27.  
  28. IMPORT SYS := SYSTEM, Kernel, x := Exec, m := MathLibrary;
  29.  
  30. CONST
  31.  
  32.   pi *       = 3.141592653589793;
  33.   twoPi *    = 6.283185307179586; (* Pi * 2.0 *)
  34.   pi2 *      = 1.570796326794696; (* Pi / 2.0 *)
  35.   pi4 *      = 0.785398163397448; (* Pi / 4.0 *)
  36.   e *        = 2.718281828459045;
  37.   log10 *    = 2.302585092994046;
  38.  
  39.   fpTen *    = 10.0;
  40.   fpOne *    = 1.0;
  41.   fpHalf *   = 0.5;
  42.   fpZero *   = 0.0;
  43.  
  44. (*
  45. **      $VER: mathieeesp.h 1.1 (13.7.90)
  46. *)
  47.  
  48. (*-- MathIEEESingBas Base variable --------------------------------------*)
  49.  
  50. CONST
  51.  
  52.   mathIEEESingBasName * = "mathieeesingbas.library";
  53.  
  54. VAR
  55.  
  56.   base * : m.MathIEEEBasePtr;
  57.  
  58.  
  59. (*-- Library Functions ------------------------------------------------*)
  60.  
  61. (*
  62. **      $VER: mathieeesingbas_protos.h 1.3 (7.11.90)
  63. *)
  64.  
  65. PROCEDURE Fix* [base,-30]
  66.   ( parm [0] : REAL )
  67.   : LONGINT;
  68.  
  69. PROCEDURE Flt* [base,-36]
  70.   ( integer [0] : LONGINT  )
  71.   : REAL;
  72.  
  73. PROCEDURE Cmp* [base,-42]
  74.   ( leftParm  [0] : REAL;
  75.     rightParm [1] : REAL )
  76.   : LONGINT;
  77.  
  78. PROCEDURE Tst* [base,-48]
  79.   ( parm [0] : REAL )
  80.   : LONGINT;
  81.  
  82. PROCEDURE Abs* [base,-54]
  83.   ( parm [0] : REAL )
  84.   : REAL;
  85.  
  86. PROCEDURE Neg* [base,-60]
  87.   ( parm [0] : REAL )
  88.   : REAL;
  89.  
  90. PROCEDURE Add* [base,-66]
  91.   ( leftParm  [0] : REAL;
  92.     rightParm [1] : REAL )
  93.   : REAL;
  94.  
  95. PROCEDURE Sub* [base,-72]
  96.   ( leftParm  [0] : REAL;
  97.     rightParm [1] : REAL )
  98.   : REAL;
  99.  
  100. PROCEDURE Mul* [base,-78]
  101.   ( leftParm  [0] : REAL;
  102.     rightParm [1] : REAL )
  103.   : REAL;
  104.  
  105. PROCEDURE Div* [base,-84]
  106.   ( dividend [0] : REAL;
  107.     divisor  [1] : REAL )
  108.   : REAL;
  109.  
  110. PROCEDURE Floor* [base,-90]
  111.   ( parm [0] : REAL )
  112.   : REAL;
  113.  
  114. PROCEDURE Ceil* [base,-96]
  115.   ( parm [0] : REAL )
  116.   : REAL;
  117.  
  118.  
  119. (*-- Library Base variable --------------------------------------------*)
  120.  
  121. <*$LongVars-*>
  122.  
  123. (*-----------------------------------*)
  124. PROCEDURE* [0] CloseLib (VAR rc : LONGINT);
  125.  
  126. BEGIN (* CloseLib *)
  127.   IF base # NIL THEN x.CloseLibrary (base) END;
  128. END CloseLib;
  129.  
  130. BEGIN
  131.   base := SYS.VAL (m.MathIEEEBasePtr,
  132.                    x.OpenLibrary (mathIEEESingBasName, x.libraryMinimum));
  133.   IF base = NIL THEN HALT (100) END;
  134.   Kernel.SetCleanup (CloseLib)
  135. END MathIEEESingBas.
  136.