public boolean canUnionWith(final FloatingPointInterval<T> other) { final int ll = _lower.compareTo(other._lower); final int uu = _upper.compareTo(other._upper); if (ll <= 0) { if (uu < 0) { if (_upper.compareTo(other._lower) < 0) return _type.increment(_upper).equals(other._lower); else return true; } else return true; } else if (uu > 0) { if (_lower.compareTo(other._upper) > 0) return _type.increment(other._upper).equals(_lower); else return true; } else return true; }
public boolean canUnionWith(final FloatingPointInterval<T> other) { final int ll = _lower.compareTo(other._lower); final int uu = _upper.compareTo(other._upper); if (ll <= 0) { if (uu < 0) { if (_upper.compareTo(other._lower) < 0) return _type.increment(_upper).equals(other._lower); else return true; } else return true; } else if (uu > 0) { if (_lower.compareTo(other._upper) > 0) return _type.increment(other._upper).equals(_lower); else return true; } else return true; }
else final T f = _type.increment(other._upper); if (f.equals(_type.getPositiveInfinity())) after = null; else after = create(_type.increment(other._upper), _upper); final T f = _type.increment(other._upper); if (f.equals(_type.getPositiveInfinity())) after = create(_type.increment(other._upper), _upper); else after = null;
else final T f = _type.increment(other._upper); if (f.equals(_type.getPositiveInfinity())) after = null; else after = create(_type.increment(other._upper), _upper); final T f = _type.increment(other._upper); if (f.equals(_type.getPositiveInfinity())) after = create(_type.increment(other._upper), _upper); else after = null;
/** * Get the subinterval greater than n * * @param n * @return a new interval, formed by intersecting this interval with (n,+inf) or <code>null</code> if that intersection is empty */ public FloatingPointInterval<T> greater(final T n) { if (n == null) throw new NullPointerException(); if (_type.isNaN(n)) throw new IllegalArgumentException(); if (getLower().compareTo(n) >= 0) return this; else if (getUpper().compareTo(n) <= 0) return null; else return create(_type.increment(n), getUpper()); }
/** * Get the subinterval greater than n * * @param n * @return a new interval, formed by intersecting this interval with (n,+inf) or <code>null</code> if that intersection is empty */ public FloatingPointInterval<T> greater(final T n) { if (n == null) throw new NullPointerException(); if (_type.isNaN(n)) throw new IllegalArgumentException(); if (getLower().compareTo(n) >= 0) return this; else if (getUpper().compareTo(n) <= 0) return null; else return create(_type.increment(n), getUpper()); }