Changeset 94605f for src/RandomNumbers
- Timestamp:
- May 5, 2016, 5:14:19 PM (10 years ago)
- Parents:
- 4a319a
- git-author:
- Frederik Heber <heber@…> (05/05/16 14:54:56)
- git-committer:
- Frederik Heber <heber@…> (05/05/16 17:14:19)
- Location:
- src/RandomNumbers
- Files:
-
- 5 edited
-
RandomNumberDistributionFactory.hpp (modified) (1 diff)
-
RandomNumberEngineFactory.hpp (modified) (1 diff)
-
unittests/RandomNumberDistributionFactoryUnitTest.cpp (modified) (3 diffs)
-
unittests/RandomNumberEngineFactoryUnitTest.cpp (modified) (1 diff)
-
unittests/RandomNumberGeneratorFactoryUnitTest.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/RandomNumbers/RandomNumberDistributionFactory.hpp
r4a319a r94605f 59 59 virtual ~RandomNumberDistributionFactory(); 60 60 61 //!> expose namemap 62 using ManipulablePrototypeFactory<RandomNumberDistribution, RandomNumberDistribution_Parameters>::NameMap; 61 63 }; 62 64 -
src/RandomNumbers/RandomNumberEngineFactory.hpp
r4a319a r94605f 59 59 virtual ~RandomNumberEngineFactory(); 60 60 61 //!> expose namemap 62 using ManipulablePrototypeFactory<RandomNumberEngine, RandomNumberEngine_Parameters>::NameMap; 61 63 }; 62 64 -
src/RandomNumbers/unittests/RandomNumberDistributionFactoryUnitTest.cpp
r4a319a r94605f 104 104 { 105 105 // check the injectiveness of enum and string map 106 for (RandomNumberDistributionFactory::NameMap::const_iterator 107 iter = RandomNumberDistributionFactory::getInstance().names.begin(); 108 iter != RandomNumberDistributionFactory::getInstance().names.end(); 106 const RandomNumberDistributionFactory& factory = RandomNumberDistributionFactory::getConstInstance(); 107 for (RandomNumberDistributionFactory::NameMap::const_iterator iter = 108 RandomNumberDistributionFactory::names.begin(); 109 iter != RandomNumberDistributionFactory::names.end(); 109 110 ++iter) { 110 111 CPPUNIT_ASSERT_EQUAL( 111 112 iter->second, 112 RandomNumberDistributionFactory::getInstance().getName( 113 RandomNumberDistributionFactory::getInstance().getEnum( 114 iter->second 115 ) 116 ) 113 factory.getName( factory.getEnum(iter->second) ) 117 114 ); 118 115 } 119 116 120 117 // check one of the distributions in the table 121 rndA = RandomNumberDistributionFactory::getInstance(). 122 ManipulablePrototypeTable[RandomNumberDistributionFactory::uniform_smallint]->clone(); 118 rndA = RandomNumberDistributionFactory::ManipulablePrototypeTable[RandomNumberDistributionFactory::uniform_smallint]->clone(); 123 119 CPPUNIT_ASSERT_EQUAL( 124 120 std::string(typeid(boost::uniform_smallint<> ).name()), … … 129 125 CPPUNIT_ASSERT_EQUAL( 0., rndA->min() ); 130 126 CPPUNIT_ASSERT_EQUAL( 9., rndA->max() ); 127 rndA = NULL; 131 128 } 132 129 133 130 void RandomNumberDistributionFactoryTest::PrototypeManipulationTest() 134 131 { 132 const RandomNumberDistributionFactory& factory = RandomNumberDistributionFactory::getConstInstance(); 135 133 // make unmodified clone 136 rndA_1 = RandomNumberDistributionFactory::getInstance(). 137 getProduct(RandomNumberDistributionFactory::uniform_smallint); 134 rndA_1 = factory.getProduct(RandomNumberDistributionFactory::uniform_smallint); 138 135 139 136 // do something with the prototype … … 157 154 manipulatePrototype(std::string("uniform_smallint"), *params); 158 155 // ... and check 159 rndA_3 = RandomNumberDistributionFactory::getInstance(). 160 getProduct(RandomNumberDistributionFactory::uniform_smallint); 156 rndA_3 = factory.getProduct(RandomNumberDistributionFactory::uniform_smallint); 161 157 CPPUNIT_ASSERT_EQUAL( 25., rndA_3->max()); 162 158 CPPUNIT_ASSERT( rndA_1->max() != rndA_3->max()); -
src/RandomNumbers/unittests/RandomNumberEngineFactoryUnitTest.cpp
r4a319a r94605f 108 108 { 109 109 // check the injectiveness of enum and string map 110 const RandomNumberEngineFactory &factory = RandomNumberEngineFactory::getConstInstance(); 110 111 for (RandomNumberEngineFactory::NameMap::const_iterator 111 iter = RandomNumberEngineFactory:: getInstance().names.begin();112 iter != RandomNumberEngineFactory:: getInstance().names.end();112 iter = RandomNumberEngineFactory::names.begin(); 113 iter != RandomNumberEngineFactory::names.end(); 113 114 ++iter) { 114 115 CPPUNIT_ASSERT_EQUAL( 115 116 iter->second, 116 RandomNumberEngineFactory::getInstance().getName( 117 RandomNumberEngineFactory::getInstance().getEnum( 118 iter->second 119 ) 120 ) 117 factory.getName( factory.getEnum(iter->second) ) 121 118 ); 122 119 } -
src/RandomNumbers/unittests/RandomNumberGeneratorFactoryUnitTest.cpp
r4a319a r94605f 104 104 { 105 105 // check one of the engines and distributions 106 RandomNumberGenerator& rng = *(RandomNumberGeneratorFactory::getInstance().107 GeneratorPrototypeTable[RandomNumberEngineFactory::minstd_rand0]108 [RandomNumberDistributionFactory::uniform_smallint] );106 const RandomNumberGenerator& rng = 107 *RandomNumberGeneratorFactory::GeneratorPrototypeTable[RandomNumberEngineFactory::minstd_rand0] 108 [RandomNumberDistributionFactory::uniform_smallint]; 109 109 CPPUNIT_ASSERT_EQUAL( 110 110 std::string(typeid(boost::minstd_rand0).name()),
Note:
See TracChangeset
for help on using the changeset viewer.
