]> www.ginac.de Git - cln.git/blobdiff - src/float/ffloat/elem/cl_FF_fround.cc
Finalize CLN 1.3.7 release.
[cln.git] / src / float / ffloat / elem / cl_FF_fround.cc
index 3af05747ed14ece8abd379d0ee0967a7cb7640e0..5370001a858b9fc33a7deaa2cdbc8ac4d59c4789 100644 (file)
@@ -1,15 +1,17 @@
 // fround().
 
 // General includes.
-#include "cl_sysdep.h"
+#include "base/cl_sysdep.h"
 
 // Specification.
-#include "cl_ffloat.h"
+#include "cln/ffloat.h"
 
 
 // Implementation.
 
-#include "cl_FF.h"
+#include "float/ffloat/cl_FF.h"
+
+namespace cln {
 
 const cl_FF fround (const cl_FF& x)
 {
@@ -27,9 +29,9 @@ const cl_FF fround (const cl_FF& x)
             { return x; }
             else
             if (uexp > FF_exp_mid+1) // e>1 ?
-              { var uint32 bitmask = // Bitmaske: Bit 23-e gesetzt, alle anderen gelöscht
+              { var uint32 bitmask = // Bitmaske: Bit 23-e gesetzt, alle anderen gelöscht
                   bit(FF_mant_len+FF_exp_mid-uexp);
-                var uint32 mask = // Bitmaske: Bits 22-e..0 gesetzt, alle anderen gelöscht
+                var uint32 mask = // Bitmaske: Bits 22-e..0 gesetzt, alle anderen gelöscht
                   bitmask-1;
                 if ( ((x_ & bitmask) ==0) // Bit 23-e =0 -> abrunden
                      || ( ((x_ & mask) ==0) // Bit 23-e =1 und Bits 22-e..0 >0 -> aufrunden
@@ -37,19 +39,19 @@ const cl_FF fround (const cl_FF& x)
                           && ((x_ & (bitmask<<1)) ==0)
                    )    )
                   // abrunden
-                  { mask |= bitmask; // Bitmaske: Bits 23-e..0 gesetzt, alle anderen gelöscht
+                  { mask |= bitmask; // Bitmaske: Bits 23-e..0 gesetzt, alle anderen gelöscht
                     return allocate_ffloat( x_ & ~mask );
                   }
                   else
                   // aufrunden
                   { return allocate_ffloat
                       ((x_ | mask) // alle diese Bits 22-e..0 setzen (Bit 23-e schon gesetzt)
-                       + 1 // letzte Stelle erhöhen, dabei evtl. Exponenten incrementieren
+                       + 1 // letzte Stelle erhöhen, dabei evtl. Exponenten incrementieren
                       );
                   }
               }
             elif (uexp == FF_exp_mid+1) // e=1 ?
-              // Wie bei 1 < e <= 23, nur daß Bit 24-e stets gesetzt ist.
+              // Wie bei 1 < e <= 23, nur daß Bit 24-e stets gesetzt ist.
               { if ((x_ & bit(FF_mant_len-1)) ==0) // Bit 23-e =0 -> abrunden
                   // abrunden
                   { return allocate_ffloat( x_ & ~(bit(FF_mant_len)-1) ); }
@@ -57,13 +59,13 @@ const cl_FF fround (const cl_FF& x)
                   // aufrunden
                   { return allocate_ffloat
                       ((x_ | (bit(FF_mant_len)-1)) // alle diese Bits 23-e..0 setzen
-                       + 1 // letzte Stelle erhöhen, dabei evtl. Exponenten incrementieren
+                       + 1 // letzte Stelle erhöhen, dabei evtl. Exponenten incrementieren
                       );
                   }
               }
             else // e=0 ?
-              // Wie bei 1 < e <= 23, nur daß Bit 23-e stets gesetzt
-              // und Bit 24-e stets gelöscht ist.
+              // Wie bei 1 < e <= 23, nur daß Bit 23-e stets gesetzt
+              // und Bit 24-e stets gelöscht ist.
               { if ((x_ & (bit(FF_mant_len)-1)) ==0)
                   // abrunden von +-0.5 zu 0.0
                   { return cl_FF_0; }
@@ -71,8 +73,10 @@ const cl_FF fround (const cl_FF& x)
                   // aufrunden
                   { return allocate_ffloat
                       ((x_ | (bit(FF_mant_len)-1)) // alle Bits 22-e..0 setzen
-                       + 1 // letzte Stelle erhöhen, dabei Exponenten incrementieren
+                       + 1 // letzte Stelle erhöhen, dabei Exponenten incrementieren
                       );
               }   }
         }
 }
+
+}  // namespace cln