diff --git a/common/DatasetSettings.cpp b/common/DatasetSettings.cpp index aed1e68a..c6665018 100644 --- a/common/DatasetSettings.cpp +++ b/common/DatasetSettings.cpp @@ -103,7 +103,13 @@ DatasetSettings &DatasetSettings::Compression(CompressionAlgorithm input) { } DatasetSettings &DatasetSettings::SetUnitCell(const std::optional &cell) { - if (cell && (cell->a * cell->b * cell->c * cell->alpha * cell->beta * cell->gamma != 0.0)) { + if (cell + && (cell->a > 0.0) && std::isfinite(cell->a) + && (cell->b > 0.0) && std::isfinite(cell->b) + && (cell->c > 0.0) && std::isfinite(cell->c) + && (cell->alpha > 0.0) && std::isfinite(cell->alpha) + && (cell->beta > 0.0) && std::isfinite(cell->beta) + && (cell->gamma > 0.0) && std::isfinite(cell->gamma)) { check_min("Angle alpha", cell->alpha, 0); check_min("Angle beta", cell->beta, 0);