home *** CD-ROM | disk | FTP | other *** search
- ############################################################################
- #
- # File: hyperbol.icn
- #
- # Subject: Procedures for hyperbolic functions
- #
- # Author: Ralph E. Griswold
- #
- # Date: January 1, 1992
- #
- ###########################################################################
- #
- # These are the standard hyperbolic functions and their inverses.
- #
- ############################################################################
-
- procedure sinh(r)
- static e
-
- initial e := 2.71828183
-
- return (e ^ r - e ^ -r) / 2
-
- end
-
- procedure cosh(r)
- static e
-
- initial e := 2.71828183
-
- return (e ^ r + e ^ -r) / 2
-
- end
-
- procedure tanh(r)
- static e
-
- initial e := 2.71828183
-
- return (e ^ r - e ^ -r) / (e ^ r + e ^ -r)
-
- end
-
- procedure ctnh(r)
- static e
-
- initial e := 2.71828183
-
- return (e ^ r + e ^ -r) / (e ^ r - e ^ -r)
-
- end
-
- procedure sech(r)
- static e
-
- initial e := 2.71828183
-
- return 2 / (e ^ r + e ^ -r)
-
- end
-
- procedure csch(r)
- static e
-
- initial e := 2.71828183
-
- return 2 / (e ^ r - e ^ -r)
-
- end
-
- procedure arcsinh(r)
-
- return log(r + sqrt(r ^ 2 + 1))
-
- end
-
- procedure arccosh(r)
-
- return log(r + sqrt(r ^ 2 - 1))
-
- end
-
- procedure arctanh(r)
-
- return 0.5 * log((1 + r) / (1 - r))
-
- end
-
- procedure arcctnh(r)
-
- return 0.5 * log((r + 1) / (r - 1))
-
- end
-
- procedure arcsech(r)
-
- return log((1 + sqrt(1 - r ^ 2)) / r)
-
- end
-
- procedure arccsch(r)
-
- return log((1 + sqrt(1 + r ^ 2)) / r)
-
- end
-