Page MenuHomeHEPForge

test_RegularSampler1D.cc
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

test_RegularSampler1D.cc

#include "UnitTest++.h"
#include "npstat/rng/RegularSampler1D.hh"
#include "npstat/rng/EquidistantSampler1D.hh"
using namespace npstat;
using namespace std;
namespace {
TEST(RegularSampler1D)
{
RegularSampler1D sampler;
CHECK_EQUAL(0.5, sampler());
CHECK_EQUAL(0.25, sampler());
CHECK_EQUAL(0.75, sampler());
CHECK_EQUAL(0.125, sampler());
CHECK_EQUAL(0.375, sampler());
CHECK_EQUAL(0.625, sampler());
CHECK_EQUAL(0.875, sampler());
CHECK_EQUAL(7ULL, sampler.nCalls());
CHECK_EQUAL(1ULL, RegularSampler1D::uniformCount(0));
CHECK_EQUAL(3ULL, RegularSampler1D::uniformCount(1));
CHECK_EQUAL(7ULL, RegularSampler1D::uniformCount(2));
CHECK_EQUAL(15ULL, RegularSampler1D::uniformCount(3));
CHECK_EQUAL(31ULL, RegularSampler1D::uniformCount(4));
}
TEST(EquidistantSampler1D)
{
const unsigned npt = 25;
const double eps = 1.0e-14;
EquidistantSampler1D sampler1(npt);
for (unsigned i=0; i<npt; ++i)
CHECK_CLOSE(1.0/npt*(i + 0.5), sampler1(), eps);
EquidistantSampler1D sampler2(npt, false);
for (unsigned i=0; i<npt; ++i)
CHECK_CLOSE(1.0 - 1.0/npt*(i + 0.5), sampler2(), eps);
}
}

File Metadata

Mime Type
text/x-c
Expires
Tue, Sep 30, 4:45 AM (15 h, 39 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
6558928
Default Alt Text
test_RegularSampler1D.cc (1 KB)

Event Timeline