]> www.ginac.de Git - cln.git/blobdiff - src/float/misc/cl_F_rational.cc
2006-04-25 Bruno Haible <bruno@clisp.org>
[cln.git] / src / float / misc / cl_F_rational.cc
index fdbc1ff8124cbf3c5e8f375135a21aad0767f916..e14590a63cb0960bc4892df39e7f91a7f04f7cd4 100644 (file)
@@ -38,14 +38,14 @@ const cl_RA rational (const cl_F& x)
                // 0 < -e <= LF_exp_mid-LF_exp_low + intDsize*len < 2^32,
                var cl_I minus_e = -e;
                var uintL _e = cl_I_to_UL(minus_e); // daher kein Überlauf
-               var uintL k = ord2(n);
+               var uintC k = ord2(n);
                if (k >= _e)
                        // Kürze mit 2^(-e).
                        return ash(n,e);
                else
                        // Kürze mit 2^k, 0 <= k < -e.
-                       return I_I_to_RT(ash(n,-(sintL)k),
-                                        ash(1,minus_e-UL_to_I(k)));
+                       return I_I_to_RT(ash(n,-(sintC)k),
+                                        ash(1,minus_e-(cl_I)(unsigned long)k));
 #endif
        }
 }