void TestTest::test_twister() { QCOMPARE(twister(87), 78); QCOMPARE(twister(876), 678); }
int main() { constexpr int N = 128 ; static volatile std::size_t a[N] ; constexpr int M = 1024*1024 ; std::srand( std::time(nullptr) ) ; { std::cout << "std::iota: " ; cpu_timer timer ; for( int i = 0 ; i < M ; ++i ) std::iota( a, a+N, 0 ) ; } { std::cout << "std::random_shuffle: " ; cpu_timer timer ; for( int i = 0 ; i < M ; ++i ) std::random_shuffle( a, a+N ) ; } { std::cout << "std::shuffle (mt19937): " ; std::mt19937 twister( std::time(nullptr) ) ; cpu_timer timer ; for( int i = 0 ; i < M ; ++i ) std::shuffle( a, a+N, twister ) ; } }
int main(int argc, char** argv) { ros::init(argc, argv, "follower"); followerAction twister(ros::this_node::getName()); ros::spin(); return 0; }
void SpreadInfo::loadSpread(Spread newSpread, bool hgssEnabled) { spread = newSpread; MersenneTwister twister(spread.seed); PokemonRNG rng; rng.setSeed(spread.seed); coinFlips = tr("Coin Flips: "); elmCalls = tr("Elm Calls: "); for (int i = 0; i < 10; i++) { if ((twister.getNext() & 1) == 0) { coinFlips.append("T"); } else { coinFlips.append("H"); } switch (rng.getRand() % 3) { case 0: elmCalls.append("E"); break; case 1: elmCalls.append("K"); break; case 2: elmCalls.append("P"); break; } if (i < 9) { coinFlips.append(", "); elmCalls.append(", "); } } ui->seedLabel->setText(tr("Seed: 0x") + QString("%1").arg(spread.seed, 8, 16, QChar('0')).toUpper()); ui->method1Label->setText(tr("Method 1 Frame: %1").arg(spread.mainFrame)); ui->natureLabel->setText(tr("Nature: %1").arg(Spread::NatureNames[spread.nature()])); ui->ivLabel->setText(tr("IVs: %1/%2/%3/%4/%5/%6").arg(spread.ivs[0]).arg(spread.ivs[1]).arg(spread.ivs[2]).arg(spread.ivs[4]).arg(spread.ivs[5]).arg(spread.ivs[3])); methodJFrames.initialize(spread.mSeed, spread.mainFrame, hgss, spread.nature()); methodKFrames.initialize(spread.mSeed, spread.mainFrame, hgss, spread.nature()); setHgss(hgssEnabled); findTimes(); }