java.lang.Object
org.optaplanner.core.impl.domain.valuerange.AbstractUncountableValueRange<Double>
org.optaplanner.core.impl.domain.valuerange.buildin.primdouble.DoubleValueRange
All Implemented Interfaces:
ValueRange<Double>

public class DoubleValueRange extends AbstractUncountableValueRange<Double>
Note: Floating point numbers (float, double) cannot represent a decimal number correctly. If floating point numbers leak into the scoring function, they are likely to cause score corruptions. To avoid that, use either BigDecimal or fixed-point arithmetic.
  • Constructor Details

    • DoubleValueRange

      public DoubleValueRange(double from, double to)
      Parameters:
      from - inclusive minimum
      to - exclusive maximum, >= from
  • Method Details

    • isEmpty

      public boolean isEmpty()
      Description copied from interface: ValueRange
      In a CountableValueRange, this must be consistent with CountableValueRange.getSize().
      Returns:
      true if the range is empty
    • contains

      public boolean contains(Double value)
      Parameters:
      value - sometimes null
      Returns:
      true if the ValueRange contains that value
    • createRandomIterator

      public Iterator<Double> createRandomIterator(Random workingRandom)
      Description copied from interface: ValueRange
      Select in random order, but without shuffling the elements. Each element might be selected multiple times. Scales well because it does not require caching.
      Parameters:
      workingRandom - never null, the Random to use when any random number is needed, so runs are reproducible.
      Returns:
      never null
    • toString

      public String toString()
      Overrides:
      toString in class Object