}
LogicDataSnapshot s(logic);
+ delete[] (uint8_t*)logic.data;
//----- Check the mip-map -----//
// Check mip map level 0
//----- Test get_subsampled_edges at reduced scale -----//
s.get_subsampled_edges(edges, 0, Length-1, 16.0f, 2);
- BOOST_REQUIRE_EQUAL(edges.size(), Cycles + 1);
+ BOOST_REQUIRE_EQUAL(edges.size(), Cycles + 2);
- for(int i = 0; i < edges.size(); i++)
+ BOOST_CHECK_EQUAL(0, false);
+ for(int i = 1; i < edges.size(); i++)
BOOST_CHECK_EQUAL(edges[i].second, false);
}
//----- Create a LogicDataSnapshot -----//
sr_datafeed_logic logic;
- logic.unitsize = 1;
+ logic.unitsize = 8;
logic.length = Length;
- logic.data = (uint64_t*)new uint8_t[Length];
- uint8_t *p = (uint8_t*)logic.data;
+ logic.data = (uint64_t*)new uint64_t[Length];
+ uint64_t *p = (uint64_t*)logic.data;
for(int i = 0; i < Cycles; i++) {
for(j = 0; j < PulseWidth; j++)
- *p++ = 0xFF;
+ *p++ = ~0;
for(j; j < Period; j++)
- *p++ = 0x00;
+ *p++ = 0;
}
LogicDataSnapshot s(logic);
+ delete[] (uint64_t*)logic.data;
//----- Check the mip-map -----//
// Check mip map level 0
for(j = 0; i < s._mip_map[0].length && j < 2; j++) {
BOOST_TEST_MESSAGE(
"Testing mip_map[0].data[" << i << "]");
- BOOST_CHECK_EQUAL(s.get_subsample(0, i++) & 0xFF, 0xFF);
+ BOOST_CHECK_EQUAL(s.get_subsample(0, i++), ~0);
}
for(j; i < s._mip_map[0].length &&
j < Period/LogicDataSnapshot::MipMapScaleFactor; j++) {
BOOST_TEST_MESSAGE(
"Testing mip_map[0].data[" << i << "]");
- BOOST_CHECK_EQUAL(s.get_subsample(0, i++) & 0xFF, 0x00);
+ BOOST_CHECK_EQUAL(s.get_subsample(0, i++), 0);
}
}
edges.clear();
s.get_subsampled_edges(edges, 0, Length-1, 17.0f, 2);
- for(int i = 0; i < Cycles; i++) {
- BOOST_CHECK_EQUAL(edges[i].first, i * Period);
- BOOST_CHECK_EQUAL(edges[i].second, false);
+ BOOST_CHECK_EQUAL(edges[0].first, 0);
+ BOOST_CHECK_EQUAL(edges[0].second, true);
+ BOOST_CHECK_EQUAL(edges[1].first, 16);
+ BOOST_CHECK_EQUAL(edges[1].second, false);
+
+ for(int i = 1; i < Cycles; i++) {
+ BOOST_CHECK_EQUAL(edges[i+1].first, i * Period);
+ BOOST_CHECK_EQUAL(edges[i+1].second, false);
}
BOOST_CHECK_EQUAL(edges.back().first, Length-1);