Class BoundedIntegerVector

  • All Implemented Interfaces:
    IntegerValued, Copyable<IntegerVector>

    public final class BoundedIntegerVector
    extends IntegerVector
    A class for representing the input to a multivariate function, with integer values that are bounded in some interval [min, max].
    • Constructor Detail

      • BoundedIntegerVector

        public BoundedIntegerVector​(int[] x,
                                    int min,
                                    int max)
        Initializes the vector to the specified values, subject to the given bounds [min, max].
        Parameters:
        x - The initial values for the vector. Any values that are less than min will instead be set to min. Any values that are greater than max will instead be set to max.
        min - The minimum allowed value for each integer.
        max - The maximum allowed value for each integer.
        Throws:
        IllegalArgumentException - if min > max
      • BoundedIntegerVector

        public BoundedIntegerVector​(BoundedIntegerVector other)
        Copies a BoundedIntegerVector.
        Parameters:
        other - The other BoundedIntegerVector
    • Method Detail

      • set

        public final void set​(int i,
                              int value)
        Sets a parameter to a specified value, subject to the lower and upper bounds for this function input. If the specified new value is less than the min, then the function input is set to the min. If the specified new value is greater than the max, then the function input is set to the max. Otherwise, the function input is set to the specified value.
        Specified by:
        set in interface IntegerValued
        Overrides:
        set in class IntegerVector
        Parameters:
        i - The input to set.
        value - The new value for the i-th function input.
        Throws:
        ArrayIndexOutOfBoundsException - if i < 0 or i ≥ length().
      • equals

        public boolean equals​(Object other)
        Indicates whether some other object is "equal to" this one. To be equal, the other object must be of the same runtime type and contain the same values and bounds.
        Overrides:
        equals in class IntegerVector
        Parameters:
        other - The other object to compare.
        Returns:
        true if other is not null, is of the same runtime type as this, and contains the same values and bounds.
      • hashCode

        public int hashCode()
        Returns a hash code value.
        Overrides:
        hashCode in class IntegerVector
        Returns:
        a hash code value