summaryrefslogtreecommitdiff
path: root/src/base/random.cc
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2007-04-21 19:12:13 -0400
committerAli Saidi <saidi@eecs.umich.edu>2007-04-21 19:12:13 -0400
commit088a0565836fc678fabef3c8662de79595bf20c2 (patch)
tree1c6db574ec295ed96fd9fe2beeca0f44d3b019c3 /src/base/random.cc
parent25e92383c839f6d69f933f614fd3f9acef907075 (diff)
parent53ba34391ff7b82dd143c7cce0d31bf56882d5ae (diff)
downloadgem5-088a0565836fc678fabef3c8662de79595bf20c2.tar.xz
Merge zizzer:/bk/newmem
into zeep.pool:/tmp/newmem --HG-- extra : convert_revision : 8f173d3522e2e8847e51dfab48f35e34e6d3c1a7
Diffstat (limited to 'src/base/random.cc')
-rw-r--r--src/base/random.cc9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/base/random.cc b/src/base/random.cc
index ceab337d9..8a2e3c1c0 100644
--- a/src/base/random.cc
+++ b/src/base/random.cc
@@ -29,9 +29,6 @@
* Ali Saidi
*/
-#if defined(__sun)
-#include <ieeefp.h>
-#endif
#ifdef __SUNPRO_CC
#include <stdlib.h>
#include <math.h>
@@ -40,6 +37,7 @@
#include <cstdlib>
#include <cmath>
+#include "base/fenv.hh"
#include "base/random.hh"
using namespace std;
@@ -61,9 +59,10 @@ m5round(double r)
{
#if defined(__sun)
double val;
- fp_rnd oldrnd = fpsetround(FP_RN);
+ int oldrnd = m5_fegetround();
+ m5_fesetround(M5_FE_TONEAREST);
val = rint(r);
- fpsetround(oldrnd);
+ m5_fesetround(oldrnd);
return val;
#else
return round(r);