changeset 747034106af4 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=747034106af4
description:
        Use C++ limits where applicable for portability

diffstat:

1 file changed, 1 insertion(+), 2 deletions(-)
src/base/str.cc |    3 +--

diffs (76 lines):

diff -r 4ffc3cafba9b -r 747034106af4 src/base/statistics.hh
--- a/src/base/statistics.hh    Fri Sep 19 09:11:43 2008 -0700
+++ b/src/base/statistics.hh    Fri Sep 19 09:11:43 2008 -0700
@@ -56,6 +56,7 @@
 #include <cmath>
 #include <functional>
 #include <iosfwd>
+#include <limits>
 #include <string>
 #include <vector>
 
@@ -75,6 +76,8 @@
 
 /* A namespace for all of the Statistics */
 namespace Stats {
+
+typedef std::numeric_limits<Counter> CounterLimits;
 
 /* Contains the statistic implementation details */
 //////////////////////////////////////////////////////////////////////
@@ -1454,8 +1457,8 @@
         data->bucket_size = params.bucket_size;
         data->size = params.size;
 
-        data->min_val = (min_val == INT_MAX) ? 0 : min_val;
-        data->max_val = (max_val == INT_MIN) ? 0 : max_val;
+        data->min_val = (min_val == CounterLimits::max()) ? 0 : min_val;
+        data->max_val = (max_val == CounterLimits::min()) ? 0 : max_val;
         data->underflow = underflow;
         data->overflow = overflow;
         data->cvec.resize(params.size);
@@ -1472,8 +1475,8 @@
      */
     void reset()
     {
-        min_val = INT_MAX;
-        max_val = INT_MIN;
+        min_val = CounterLimits::max();
+        max_val = CounterLimits::min();
         underflow = 0;
         overflow = 0;
 
diff -r 4ffc3cafba9b -r 747034106af4 src/base/str.cc
--- a/src/base/str.cc   Fri Sep 19 09:11:43 2008 -0700
+++ b/src/base/str.cc   Fri Sep 19 09:11:43 2008 -0700
@@ -28,10 +28,10 @@
  * Authors: Nathan Binkert
  */
 
-#include <ctype.h>
-
+#include <cctype>
 #include <cstring>
 #include <iostream>
+#include <limits>
 #include <string>
 #include <vector>
 
@@ -117,12 +117,11 @@
 __to_number(string value, T &retval)
 {
     static const T maxnum = ((T)-1);
-    static const bool sign = maxnum < 0;
-    static const int bits = sizeof(T) * 8;
-    static const T hexmax = maxnum & (((T)1 << (bits - 4 - sign)) - 1);
-    static const T octmax = maxnum & (((T)1 << (bits - 3 - sign)) - 1);
-    static const T signmax =
-        (sign) ? maxnum & (((T)1 << (bits - 1)) - 1) : maxnum;
+    static const bool sign = numeric_limits<T>::is_signed;
+    static const int bits = numeric_limits<T>::digits;
+    static const T hexmax = maxnum & (((T)1 << (bits - 4)) - 1);
+    static const T octmax = maxnum & (((T)1 << (bits - 3)) - 1);
+    static const T signmax = numeric_limits<T>::max();
     static const T decmax = signmax / 10;
 
 #if 0
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to