Add new function profiling stuff, wrap the pc_sample stuff into it.
[gem5.git] / base / random.hh
index 5169c548a2bbc341d9854b94044c6a42e54ef083..b4d20a27434094d9522a44f48c102068e56d65ea 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003 The Regents of The University of Michigan
+ * Copyright (c) 2003-2005 The Regents of The University of Michigan
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -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"
 
@@ -37,64 +37,64 @@ double getDouble();
 template <typename T>
 struct Random;
 
-struct Random<int8_t>
+template<> struct Random<int8_t>
 {
     static int8_t get()
     { return getLong() & (int8_t)-1; }
 };
 
-struct Random<uint8_t>
+template<> struct Random<uint8_t>
 {
-    uint8_t get()
+    static uint8_t get()
     { return getLong() & (uint8_t)-1; }
 };
 
-struct Random<int16_t>
+template<> struct Random<int16_t>
 {
-    int16_t get()
+    static int16_t get()
     { return getLong() & (int16_t)-1; }
 };
 
-struct Random<uint16_t>
+template<> struct Random<uint16_t>
 {
-    uint16_t get()
+    static uint16_t get()
     { return getLong() & (uint16_t)-1; }
 };
 
-struct Random<int32_t>
+template<> struct Random<int32_t>
 {
-    int32_t get()
+    static int32_t get()
     { return (int32_t)getLong(); }
 };
 
-struct Random<uint32_t>
+template<> struct Random<uint32_t>
 {
-    uint32_t get()
+    static uint32_t get()
     { return (uint32_t)getLong(); }
 };
 
-struct Random<int64_t>
+template<> struct Random<int64_t>
 {
-    int64_t get()
+    static int64_t get()
     { return (int64_t)getLong() << 32 || (uint64_t)getLong(); }
 };
 
-struct Random<uint64_t>
+template<> struct Random<uint64_t>
 {
-    uint64_t get()
+    static uint64_t get()
     { return (uint64_t)getLong() << 32 || (uint64_t)getLong(); }
 };
 
-struct Random<float>
+template<> struct Random<float>
 {
-    float get()
+    static float get()
     { return getDouble(); }
 };
 
-struct Random<double>
+template<> struct Random<double>
 {
-    double get()
+    static double get()
     { return getDouble(); }
 };
 
-#endif // __RANDOM_HH__
+#endif // __BASE_RANDOM_HH__