in commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/AbstractBounds.java [295:326]
protected boolean updateNearFar(final ToDoubleFunction<P> coordinateFn) {
final double dir = coordinateFn.applyAsDouble(getLineDir());
final double origin = coordinateFn.applyAsDouble(getLineOrigin());
final double minCoord = coordinateFn.applyAsDouble(min);
final double maxCoord = coordinateFn.applyAsDouble(max);
double t1 = (minCoord - origin) / dir;
double t2 = (maxCoord - origin) / dir;
if (!Double.isFinite(t1) || !Double.isFinite(t2)) {
// the line is parallel to this dimension; only continue if the
// line origin lies between the min and max for this dimension
return precision.gte(origin, minCoord) && precision.lte(origin, maxCoord);
}
if (t1 > t2) {
final double temp = t1;
t1 = t2;
t2 = temp;
}
if (t1 > near) {
near = t1;
}
if (t2 < far) {
far = t2;
}
return precision.lte(near, far);
}