Below

case
class Below[A] extends Interval[A]
trait Product
trait Equals
class Interval[A]
trait Serializable
class Object
trait Matchable
class Any

Value members

Concrete methods

Inherited methods

def &(rhs: Interval[A])(implicit o: Order[A]): Interval[A]
Inherited from
Interval
def *(rhs: A)(implicit o: Order[A], ev: Semiring[A]): Interval[A]
Inherited from
Interval
def *(rhs: Interval[A])(implicit o: Order[A], ev: Semiring[A]): Interval[A]
Inherited from
Interval
def +(rhs: A)(implicit ev: AdditiveSemigroup[A]): Interval[A]
Inherited from
Interval
def +(rhs: Interval[A])(implicit o: Order[A], ev: AdditiveSemigroup[A]): Interval[A]
Inherited from
Interval
def -(rhs: A)(implicit ev: AdditiveGroup[A]): Interval[A]
Inherited from
Interval
def -(rhs: Interval[A])(implicit o: Order[A], ev: AdditiveGroup[A]): Interval[A]
Inherited from
Interval
def --(rhs: Interval[A])(implicit o: Order[A]): List[Interval[A]]
Inherited from
Interval
def /(rhs: A)(implicit o: Order[A], ev: Field[A]): Interval[A]
Inherited from
Interval
def /(rhs: Interval[A])(implicit o: Order[A], ev: Field[A]): Interval[A]
Inherited from
Interval
def \(rhs: Interval[A])(implicit o: Order[A]): List[Interval[A]]
Inherited from
Interval
def abs(implicit o: Order[A], m: AdditiveGroup[A]): Interval[A]
Inherited from
Interval
def bottom(epsilon: A)(implicit r: AdditiveGroup[A]): Option[A]
Inherited from
Interval
def combine(rhs: Interval[A])(f: (A, A) => A)(implicit o: Order[A]): Interval[A]
Inherited from
Interval
def contains(t: A)(implicit o: Order[A]): Boolean
Inherited from
Interval
def crosses(t: A)(implicit o: Order[A]): Boolean
Inherited from
Interval
def crossesZero(implicit o: Order[A], ev: AdditiveMonoid[A]): Boolean
Inherited from
Interval
def dist(min: A, max: A, epsilon: A)(implicit u: Uniform[A], r: AdditiveGroup[A]): Dist[A]
Inherited from
Interval
def doesNotContain(t: A)(implicit o: Order[A]): Boolean
Inherited from
Interval
def fold[B](f: (Bound[A], Bound[A]) => B): B
Inherited from
Interval
def foldOver[B](init: B, step: A)(f: (B, A) => B)(implicit o: Order[A], ev: AdditiveMonoid[A], nt: NumberTag[A]): B
Inherited from
Interval
def hasAbove(t: A)(implicit o: Order[A]): Boolean
Inherited from
Interval
def hasAtOrAbove(t: A)(implicit o: Order[A]): Boolean
Inherited from
Interval
def hasAtOrBelow(t: A)(implicit o: Order[A]): Boolean
Inherited from
Interval
def hasBelow(t: A)(implicit o: Order[A]): Boolean
Inherited from
Interval
def intersect(rhs: Interval[A])(implicit o: Order[A]): Interval[A]
Inherited from
Interval
def intersects(rhs: Interval[A])(implicit o: Order[A]): Boolean
Inherited from
Interval
def isAt(t: A)(implicit o: Eq[A]): Boolean
Inherited from
Interval
def isBounded: Boolean
Inherited from
Interval
def isEmpty: Boolean
Inherited from
Interval
def isPoint: Boolean
Inherited from
Interval
def isProperSubsetOf(rhs: Interval[A])(implicit o: Order[A]): Boolean
Inherited from
Interval
def isProperSupersetOf(rhs: Interval[A])(implicit o: Order[A]): Boolean
Inherited from
Interval
def isSubsetOf(rhs: Interval[A])(implicit o: Order[A]): Boolean
Inherited from
Interval
def isSupersetOf(rhs: Interval[A])(implicit o: Order[A]): Boolean
Inherited from
Interval
def iterator(step: A)(implicit o: Order[A], ev: AdditiveMonoid[A], nt: NumberTag[A]): Iterator[A]

Build an Iterator[A] from an Interval[A] and a (step: A) parameter.

Build an Iterator[A] from an Interval[A] and a (step: A) parameter.

A positive 'step' means we are proceeding from the lower bound up, and a negative 'step' means we are proceeding from the upper bound down. In each case, the interval must be bounded on the side we are starting with (though it may be unbound on the opposite side). A zero 'step' is not allowed.

The step is repeatedly added to the starting parameter as long as the sum remains within the interval. This means that arithmetic error can accumulate (e.g. with doubles). However, this method does overflow checking to ensure that Intervals parameterized on integer types will behave correctly.

