bool ContainerUtility::checkRange(Matrix3d & mm, double minVal, double maxVal) { assert(minVal < maxVal); // Go through each element in the matrix and ensure they are not // NaN and fall within the specified min and max values. for (int ii = 0; ii < mm.rows(); ii++) { for (int jj = 0; jj < mm.cols(); jj++) { if (isnan(mm(ii, jj))) { CONTROLIT_WARN << "(Matrix): NaN detected at index (" << ii << ", " << jj << "), returning false!"; return false; } if (mm(ii, jj) > maxVal || mm(ii, jj) < minVal) { CONTROLIT_WARN << "(Matrix): Value of out range at index (" << ii << ", " << jj << "), returning false.\n" " - value = " << mm(ii, jj) << "\n" " - minVal = " << minVal << "\n" " - maxVal = " << maxVal; return false; } } } return true; }