Empty

case class Empty[A] extends Interval[A]
trait Product
trait Equals
class Interval[A]
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
Inherited from:
Interval
Inherited from:
Interval
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
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
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