]> Dogcows Code - chaz/yoink/commitdiff
removed Random.{cc,hh}; obsoleted by cml
authorCharles McGarvey <chazmcgarvey@brokenzipper.com>
Sat, 5 Dec 2009 07:26:27 +0000 (00:26 -0700)
committerCharles McGarvey <chazmcgarvey@brokenzipper.com>
Sat, 5 Dec 2009 07:26:27 +0000 (00:26 -0700)
src/Moof/Engine.cc
src/Moof/Random.cc [deleted file]
src/Moof/Random.hh [deleted file]

index de7c0cba94356afdc190110e97afcef3121cdc73..785cb4b41ed67ee342cf8df535f9e6726e5d3a35 100644 (file)
@@ -27,7 +27,8 @@
 *******************************************************************************/
 
 #include <algorithm>
 *******************************************************************************/
 
 #include <algorithm>
-#include <cstdlib>                     // exit
+#include <cstdlib>                     // exit, srand
+#include <ctime>                       // time
 #include <list>
 #include <string>
 
 #include <list>
 #include <string>
 
@@ -41,7 +42,6 @@
 #include "Exception.hh"
 #include "Log.hh"
 #include "Math.hh"
 #include "Exception.hh"
 #include "Log.hh"
 #include "Math.hh"
-#include "Random.hh"
 #include "Settings.hh"
 #include "Timer.hh"
 
 #include "Settings.hh"
 #include "Timer.hh"
 
@@ -69,6 +69,12 @@ public:
                        const char* error = SDL_GetError();
                        throw Exception(ErrorCode::SDL_INIT, error);
                }
                        const char* error = SDL_GetError();
                        throw Exception(ErrorCode::SDL_INIT, error);
                }
