#include "prim.h"
#include "math.h"
Go to the source code of this file.
|
double | asinh (double x) |
| Inverse hyperbolic sine function. More...
|
|
|
static const double | one = 1.00000000000000000000e+00 |
|
static const double | ln2 = 6.93147180559945286227e-01 |
|
static const double | huge = 1.00000000000000000000e+300 |
|
Inverse hyperbolic sine function.
- Version
- 1.3
- Date
- 95/01/18
Method :
Based on
asinh(x) = sign(x) * log [ |x| + sqrt(x*x+1) ]
we have
asinh(x) := x if 1+x*x=1,
:= sign(x)*(log(x)+ln2)) for large |x|, else
:= sign(x)*log(2|x|+1/(|x|+sqrt(x*x+1))) if|x|>2, else
:= sign(x)*log1p(|x| + x^2/(1 + sqrt(1+x^2)))
- Copyright
- Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. Developed at SunSoft, a Sun Microsystems, Inc. business. Permission to use, copy, modify, and distribute this software is freely granted, provided that this notice is preserved.
Definition at line 73 of file asinh.c.
References huge, ln2, log1p(), one, and sqrt().
Referenced by RealNumber::HypArcCosecant(), and RealNumber::HypArcSine().
79 if(ix>=0x7ff00000)
return x+x;
85 }
else if (ix>0x40000000) {
#define GET_HIGH_WORD(i, d)
Get the more significant 32 bit int from a double.
signed int sword
32 bit signed integer.
double fabs(double x)
Returns the absolute value of x.
double sqrt(double x)
Square root function.
double log(double x)
Natural logarithm function (base e).
const double huge = 1.00000000000000000000e+300 |
|
static |
const double ln2 = 6.93147180559945286227e-01 |
|
static |
const double one = 1.00000000000000000000e+00 |
|
static |