Interface RangeHalfOpenBType

All Known Implementing Classes:
RangeHalfOpenB

@Immutable public interface RangeHalfOpenBType
A half open (inclusive lower, exclusive upper) range with BigInteger components.
Since:
4.0.0
  • Method Details

    • lower

      @Parameter BigInteger lower()
      Returns:
      The lower bound of the inclusive range.
    • upper

      @Parameter BigInteger upper()
      Returns:
      The upper bound of the inclusive range.
    • interval

      default BigInteger interval()

      Retrieve the number of values in the range [lower, upper]. That is, (upper - lower).

      Returns:
      The number of values in the range
    • includesValue

      default boolean includesValue(BigInteger value)

      Determine if the given value is included in this range.

      Parameters:
      value - The given value
      Returns:
      true iff value >= this.getLower() && value < this.getUpper() .
    • isIncludedIn

      default boolean isIncludedIn(RangeInclusiveB other)

      Determine if the given range is included in this range.

      Parameters:
      other - The given range
      Returns:
      true iff this.getLower() >= other.getLower() && this.getUpper() <= other.getUpper() .
    • isIncludedIn

      default boolean isIncludedIn(RangeHalfOpenB other)

      Determine if the given range is included in this range.

      Parameters:
      other - The given range
      Returns:
      true iff this.getLower() >= other.getLower() && this.getUpper() <= other.getUpper() .
    • checkPreconditions

      @Check default void checkPreconditions()
      Check preconditions for the type.