Skip to content

Commit

Permalink
Fix MSVC compatibility
Browse files Browse the repository at this point in the history
Make sure to include random unittests in android builds, too
Use SWAP() macro
Ensure that negative ranges are tested as well in random unittests
  • Loading branch information
kwolekr committed Apr 29, 2015
1 parent b6475f5 commit 37ca321
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 20 deletions.
1 change: 1 addition & 0 deletions build/android/jni/Android.mk
Expand Up @@ -221,6 +221,7 @@ LOCAL_SRC_FILES := \
jni/src/unittest/test_nodedef.cpp \
jni/src/unittest/test_noise.cpp \
jni/src/unittest/test_profiler.cpp \
jni/src/unittest/test_random.cpp \
jni/src/unittest/test_serialization.cpp \
jni/src/unittest/test_settings.cpp \
jni/src/unittest/test_socket.cpp \
Expand Down
3 changes: 1 addition & 2 deletions src/mg_decoration.cpp
Expand Up @@ -310,8 +310,7 @@ int DecoSimple::getHeight()
///////////////////////////////////////////////////////////////////////////////


DecoSchematic::DecoSchematic() :
Decoration::Decoration()
DecoSchematic::DecoSchematic()
{
schematic = NULL;
}
Expand Down
2 changes: 1 addition & 1 deletion src/noise.cpp
Expand Up @@ -148,7 +148,7 @@ s32 PcgRandom::randNormalDist(s32 min, s32 max, int num_trials)
s32 accum = 0;
for (int i = 0; i != num_trials; i++)
accum += range(min, max);
return round((float)accum / num_trials);
return myround((float)accum / num_trials);
}

///////////////////////////////////////////////////////////////////////////////
Expand Down
28 changes: 11 additions & 17 deletions src/unittest/test_random.cpp
Expand Up @@ -74,13 +74,10 @@ void TestRandom::testPseudoRandomRange()
EXCEPTION_CHECK(PrngException, pr.range(5, 1));

for (u32 i = 0; i != 32768; i++) {
int min = pr.next() % 3000;
int max = pr.next() % 3000;
if (min > max) {
int temp = min;
min = max;
max = temp;
}
int min = (pr.next() % 3000) - 500;
int max = (pr.next() % 3000) - 500;
if (min > max)
SWAP(int, min, max);

int randval = pr.range(min, max);
UASSERT(randval >= min);
Expand All @@ -105,13 +102,10 @@ void TestRandom::testPcgRandomRange()
EXCEPTION_CHECK(PrngException, pr.range(5, 1));

for (u32 i = 0; i != 32768; i++) {
int min = pr.next() % 3000;
int max = pr.next() % 3000;
if (min > max) {
int temp = min;
min = max;
max = temp;
}
int min = (pr.next() % 3000) - 500;
int max = (pr.next() % 3000) - 500;
if (min > max)
SWAP(int, min, max);

int randval = pr.range(min, max);
UASSERT(randval >= min);
Expand Down Expand Up @@ -146,7 +140,7 @@ void TestRandom::testPcgRandomNormalDist()
s32 bins[max - min + 1];
memset(bins, 0, sizeof(bins));

PcgRandom r(486456179 + (int)time(NULL));
PcgRandom r(486179 + (int)time(NULL));

for (u32 i = 0; i != num_samples; i++) {
s32 randval = r.randNormalDist(min, max, num_trials);
Expand All @@ -173,8 +167,8 @@ void TestRandom::testPcgRandomNormalDist()
//// Simple normality test using the 68-95-99.7% rule
for (u32 i = 0; i != ARRLEN(prediction_intervals); i++) {
float deviations = i / 2.f + 1.f;
int lbound = round(mean - deviations * stddev);
int ubound = round(mean + deviations * stddev);
int lbound = myround(mean - deviations * stddev);
int ubound = myround(mean + deviations * stddev);
UASSERT(lbound >= min);
UASSERT(ubound <= max);

Expand Down

0 comments on commit 37ca321

Please sign in to comment.