EllipseGenerator generates indices out of bounds
Adding a line similar to the operator()
which takes an index vector like this:
template <typename data_t>
data_t& DataContainer<data_t>::operator()(IndexVector_t coordinate)
{
const auto arr = coordinate.array();
const auto shape = _dataDescriptor->getNumberOfCoefficientsPerDimension().array();
if((arr >= shape).all()) {
throw Error("This is wrong");
}
return (*this)[_dataDescriptor->getIndexFromCoordinate(std::move(coordinate))];
}
The EllipseGenerator
triggers this if statement. This mostly happens with volume sizes of powers of two. But also isn't 100% reproducible, I'm not sure why.