/** * Returns the {@linkplain #getMinDouble() minimum value} with the specified inclusive or exclusive state. * If this range is unbounded, then {@link Double#NEGATIVE_INFINITY} is returned. * * @param inclusive {@code true} for the minimum value inclusive, or * {@code false} for the minimum value exclusive. * @return the minimum value, inclusive or exclusive as requested. */ public double getMinDouble(final boolean inclusive) { double value = getMinDouble(); if (inclusive != isMinIncluded()) { value = next(getElementType(), value, inclusive); } return value; }
/** * Returns the {@linkplain #getMinDouble() minimum value} with the specified inclusive or exclusive state. * If this range is unbounded, then {@link Double#NEGATIVE_INFINITY} is returned. * * @param inclusive {@code true} for the minimum value inclusive, or * {@code false} for the minimum value exclusive. * @return the minimum value, inclusive or exclusive as requested. */ public double getMinDouble(final boolean inclusive) { double value = getMinDouble(); if (inclusive != isMinIncluded()) { value = next(getElementType(), value, inclusive); } return value; }
final Number minimum = range.getMinValue(); final Number maximum = range.getMaxValue(); if (range.isMinIncluded()) noDataValues.add(Numbers.cast(minimum, widestClass)); if (range.isMaxIncluded()) noDataValues.add(Numbers.cast(maximum, widestClass)); if (Numbers.isInteger(range.getElementType())) {
/** * Creates a range initialized to the given value. */ private MultiplicityRange(final NumberRange<Integer> range) { if (range != null) { lower = range.getMinValue(); if (lower == null) { lower = NilReason.UNKNOWN.createNilObject(Integer.class); } else if (!range.isMinIncluded()) { lower = Math.incrementExact(lower); } upper = new UnlimitedInteger(range.getMaxValue(), range.isMaxIncluded()); } else { lower = 0; upper = new UnlimitedInteger(); // Initialized to missing value. } }
boolean minIncluded = r.isMinIncluded(); boolean maxIncluded = r.isMaxIncluded(); final double[] extremums = {
Numbers.getEnumConstant(data.getAttributeType(CDM.ADD_OFFSET)))) final boolean isMinIncluded = range.isMinIncluded(); final boolean isMaxIncluded = range.isMaxIncluded(); double minimum = (range.getMinDouble() - offset) / scale;
isMinIncluded = converted.isMinIncluded(); // This is the usual case. isMaxIncluded = converted.isMaxIncluded(); } else { isMinIncluded = samples.isMinIncluded(); // Less common case. isMaxIncluded = samples.isMaxIncluded();
/** * Tests the sample values range and converged values range after construction of a list of categories. */ @Test public void testRanges() { final CategoryList list = new CategoryList(categories(), null); assertSorted(list); assertTrue ("isMinIncluded", list.range.isMinIncluded()); assertFalse ("isMaxIncluded", list.range.isMaxIncluded()); assertFalse ("converse.isMinIncluded", list.converse.range.isMinIncluded()); // Because computed from maxValue before conversion. assertFalse ("converse.isMaxIncluded", list.converse.range.isMaxIncluded()); assertEquals("minValue", 0, ((Number) list.range .getMinValue()).doubleValue(), STRICT); assertEquals("maxValue", 120, ((Number) list.range .getMaxValue()).doubleValue(), STRICT); assertEquals("converse.minValue", -117, ((Number) list.converse.range.getMinValue()).doubleValue(), STRICT); assertEquals("converse.maxValue", 15, ((Number) list.converse.range.getMaxValue()).doubleValue(), STRICT); assertEquals("converse.minValue", -117, list.converse.range.getMinDouble(false), STRICT); assertEquals("converse.maxValue", 15, list.converse.range.getMaxDouble(false), STRICT); assertEquals("converse.minValue", -116, list.converse.range.getMinDouble(true), CategoryTest.EPS); assertEquals("converse.maxValue", 14.9, list.converse.range.getMaxDouble(true), CategoryTest.EPS); }