]> www.ginac.de Git - cln.git/blobdiff - src/float/transcendental/cl_F_atanhx.cc
Fix linking problems on some platforms caused by inline/non-inline versions
[cln.git] / src / float / transcendental / cl_F_atanhx.cc
index b3abe09c104952310578e48932025f5d0c6a289e..c2f0475ebd8e4b77d4e0ec687aa00036f41c7d72 100644 (file)
@@ -15,8 +15,7 @@
 #include "cln/float.h"
 #include "cl_low.h"
 
-#undef MAYBE_INLINE
-#define MAYBE_INLINE inline
+#include "cl_inline.h"
 #include "cl_LF_zerop.cc"
 #include "cl_LF_minusp.cc"
 #include "cl_LF_exponent.cc"
@@ -49,11 +48,11 @@ namespace cln {
 
 const cl_LF atanhx (const cl_LF& x)
 {
-       if (zerop(x))
+       if (zerop_inline(x))
                return x;
        var uintC actuallen = TheLfloat(x)->len;
        var uintC d = float_digits(x);
-       var sintE e = float_exponent(x);
+       var sintE e = float_exponent_inline(x);
        if (e <= (sintC)(-d)>>1) // e <= -d/2 <==> e <= -ceiling(d/2)
                return x; // ja -> x als Ergebnis
        if (actuallen >= 34) {
@@ -77,13 +76,13 @@ const cl_LF atanhx (const cl_LF& x)
                  // nächstes x nach der Formel x := x+sqrt(x^2 - 1) berechnen:
                  xx = sqrt(square(xx) + cl_float(-1,xx)) + xx;
                  k = k+1;
-               } until (float_exponent(xx) > e_limit);
+               } until (float_exponent_inline(xx) > e_limit);
                // Schleifenende mit Exponent(x) > 1+limit_slope*floor(sqrt(d)),
                // also x >= 2^(1+limit_slope*floor(sqrt(d))),
                // also 1/x <= 2^(-1-limit_slope*floor(sqrt(d))).
                // Nun kann die Potenzreihe auf 1/x angewandt werden.
                xx = recip(xx);
-               if (minusp(x))
+               if (minusp_inline(x))
                        xx = - xx; // Vorzeichen wieder rein
        }
        // Potenzreihe anwenden: