]> www.ginac.de Git - cln.git/blobdiff - src/complex/algebraic/cl_FF_hypot.cc
Fix linking problems on some platforms caused by inline/non-inline versions
[cln.git] / src / complex / algebraic / cl_FF_hypot.cc
index f52ba0d05679ad0f926c8cb4d549bc555f141268..e66366ca379a73f76cf595864b1801bd406c3700 100644 (file)
@@ -12,8 +12,8 @@
 #include "cln/ffloat.h"
 #include "cl_FF.h"
 
-#undef MAYBE_INLINE
-#define MAYBE_INLINE inline
+/* For inline version of minusp */
+#include "cl_inline.h"
 #include "cl_FF_minusp.cc"
 
 namespace cln {
@@ -23,10 +23,10 @@ const cl_FF cl_hypot (const cl_FF& a, const cl_FF& b)
 //  a=0.0 -> liefere abs(b).
 //  b=0.0 -> liefere abs(a).
 //  e:=max(exponent(a),exponent(b)).
-//  a':=a/2^e bzw. 0.0 bei Underflowmöglichkeit (beim Skalieren a':=a/2^e
+//  a':=a/2^e bzw. 0.0 bei Underflowmöglichkeit (beim Skalieren a':=a/2^e
 //      oder beim Quadrieren a'*a':  2*(e-exponent(a))>exp_mid-exp_low-1
 //      d.h. exponent(b)-exponent(a)>floor((exp_mid-exp_low-1)/2) ).
-//  b':=b/2^e bzw. 0.0 bei Underflowmöglichkeit (beim Skalieren b':=b/2^e
+//  b':=b/2^e bzw. 0.0 bei Underflowmöglichkeit (beim Skalieren b':=b/2^e
 //      oder beim Quadrieren b'*b':  2*(e-exponent(b))>exp_mid-exp_low-1
 //      d.h. exponent(a)-exponent(b)>floor((exp_mid-exp_low-1)/2) ).
 //  c':=a'*a'+b'*b', c':=sqrt(c'), liefere 2^e*c'.
@@ -37,7 +37,7 @@ const cl_FF cl_hypot (const cl_FF& a, const cl_FF& b)
                var uintL uexp = FF_uexp(cl_ffloat_value(a));
                if (uexp == 0)
                        // a=0.0 -> liefere (abs b) :
-                       return (minusp(b) ? -b : b);
+                       return (minusp_inline(b) ? -b : b);
                a_exp = (sintL)(uexp - FF_exp_mid);
        }
        {
@@ -45,7 +45,7 @@ const cl_FF cl_hypot (const cl_FF& a, const cl_FF& b)
                var uintL uexp = FF_uexp(cl_ffloat_value(b));
                if (uexp == 0)
                        // b=0.0 -> liefere (abs a) :
-                       return (minusp(a) ? -a : a);
+                       return (minusp_inline(a) ? -a : a);
                b_exp = (sintL)(uexp - FF_exp_mid);
        }
        // Nun a_exp = float_exponent(a), b_exp = float_exponent(b).