Items array data generation incomplete
I'm finding that sometimes items contains uninitialized values.
I think the initialisation code has a probability of not filling every member of the items array:
auto itemsCursor = 0ul;
for(size_t i = 0ul; i < db.ordersCardinality; i++) {
auto v = lcg();
int numberOfItemsPerOrderVariation = ((v & 2)>>1) + (v & 1) - 1;
size_t numberOfItemsPerOrder =
averageNumberOfItemsPerOrder + numberOfItemsPerOrderVariation; // fix this
for(size_t j = 0; (j < numberOfItemsPerOrder) && (itemsCursor < db.itemsCardinality); j++) {
// ...
itemsCursor++;
}
}
e.g. if ordersCardinality is 256 and itemsCardinality is 1024, depending on how numberOfItemsPerOrder varies itemsCursor may not iterate completely through every element.