home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / progbas / realfun.arj / COMPTOP.TXT < prev    next >
Text File  |  1991-07-20  |  12KB  |  205 lines

  1.  
  2.  
  3. RealFun:  Real & Complex Math Libraries for QuickBASIC
  4. COMPTOP.TXT
  5.  
  6. All the functions and subprograms included in the compfun library, organized
  7. by topic:
  8.  
  9.         Minimum & Maximum (real only)
  10. Usage                           Inputs          Outputs         Notes
  11. z = amin(x, y)                  x, y; sp        z, sp           min of x, y
  12. z# = dmin(x#, y#)               x#, y#; dp      z#, dp          min of x#, y#
  13. z = amax(x, y)                  x, y; sp        z, sp           max of x, y
  14. z# = dmax(x#, y#)               x#, y#; dp      z#, dp          max of x#, y#
  15.  
  16.         Cosine
  17. Usage                           Inputs          Outputs         Notes
  18. y = COS(x)                      x, sp           y, sp           x in radians
  19. y# = COS(X#)                    x#, dp          y#, dp          x# in radians
  20. y = cosd(x)                     x, sp           y, sp           x in degrees
  21. y# = dcosd(x#)                  x#, dp          y#, dp          x# in degrees
  22. call ccos(x, y, u, v)           x, y; sp        u, v; sp        complex
  23. call cdcos(x#, y#, u#, v#)      x#, y#; dp      u#, v#; dp      complex
  24.  
  25.         Sine
  26. Usage                           Inputs          Outputs         Notes
  27. y = SIN(x)                      x, sp           y, sp           x in radians
  28. y# = SIN(X#)                    x#, dp          y#, dp          x# in radians
  29. y = sind(x)                     x, sp           y, sp           x in degrees
  30. y# = dsind(x#)                  x#, dp          y#, dp          x# in degrees
  31. call csin(x, y, u, v)           x, y; sp        u, v; sp        complex
  32. call cdsin(x#, y#, u#, v#)      x#, y#; dp      u#, v#; dp      complex
  33.  
  34.         Tangent
  35.  
  36. Usage                           Inputs          Outputs         Notes
  37. y = TAN(x)                      x, sp           y, sp           x in radians
  38. y# = TAN(X#)                    x#, dp          y#, dp          x# in radians
  39. y = tand(x)                     x, sp           y, sp           x in degrees
  40. y# = dtand(x#)                  x#, dp          y#, dp          x# in degrees
  41. call ctan(x, y, u, v)           x, y; sp        u, v; sp        complex
  42. call cdtan(x#, y#, u#, v#)      x#, y#; dp      u#, v#; dp      complex
  43.  
  44.         Inverse Cosine
  45.  
  46. Usage                           Inputs          Outputs         Notes
  47. y = acos(x)                     x, sp           y, sp           y in radians
  48. y = acosd(x)                    x, sp           y, sp           y in degrees
  49. y# = dacos(x#)                  x#, dp          y#, dp          y# in radians
  50. y# = dacosd(x#)                 x#, dp          y#, dp          y# in degrees
  51. call cacos(x, y, u, v)          x, y; sp        u, v; sp        complex
  52. call cdacos(x#, y#, u#, v#)     x#, y#; dp      u#, v#; dp      complex
  53.  
  54.         Inverse Sine
  55.  
  56. Usage                           Inputs          Outputs         Notes
  57. y = asin(x)                     x, sp           y, sp           y in radians
  58.  
  59. y = asind(x)                    x, sp           y, sp           y in degrees
  60. y# = dasin(x#)                  x#, dp          y#, dp          y# in radians
  61. y# = dasind(x#)                 x#, dp          y#, dp          y# in degrees
  62. call casin(x, y, u, v)          x, y; sp        u, v; sp        complex
  63. call cdasin(x#, y#, u#, v#)     x#, y#; dp      u#, v#; dp      complex
  64.  
  65.         Inverse Tangent
  66.  
  67. Usage                           Inputs          Outputs         Notes
  68. y = ATN(x)                      x, sp           y, sp           y in radians
  69. y = atnd(x)                     x, sp           y, sp           y in degrees
  70. z = atan(y, x)                  x, y; sp        z, sp           z in radians
  71.         use to determine proper quadrant of z
  72. z = atand(y, x)                 x, y; sp        z, sp           z in degrees
  73.         use to determine proper quadrant of z
  74. y# = ATN(X#)                    x#, dp          y#, dp          y# in radians
  75. y# = datnd(x#)                  x#, dp          y#, dp          y# in degrees
  76. z# = datan#(y#, x#)             x#, y#; dp      z#, dp          z in radians
  77.         use to determine proper quadrant of z#
  78. z# = datand#(y#, x#)            x#, y#; dp      z#, dp          z in degrees
  79.         use to determine proper quadrant of z#
  80. call catan(x, y, u, v)          x, y; sp        u, v; sp        complex
  81. call cdatan(x#, y#, u#, v#)     x#, y#; dp      u#, v#; dp      complex
  82.  
  83.         Hyperbolic Cosine
  84. Usage                           Inputs          Outputs         Notes
  85. y = cosh(x)                     x, sp           y, sp           real
  86. y# = dcosh(x#)                  x#, dp          y#, dp          real
  87. call ccosh(x, y, u, v)          x, y; sp        u, v; sp        complex
  88. call cdcosh(x#, y#, u#, v#)     x#, y#; dp      u#, v#; dp      complex
  89.  
  90.         Hyperbolic Sine
  91. Usage                           Inputs          Outputs         Notes
  92. y = sinh(x)                     x, sp           y, sp           real
  93. y# = dsinh(x#)                  x#, dp          y#, dp          real
  94. call csinh(x, y, u, v)          x, y; sp        u, v; sp        complex
  95. call cdsinh(x#, y#, u#, v#)     x#, y#; dp      u#, v#; dp      complex
  96.  
  97.         Hyperbolic Tangent
  98. Usage                           Inputs          Outputs         Notes
  99. y = tanh(x)                     x, sp           y, sp           real
  100. y# = dtanh(x#)                  x#, dp          y#, dp          real
  101. call ctanh(x, y, u, v)          x, y; sp        u, v; sp        complex
  102. call cdtanh(x#, y#, u#, v#)     x#, y#; dp      u#, v#; dp      complex
  103.  
  104.         Inverse Hyperbolic Cosine
  105. Usage                           Inputs          Outputs         Notes
  106. y = acosh(x)                    x, sp           y, sp           real
  107. y# = dacosh(x#)                 x#, dp          y#, dp          real
  108. call cacosh(x, y, u, v)         x, y; sp        u, v; sp        complex
  109. call cdacosh(x#, y#, u#, v#)    x#, y#; dp      u#, v#; dp      complex
  110.  
  111.         Inverse Hyperbolic Sine
  112. Usage                           Inputs          Outputs         Notes
  113. y = asinh(x)                    x, sp           y, sp           real
  114.  
  115. y# = dasinh(x#)                 x#, dp          y#, dp          real
  116. call casinh(x, y, u, v)         x, y; sp        u, v; sp        complex
  117. call cdasinh(x#, y#, u#, v#)    x#, y#; dp      u#, v#; dp      complex
  118.  
  119.         Inverse Hyperbolic Tangent
  120. Usage                           Inputs          Outputs         Notes
  121. y = atanh(x)                    x, sp           y, sp           real
  122. y# = datanh(x#)                 x#, dp          y#, dp          real
  123. call catanh(x, y, u, v)         x, y; sp        u, v; sp        complex
  124. call cdatanh(x#, y#, u#, v#)    x#, y#; dp      u#, v#; dp      complex
  125.  
  126.         Modulo
  127. Usage                           Inputs          Outputs         Notes
  128. y = x MOD k%                    x, sp; k% int   y, sp           uses integer
  129.                                                                   base only
  130. y = amod(x, k)                  x, k; sp        y, sp           uses any base
  131. y# = x# MOD k%                  x, dp; k% int   y, dp           uses integer
  132.                                                                   base only
  133. y# = dmod(x#, k#)               x#, k#; dp      y#, dp          uses any base
  134. call cmod(x, y, xk, yk, u, v)   x, y, xk,       u, v; sp        complex base
  135.                                   yk; sp
  136. call cdmod(x#, y#, xk#, yk#,    x#, y#, xk#,    u#, v#; dp      complex base
  137.   u#, v#)                         yk#; dp
  138. call nearint(x, y, u%, v%)      x, y; sp        u%, v%; int     nearest integer
  139.                                                                   (u%, v%)
  140. call dnearint(x#, y#, u&, v&)   x#, y#; dp      u&, v&; long    nearest integer
  141.                                                                   (u&, v&)
  142.  
  143.         Exponentiation & Logarithms
  144. Usage                           Inputs          Outputs         Notes
  145. y = EXP(x)                      x, sp           y, sp           real
  146. y# = EXP(x#)                    x#, dp          y#, dp          real
  147. call cexp(x, y, u, v)           x, y; sp        u, v; sp        complex
  148. call cdexp(x#, y#, u#, v#)      x#, y#; dp      u#, v#; dp      complex
  149. y = LOG(x)                      x, sp           y, sp           real
  150. y# = LOG(x#)                    x#, dp          y#, dp          real
  151. call clog(x, y, u, v)           x, y; sp        u, v; sp        complex
  152. call cdlog(x#, y#, u#, v#)      x#, y#; dp      u#, v#; dp      complex
  153.  
  154.         Multiply & Divide (complex only)
  155. Usage                           Inputs          Outputs         Notes
  156. call cmult(x1, y1, x2, y2,      x1, y1, x2,     u, v; dp        (x1, y1) *
  157.   u, v)                           y2; sp                          (x2, y2)
  158. call cdmult(x1#, y1#, x2#,      x1#, y1#, x2#,  u#, v#; dp      (x1#, y1#) *
  159.   y2#, u#, v#)                    y2#; sp                         (x2#, y2#)
  160. call cdiv(x1, y1, x2, y2,       x1, y1, x2,     u, v; dp        (x1, y1) /
  161.   u, v)                           y2; sp                          (x2, y2)
  162. call cddiv(x1#, y1#, x2#,       x1#, y1#, x2#,  u#, v#; dp      (x1#, y1#) /
  163.   y2#, u#, v#)                    y2#; sp                         (x2#, y2#)
  164.  
  165.         Powers (complex only)
  166. Usage                           Inputs          Outputs         Notes
  167. call rpower(x, y, p, u, v)      x, y, p; sp     u, v; sp        (x, y) to real
  168.                                                                   power p
  169. call cpower(x, y, px, py,       x, y, px,       u, v; sp        complex power
  170.  
  171.   u, v)                           py; sp                          (px, py)
  172. call drpower(x#, y#, p#,        x#, y#, p#; dp  u#, v#; dp      real power p#
  173.   u#, v#)
  174. call cdpower(x#, y#, px#,       x#, y#, px#,    u#, v#; dp      complex power
  175.   py#, u#, v#)                    py#; dp                         (px#, py#)
  176.  
  177.         Coordinate Conversion (complex only)
  178. Usage                           Inputs          Outputs         Notes
  179. cabs(x, y, r)                   x, y; sp        r; sp           magnitude
  180. cdabs(x#, y#, r#)               x#, y#; dp      r#; dp          magnitude
  181. cpolar(x, y, r, t)              x, y; sp        r, t; sp        rect to polar,
  182.                                                                   t in radians
  183. cpolard(x, y, r, t)             x, y; sp        r, t; sp        rect to polar,
  184.                                                                   t in degrees
  185. cdpolar(x#, y#, r#, t#)         x#, y#; dp      r#, t#; dp      rect to polar,
  186.                                                                   t in radians
  187. cdpolard(x#, y#, r#, t#)        x#, y#; dp      r#, t#; dp      rect to polar,
  188.                                                                   t in degrees
  189. ccart(r, t, x, y)               r, t; sp        x, y; sp        polar to rect,
  190.                                                                   t in radians
  191. ccartd(r, t, x, y)              r, t; sp        x, y; sp        polar to rect,
  192.                                                                   t in degrees
  193. cdcart(r#, t#,x#, y#)           r#, t#; dp      x#, y#; dp      polar to rect,
  194.                                                                   t in radians
  195. cdcartd(r#, t#, x#, y#)         r#, t#; dp      x#, y#; dp      polar to rect,
  196.                                                                   t in degrees
  197.  
  198. Notes:
  199. - Functions listed in UPPER CASE are intrinsic to Quick BASIC, and are 
  200.         included here for completeness.
  201. - The abbreviation sp means single-precision, dp means double-precision.
  202. - Complex numbers are expressed as (x, y) in rectangular coordinates, where
  203.         x = real part and y = imaginary part.  In polar form, r is the
  204.         magnitude or radius, t = the angle (degrees or radians).
  205.