Package edu.jas.root

Class Interval<C extends RingElem<C> & Rational>

  • Type Parameters:
    C - coefficient type.
    All Implemented Interfaces:
    java.io.Serializable

    public class Interval<C extends RingElem<C> & Rational>
    extends java.lang.Object
    implements java.io.Serializable
    Interval. For example isolating interval for real roots.
    Author:
    Heinz Kredel
    See Also:
    Serialized Form
    • Constructor Detail

      • Interval

        public Interval​(C left,
                        C right)
        Constructor.
        Parameters:
        left - interval border.
        right - interval border.
      • Interval

        public Interval​(C mid)
        Constructor.
        Parameters:
        mid - left and right interval border.
    • Method Detail

      • toString

        public java.lang.String toString()
        String representation of Interval.
        Overrides:
        toString in class java.lang.Object
        See Also:
        Object.toString()
      • toScript

        public java.lang.String toScript()
        Get a scripting compatible string representation.
        Returns:
        script compatible representation for this Interval.
      • copy

        public Interval<Ccopy()
        Copy this.
        Returns:
        a copy of this.
      • equals

        public boolean equals​(java.lang.Object b)
        Comparison with any other object.
        Overrides:
        equals in class java.lang.Object
        See Also:
        Object.equals(java.lang.Object)
      • hashCode

        public int hashCode()
        Hash code for this Interval.
        Overrides:
        hashCode in class java.lang.Object
        See Also:
        Object.hashCode()
      • contains

        public boolean contains​(C c)
        Test if an element is contained in this interval.
        Parameters:
        c - element to test.
        Returns:
        true, if left ≤ b ≤ right;
      • contains

        public boolean contains​(Interval<C> vc)
        Test if an interval is contained in this interval.
        Parameters:
        vc - interval to test.
        Returns:
        true, if left ≤ vc.left and vc.right ≤ right;
      • length

        public C length()
        Length.
        Returns:
        |left-right|;
      • middle

        public C middle()
        Middle point.
        Returns:
        (left+right)/2;
      • randomPoint

        public C randomPoint()
        Random point of interval.
        Returns:
        a random point contained in this interval.
      • sum

        public Interval<Csum​(Interval<C> o)
        Sum of intervals.
        Parameters:
        o - other interval.
        Returns:
        this+other
      • subtract

        public Interval<Csubtract​(Interval<C> o)
        Subtract intervals.
        Parameters:
        o - other interval.
        Returns:
        this-other
      • multiply

        public Interval<Cmultiply​(Interval<C> o)
        Multiply intervals.
        Parameters:
        o - other interval.
        Returns:
        this*other