X-Git-Url: https://ginac.de/CLN/cln.git//cln.git?a=blobdiff_plain;f=src%2Ffloat%2Ftranscendental%2Fcl_F_sinh.cc;h=9800e28a5855367290aced91c2a0bd9683f5593c;hb=3af2cde18b3aabed4c808b0113daa81c2263b0bd;hp=21d37db255c35fa7f3dc9b77620ef46cb1f76580;hpb=749cf017b2954ea256ce006b2d8b0b815c2ff131;p=cln.git diff --git a/src/float/transcendental/cl_F_sinh.cc b/src/float/transcendental/cl_F_sinh.cc index 21d37db..9800e28 100644 --- a/src/float/transcendental/cl_F_sinh.cc +++ b/src/float/transcendental/cl_F_sinh.cc @@ -1,7 +1,7 @@ // sinh(). // General includes. -#include "cl_sysdep.h" +#include "base/cl_sysdep.h" // Specification. #include "cln/float.h" @@ -9,38 +9,38 @@ // Implementation. -#include "cl_F_tran.h" -#include "cl_F.h" +#include "float/transcendental/cl_F_tran.h" +#include "float/cl_F.h" #include "cln/lfloat.h" -#include "cl_LF.h" +#include "float/lfloat/cl_LF.h" namespace cln { const cl_F sinh (const cl_F& x) { // Methode: -// Genauigkeit erhöhen, +// Genauigkeit erhöhen, // e := Exponent aus (decode-float x) // falls e<0: (sinh(x)/x)^2 errechnen, Wurzel ziehen, mit x multiplizieren. // falls e>=0: y:=exp(x) errechnen, (scale-float (- y (/ y)) -1) bilden. if (float_exponent(x) < 0) { // Exponent e abtesten // e<0 - // Rechengenauigkeit erhöhen + // Rechengenauigkeit erhöhen if (longfloatp(x)) { DeclareType(cl_LF,x); #if 0 if (TheLfloat(x)->len >= infty) { var cl_LF xx = extend(x,TheLfloat(x)->len+1); var cl_LF_cosh_sinh_t hyp = cl_coshsinh_ratseries(xx); - return cln/float.hyp.sinh,x); + return cl_float(hyp.sinh,x); } else #endif if ((TheLfloat(x)->len >= 500) && (float_exponent(x) > (-(sintC)float_digits(x))>>1)) { // verwende exp(x), schneller als cl_coshsinh_ratseries - // (aber nur bei 0 > e > -d/2, denn wir müssen, um - // Auslöschung zu verhindern, |e| Bits dazunehmen) + // (aber nur bei 0 > e > -d/2, denn wir müssen, um + // Auslöschung zu verhindern, |e| Bits dazunehmen) var cl_LF xx = extend(x,TheLfloat(x)->len+ceiling((uintE)(-float_exponent(x)),intDsize)); var cl_F y = exp(xx); var cl_F z = scale_float(y - recip(y), -1); // (/ (- y (/ y)) 2)