Users who want to avoid using arithmetic error should consider starting with an Interval[Rational], calling iterator with the exact step desired, then mapping to the original type (e.g. Double). For example:

 val ns = Interval.closed(Rational(0), Rational(5))
 val it = ns.iterator(Rational(1, 7)).map(_.toDouble)

This method provides some of the same functionality as Scala's NumericRange class.

Inherited from
Interval
def loop(step: A)(f: A => Unit)(implicit o: Order[A], ev: AdditiveMonoid[A], nt: NumberTag[A]): Unit
Inherited from
Interval
def mapAroundZero[B](f: Interval[A] => B)(implicit o: Order[A], ev: AdditiveMonoid[A]): (B, B)
Inherited from
Interval
def mapBounds[B : Order](f: A => B): Interval[B]
Inherited from
Interval
def nonEmpty: Boolean
Inherited from
Interval
def nroot(k: Int)(implicit o: Order[A], r: Ring[A], n: NRoot[A]): Interval[A]
Inherited from
Interval
def overlap(rhs: Interval[A])(implicit o: Order[A]): Overlap[A]

Result of overlapping this interval with another one. Can be one of the following:

Result of overlapping this interval with another one. Can be one of the following:

  • Equal if intervals are equal
  • Disjoint if intervals are notEmpty don't intersect
  • PartialOverlap if intervals intersect and neither is a subset of another
  • Subset if one interval (possibly empty) is a subset of another

Except for Equal, both original intervals are bound to respective result fields, allowing to determine exact overlap type.

For example (pseudo-code):

{
   val a = [5, 6]
   val b = (0, 1)

   // this returns Disjoint(b, a). Note a and b placement here, it means that b is strictly less then a.
   a.overlap(b)
}
Inherited from
Interval
def pow(k: Int)(implicit o: Order[A], r: Ring[A]): Interval[A]
Inherited from
Interval
def productElementNames: Iterator[String]
Inherited from
Product
def productIterator: Iterator[Any]
Inherited from
Product
def reciprocal(implicit o: Order[A], ev: Field[A]): Interval[A]
Inherited from
Interval
def split(t: A)(implicit o: Order[A]): (Interval[A], Interval[A])
Inherited from
Interval
def splitAtZero(implicit o: Order[A], ev: AdditiveMonoid[A]): (Interval[A], Interval[A])
Inherited from
Interval
def sqrt(implicit o: Order[A], r: Ring[A], n: NRoot[A]): Interval[A]
Inherited from
Interval
override
def toString(): String
Definition Classes
Interval -> Any
Inherited from
Interval
def top(epsilon: A)(implicit r: AdditiveGroup[A]): Option[A]
Inherited from
Interval
def translate(p: Polynomial[A])(implicit o: Order[A], ev: Field[A]): Interval[A]

Apply the given polynomial to the interval.

Apply the given polynomial to the interval.

For every point contained in the interval, this method maps that point through the given polynomial. The resulting interval is the set of all the translated points. I.e.

result = { p(x) | x ∈ interval }

Inherited from
Interval
def unary_-(implicit ev: AdditiveGroup[A]): Interval[A]
Inherited from
Interval
def unary_~(implicit o: Order[A]): List[Interval[A]]
Inherited from
Interval
def union(rhs: Interval[A])(implicit o: Order[A]): Interval[A]
Inherited from
Interval
def vmax(rhs: Interval[A])(implicit o: Order[A]): Interval[A]
Inherited from
Interval
def vmin(rhs: Interval[A])(implicit o: Order[A]): Interval[A]
Inherited from
Interval
def |(rhs: Interval[A])(implicit o: Order[A]): Interval[A]
Inherited from
Interval
def ∈:(a: A)(implicit o: Order[A]): Boolean
Inherited from
Interval
def ∉:(a: A)(implicit o: Order[A]): Boolean
Inherited from
Interval
def (rhs: A)(implicit o: Order[A]): Boolean
Inherited from
Interval
def (rhs: A)(implicit o: Order[A]): Boolean
Inherited from
Interval
def (rhs: Interval[A])(implicit o: Order[A]): Interval[A]
Inherited from
Interval
def (rhs: Interval[A])(implicit o: Order[A]): Interval[A]
Inherited from
Interval
def (rhs: Interval[A])(implicit o: Order[A]): Boolean
Inherited from
Interval
def (rhs: Interval[A])(implicit o: Order[A]): Boolean
Inherited from
Interval
def (rhs: Interval[A])(implicit o: Order[A]): Boolean
Inherited from
Interval
def (rhs: Interval[A])(implicit o: Order[A]): Boolean
Inherited from
Interval