| double r3=log((r2/(1.0-r2)*2)+1)/2; |
double r3=log((r2/(1.0-r2)*2)+1)/2; |
| |
|
| return r1 < 0 ? -r3 : r3; |
return r1 < 0 ? -r3 : r3; |
| // fdup f0< >r fabs 1. d>f fover f- f/ f2* flnp1 f2/ |
/* fdup f0< >r fabs 1. d>f fover f- f/ f2* flnp1 f2/ |
| // r> IF fnegate THEN ; |
r> IF fnegate THEN ; |
| |
*/ |
| } |
} |
| |
|
| double asinh(double r1) |
double asinh(double r1) |
| { |
{ |
| return atanh(r1/sqrt(1.0+r1*r1)); |
return atanh(r1/sqrt(1.0+r1*r1)); |
| // fdup fdup f* 1. d>f f+ fsqrt f/ fatanh ; |
/* fdup fdup f* 1. d>f f+ fsqrt f/ fatanh ; */ |
| } |
} |
| |
|
| double acosh(double r1) |
double acosh(double r1) |
| { |
{ |
| return(log(r1+sqrt(r1*r1-1.0))); |
return(log(r1+sqrt(r1*r1-1.0))); |
| // fdup fdup f* 1. d>f f- fsqrt f+ fln ; |
/* fdup fdup f* 1. d>f f- fsqrt f+ fln ; */ |
| } |
} |