home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 502b.lha / PCQ_v1.2 / Include / Libraries / MathIEEEDP.i < prev    next >
Text File  |  1991-05-07  |  3KB  |  124 lines

  1. {
  2.     MathIEEEDP.i for PCQ Pascal
  3.  
  4.     Note: PCQ Pascal does not support double precision math, so the
  5.     definitions in this file would be the same as those in MathFFP.i
  6.  
  7.     The first set of routines are accessed through
  8.     MathIEEEDoubBasBase, whereas the latter set of stubs are
  9.     called through the MathIEEEDoubTransBase.
  10. }
  11.  
  12. Type
  13.  
  14. {  This declaration is meaningless except in using the routines below.
  15.    x and y will not have significant values.  If double precision
  16.    math ever becomes a part of PCQ Pascal, this will go. }
  17.  
  18.     Double = record
  19.     x, y : Real;
  20.     end;
  21.  
  22.  
  23. Var
  24.     MathIEEEDoubBasBase    : Address;
  25.     MathIEEEDoubTransBase : Address;
  26.  
  27. Procedure IEEEDPAbs(y : Double; VAR result : Double);
  28.     External;
  29.  
  30. Procedure IEEEDPAdd(x, y : Double; VAR result : Double);
  31.     External;
  32.  
  33. Procedure IEEEDPCeil(x : Double; VAR result : Double);
  34.     External;
  35.  
  36. Function IEEEDPCmp(x, y : Double) : Short;
  37.     External;
  38.  
  39. Procedure IEEEDPDiv(x, y : Double; VAR result : Double);
  40.     External;
  41.  
  42. Function IEEEDPFix(x : Double) : Integer;
  43.     External;
  44.  
  45. Procedure IEEEDPFloor(x : Double; VAR result : Double);
  46.     External;
  47.  
  48. Procedure IEEEDPFlt(x : Integer; VAR result : Double);
  49.     External;
  50.  
  51. Procedure IEEEDPMul(x, y : Double; VAR result : Double);
  52.     External;
  53.  
  54. Procedure IEEEDPNeg(x : Double; VAR result : Double);
  55.     External;
  56.  
  57. Procedure IEEEDPSub(x, y : Double; VAR result : Double);
  58.     External;
  59.  
  60. Function IEEEDPTst(x : Double) : Short;
  61.     External;
  62.  
  63. {   The following routines require that MathIEEEDoubTransBase be
  64.     initialized through a call like:
  65.     MathIEEEDoubTransBase := OpenLibrary("mathieeedoubtrans.library"...)
  66. }
  67.  
  68. Procedure IEEEDPAcos(x : Double; VAR result : Double);
  69.     External;
  70.  
  71. Procedure IEEEDPAsin(x : Double; VAR result : Double);
  72.     External;
  73.  
  74. Procedure IEEEDPAtan(x : Double; VAR result : Double);
  75.     External;
  76.  
  77. Procedure IEEEDPCos(x : Double; VAR result : Double);
  78.     External;
  79.  
  80. Procedure IEEEDPCosh(x : Double; VAR result : Double);
  81.     External;
  82.  
  83. Procedure IEEEDPExp(x : Double; VAR result : Double);
  84.     External;
  85.  
  86. Procedure IEEEDPFieee(x : Real; VAR result : Double);
  87.     External;
  88.     { Note: x is NOT a PCQ real value, but a single precision
  89.       IEEE real value. }
  90.  
  91. Procedure IEEEDPLog(x : Double; VAR result : Double);
  92.     External;
  93.  
  94. Procedure IEEEDPLog10(x : Double; VAR result : Double);
  95.     External;
  96.  
  97. Procedure IEEEDPPow(x, y : Double; VAR result : Double);
  98.     External;
  99.  
  100. Procedure IEEEDPSin(x : Double; VAR result : Double);
  101.     External;
  102.  
  103. Procedure IEEEDPSincos(x : Double; VAR cosine, sine : Double);
  104.     External;
  105.  
  106. Procedure IEEEDPSinh(x : Double; VAR result : Double);
  107.     External;
  108.  
  109. Procedure IEEEDPSqrt(x : Double; VAR result : Double);
  110.     External;
  111.  
  112. Procedure IEEEDPTan(x : Double; VAR result : Double);
  113.     External;
  114.  
  115. Procedure IEEEDPTanh(x : Double; VAR result : Double);
  116.     External;
  117.  
  118. Function IEEEDPTieee(x : Double) : Real;
  119.     External;
  120.     { Note: this returns a single precision IEEE floating
  121.         point number, not the Motorola Fast Floating Point
  122.         values used by PCQ Pascal }
  123.  
  124.