]> www.ginac.de Git - cln.git/blobdiff - src/float/sfloat/elem/cl_SF_scale.cc
* */*: Remove cl_boolean, cl_true, and cl_false in favor of built-in
[cln.git] / src / float / sfloat / elem / cl_SF_scale.cc
index 4981e2643611afc05e6f4313970e5c52e0caf4b3..842b5faa8fe325a2eb11951cd50396b3e2b17c56 100644 (file)
@@ -4,7 +4,7 @@
 #include "cl_sysdep.h"
 
 // Specification.
-#include "cl_sfloat.h"
+#include "cln/sfloat.h"
 
 
 // Implementation.
@@ -12,7 +12,9 @@
 #include "cl_SF.h"
 #include "cl_F.h"
 
-const cl_SF scale_float (const cl_SF& x, sintL delta)
+namespace cln {
+
+const cl_SF scale_float (const cl_SF& x, sintC delta)
 {
   // Methode:
   // x=0.0 -> x als Ergebnis
@@ -25,25 +27,27 @@ const cl_SF scale_float (const cl_SF& x, sintL delta)
       SF_decode(x, { return x; }, sign=,exp=,mant=);
       if (delta >= 0)
         // delta>=0
-        { var uintL udelta = delta;
+        { var uintC udelta = delta;
           if (udelta <= (uintL)(SF_exp_high-SF_exp_low))
             { exp = exp+udelta;
               return encode_SF(sign,exp,mant);
             }
             else
-            { cl_error_floating_point_overflow(); }
+            { throw floating_point_overflow_exception(); }
         }
         else
         // delta<0
-        { var uintL udelta = -delta;
+        { var uintC udelta = -delta;
           if (udelta <= (uintL)(SF_exp_high-SF_exp_low))
             { exp = exp-udelta;
               return encode_SF(sign,exp,mant);
             }
             else
             if (underflow_allowed())
-              { cl_error_floating_point_underflow(); }
+              { throw floating_point_underflow_exception(); }
               else
               { return SF_0; }
         }
 }
+
+}  // namespace cln