+               else
+               {
+                       char vdName[128];
+                       SDL_VideoDriverName(vdName, sizeof(vdName));
+                       logDebug("initialized SDL; using video driver `%s'", vdName);
+               }
 
                if (FE_Init() != 0)
                {
 
                if (FE_Init() != 0)
                {
@@ -86,7 +92,7 @@ public:
                else
                {
                        alcMakeContextCurrent(mAlContext);
                else
                {
                        alcMakeContextCurrent(mAlContext);
-                       logDebug("opened sound device \"%s\"",
+                       logDebug("opened sound device `%s'",
                                        alcGetString(mAlDevice, ALC_DEFAULT_DEVICE_SPECIFIER));
                }
 
                                        alcGetString(mAlDevice, ALC_DEFAULT_DEVICE_SPECIFIER));
                }
 
@@ -95,8 +101,8 @@ public:
                Settings& settings = Settings::getInstance();
 
                unsigned randomSeed;
                Settings& settings = Settings::getInstance();
 
                unsigned randomSeed;
-               if (settings.get("rngseed", randomSeed)) setSeed(randomSeed);
-               else setSeed();
+               if (settings.get("rngseed", randomSeed)) srand(randomSeed);
+               else srand(time(0));
 
                Scalar timestep = 80.0;
                settings.get("timestep", timestep);
 
                Scalar timestep = 80.0;
                settings.get("timestep", timestep);
diff --git a/src/Moof/Random.cc b/src/Moof/Random.cc
deleted file mode 100644 (file)
index a881008..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-
-/*******************************************************************************
-
- Copyright (c) 2009, Charles McGarvey
- All rights reserved.
- Redistribution   and   use  in  source  and  binary  forms,  with  or  without
- modification, are permitted provided that the following conditions are met:
-   * Redistributions  of  source  code  must retain the above copyright notice,
-     this list of conditions and the following disclaimer.
-   * Redistributions  in binary form must reproduce the above copyright notice,
-     this  list of conditions and the following disclaimer in the documentation
-     and/or other materials provided with the distribution.
- THIS  SOFTWARE  IS  PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND  ANY  EXPRESS  OR  IMPLIED  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED.  IN  NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- FOR  ANY  DIRECT,  INDIRECT,  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES  (INCLUDING,  BUT  NOT  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES;  LOSS  OF  USE,  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED  AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-*******************************************************************************/
-
-#include <climits>             // ULONG_MAX
-#include <cmath>               // log
-#include <cstdlib>             // srand, rand, RAND_MAX
-#include <ctime>               // time
-
-#include "Random.hh"
-
-
-namespace Mf {
-
-
-unsigned setSeed(unsigned theSeed)
-{
-       srand(theSeed);
-       return theSeed;
-}
-
-unsigned setSeed()
-{
-       return setSeed(time(0));
-}
-
-
-template <typename T>
-T getRandom()
-{
-       const  float ln2 = 0.693147;
-       static const unsigned bitsPerPiece = std::log(float(RAND_MAX)) / ln2;
-       static const unsigned sizeOfType = sizeof(T) * 8;
-       static const unsigned pieces = sizeOfType / bitsPerPiece +
-                                                                ((sizeOfType % bitsPerPiece) ? 1 : 0);
-
-       T bits = 0;
-
-       // we need to call rand() multiple times if it won't provide enough random
-       // bits to fill the size of the given type
-       for (unsigned i = 0; i < pieces; i++)
-       {
-               long piece = rand();
-               bits |= piece << (i * bitsPerPiece);
-       }
-
-       return bits;
-}
-
-
-template <>
-bool getRandom<bool>()
-{
-       return rand() % 2;
-}
-
-template <typename T>
-T getRandom(T lower, T upper)
-{
-       unsigned short randInt = getRandom<unsigned int>();
-       return lower + T(randInt % (upper - lower + 1));
-}
-
-template <>
-float getRandom(float lower, float upper)
-{
-       unsigned long randInt = getRandom<unsigned long>();
-       return (float(randInt) / float(ULONG_MAX)) * (upper - lower) + lower;
-}
-
-template <>
-double getRandom(double lower, double upper)
-{
-       unsigned long long randInt = getRandom<unsigned long long>();
-       return (double(randInt) / double(ULLONG_MAX)) * (upper - lower) + lower;
-}
-
-template <>
-float getRandom()
-{
-       return getRandom<float>(0.0, 1.0);
-}
-
-template <>
-double getRandom()
-{
-       return getRandom<double>(0.0, 1.0);
-}
-
-
-}; // namespace Mf
-
-/** vim: set ts=4 sw=4 tw=80: *************************************************/
-
diff --git a/src/Moof/Random.hh b/src/Moof/Random.hh
deleted file mode 100644 (file)
index 3e6b1cf..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-
-/*******************************************************************************
-
- Copyright (c) 2009, Charles McGarvey
- All rights reserved.
- Redistribution   and   use  in  source  and  binary  forms,  with  or  without
- modification, are permitted provided that the following conditions are met:
-   * Redistributions  of  source  code  must retain the above copyright notice,
-     this list of conditions and the following disclaimer.
-   * Redistributions  in binary form must reproduce the above copyright notice,
-     this  list of conditions and the following disclaimer in the documentation
-     and/or other materials provided with the distribution.
- THIS  SOFTWARE  IS  PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND  ANY  EXPRESS  OR  IMPLIED  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED.  IN  NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- FOR  ANY  DIRECT,  INDIRECT,  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES  (INCLUDING,  BUT  NOT  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES;  LOSS  OF  USE,  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED  AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-*******************************************************************************/
-
-#ifndef _MOOF_RANDOM_HH_
-#define _MOOF_RANDOM_HH_
-
-/**
- * @file Random.hh
- * Simple pseudo-random number generators.
- */
-
-
-namespace Mf {
-
-/**
- * Provide the RNG with a seed.
- * @param theSeed
- * @return theSeed
- */
-
-unsigned setSeed(unsigned theSeed);
-
-/**
- * Seed the RNG with the current time. This is good enough in most cases.
- * @return The seed used.
- */
-
-unsigned setSeed();
-
-
-/**
- * The most generic generator gets enough random bits to fill the integer type.
- * @return Random value of maximum domain for type T.
- */
-
-template <typename T>
-T getRandom();
-
-
-/**
- * Get a random boolean value.
- * @return True or false.
- */
-
-template <>
-bool getRandom<bool>();
-
-
-/**
- * Get a random integer value with a limited domain.
- * @param lower Smallest possible value.
- * @param upper Largest possible value.
- * @return Integer between lower and upper, inclusive.
- */
-
-template <typename T>
-T getRandom(T lower, T upper);
-
-
-/**
- * Get a random float with a limited domain.
- * @param lower Smallest possible value.
- * @param upper Largest possible value.
- * @return Float between lower and upper, inclusive.
- */
-
-template <>
-float getRandom(float lower, float upper);
-
-/**
- * Get a random double with a limited domain.
- * @param lower Smallest possible value.
- * @param upper Largest possible value.
- * @return Double between lower and upper, inclusive.
- */
-
-template <>
-double getRandom(double lower, double upper);
-
-/**
- * Get a random float with a domain limited to [0.0, 1.0].
- * @return Float between 0.0 and 1.0, inclusive.
- */
-
-template <>
-float getRandom();
-
-/**
- * Get a random double with a domain limited to [0.0, 1.0].
- * @return Double between 0.0 and 1.0, inclusive.
- */
-
-template <>
-double getRandom();
-
-
-} // namespace Mf
-
-
-#endif // _MOOF_RANDOM_HH_
-
-/** vim: set ts=4 sw=4 tw=80: *************************************************/
-
This page took 0.028262 seconds and 4 git commands to generate.