From d0bff50bbabf63de382f202dba956cd7b9b47de7 Mon Sep 17 00:00:00 2001 From: Nathan Binkert Date: Mon, 13 Dec 2004 12:55:13 -0500 Subject: [PATCH] Fix up the random number stuff. SConscript: compile the random number generator stuff into m5 base/random.cc: we need to define our destructor base/random.hh: Since there's no state, just makes all of these get functions static --HG-- extra : convert_revision : 9d4b8abd57367391a8ecda3914b1d912d9c64185 --- SConscript | 1 + base/random.cc | 2 +- base/random.hh | 24 ++++++++++++------------ 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/SConscript b/SConscript index dedfe1aaa..f6c472216 100644 --- a/SConscript +++ b/SConscript @@ -65,6 +65,7 @@ base_sources = Split(''' base/pollevent.cc base/python.cc base/range.cc + base/random.cc base/sat_counter.cc base/socket.cc base/statistics.cc diff --git a/base/random.cc b/base/random.cc index f18ed546d..9a4562e8a 100644 --- a/base/random.cc +++ b/base/random.cc @@ -39,7 +39,7 @@ class RandomContext : public ParamContext public: RandomContext(const string &_iniSection) : ::ParamContext(_iniSection) {} - ~RandomContext(); + ~RandomContext() {} void checkParams(); }; diff --git a/base/random.hh b/base/random.hh index 5169c548a..0bfed100c 100644 --- a/base/random.hh +++ b/base/random.hh @@ -26,8 +26,8 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef __RANDOM_HH__ -#define __RANDOM_HH__ +#ifndef __BASE_RANDOM_HH__ +#define __BASE_RANDOM_HH__ #include "sim/host.hh" @@ -45,56 +45,56 @@ struct Random struct Random { - uint8_t get() + static uint8_t get() { return getLong() & (uint8_t)-1; } }; struct Random { - int16_t get() + static int16_t get() { return getLong() & (int16_t)-1; } }; struct Random { - uint16_t get() + static uint16_t get() { return getLong() & (uint16_t)-1; } }; struct Random { - int32_t get() + static int32_t get() { return (int32_t)getLong(); } }; struct Random { - uint32_t get() + static uint32_t get() { return (uint32_t)getLong(); } }; struct Random { - int64_t get() + static int64_t get() { return (int64_t)getLong() << 32 || (uint64_t)getLong(); } }; struct Random { - uint64_t get() + static uint64_t get() { return (uint64_t)getLong() << 32 || (uint64_t)getLong(); } }; struct Random { - float get() + static float get() { return getDouble(); } }; struct Random { - double get() + static double get() { return getDouble(); } }; -#endif // __RANDOM_HH__ +#endif // __BASE_RANDOM_HH__ -- 2.30.2