Browse Source

no accumulate..MSVC dwants a header.

pull/432/head
sariug 6 years ago
parent
commit
ac524724bc
  1. 7
      src/Magnum/Math/Test/RandomTest.cpp

7
src/Magnum/Math/Test/RandomTest.cpp

@ -23,7 +23,6 @@ struct RandomTest : Corrade::TestSuite::Tester
void unitVector3(); void unitVector3();
void randomRotation(); void randomRotation();
void randomDiceChiSquare(); void randomDiceChiSquare();
}; };
typedef Vector<2, Float> Vector2; typedef Vector<2, Float> Vector2;
@ -82,14 +81,12 @@ void RandomTest::randomDiceChiSquare()
for (auto i = 0; i < 100; i++) for (auto i = 0; i < 100; i++)
{ {
std::vector<Int> faces(dice_side, 0); std::vector<Int> faces(dice_side, 0);
for (std::size_t i = 0; i < expected * dice_side; i++) for (std::size_t i = 0; i < expected * dice_side; i++)
faces[Math::Random::randomScalar<Int>(g, 0, dice_side - 1)]++; faces[Math::Random::randomScalar<Int>(g, 0, dice_side - 1)]++;
std::vector<Int> residual(dice_side, 0); Float chi_square = 0.0f;
for (std::size_t i = 0; i < dice_side; i++) for (std::size_t i = 0; i < dice_side; i++)
residual[i] = Float(pow((faces[i] - expected), 2)) / expected; chi_square += Float(pow((faces[i] - expected), 2)) / expected;
Float chi_square = std::accumulate(residual.begin(), residual.end(), 0.0);
if (chi_square > thresholdfor100) if (chi_square > thresholdfor100)
error_count++; error_count++;
} }

Loading…
Cancel
Save