瀏覽代碼

Randomizer: Remove unused interfaces

Tatsuhiro Tsujikawa 12 年之前
父節點
當前提交
6f6a17bff7
共有 4 個文件被更改,包括 4 次插入38 次删除
  1. 0 4
      src/Randomizer.h
  2. 3 21
      src/SimpleRandomizer.cc
  3. 0 4
      src/SimpleRandomizer.h
  4. 1 9
      test/FixedNumberRandomizer.h

+ 0 - 4
src/Randomizer.h

@@ -43,10 +43,6 @@ class Randomizer {
 public:
   virtual ~Randomizer() {}
 
-  virtual long int getRandomNumber() = 0;
-
-  virtual long int getMaxRandomNumber() = 0;
-
   /**
    * Returns random number in [0, to).
    */

+ 3 - 21
src/SimpleRandomizer.cc

@@ -78,8 +78,9 @@ SimpleRandomizer::~SimpleRandomizer()
 #endif // __MINGW32__
 }
 
-long int SimpleRandomizer::getRandomNumber()
+long int SimpleRandomizer::getRandomNumber(long int to)
 {
+  assert(to > 0);
 #ifdef __MINGW32__
   int32_t val;
   BOOL r = CryptGenRandom(cryProvider_, sizeof(val),
@@ -90,26 +91,7 @@ long int SimpleRandomizer::getRandomNumber()
   } else if(val < 0) {
     val = -val;
   }
-  return val;
-#else // !__MINGW32__
-  return eng_();
-#endif // !__MINGW32__
-}
-
-long int SimpleRandomizer::getMaxRandomNumber()
-{
-#ifdef __MINGW32__
-  return INT32_MAX;
-#else // !__MINGW32__
-  return eng_.max();
-#endif // !__MINGW32__
-}
-
-long int SimpleRandomizer::getRandomNumber(long int to)
-{
-  assert(to > 0);
-#ifdef __MINGW32__
-  return getRandomNumber() % to;
+  return val % to;
 #else // !__MINGW32__
   return std::uniform_int_distribution<long int>(0, to - 1)(eng_);
 #endif // !__MINGW32__

+ 0 - 4
src/SimpleRandomizer.h

@@ -65,10 +65,6 @@ public:
 
   void init();
 
-  virtual long int getRandomNumber() CXX11_OVERRIDE;
-
-  virtual long int getMaxRandomNumber() CXX11_OVERRIDE;
-
   /**
    * Returns random number in [0, to).
    */

+ 1 - 9
test/FixedNumberRandomizer.h

@@ -14,17 +14,9 @@ public:
 
   virtual ~FixedNumberRandomizer() {}
 
-  virtual long int getRandomNumber() CXX11_OVERRIDE {
-    return fixedNumber;
-  }
-
-  virtual long int getMaxRandomNumber() CXX11_OVERRIDE {
-    return RAND_MAX;
-  }
-
   virtual long int getRandomNumber(long int to) CXX11_OVERRIDE
   {
-    return getRandomNumber();
+    return fixedNumber;
   }
 
   void setFixedNumber(int32_t num) {