Class/Object

spire.math.Algebraic

Expr

Related Docs: object Expr | package Algebraic

Permalink

sealed abstract class Expr extends Serializable

The Algebraic expression AST. Algebraic simply stores an expression tree representing all operations performed on it. We then use this tree to deduce certain properties about the algebraic expression and use them to perform exact sign tests, compute approximations, etc.

Generally, this should be regarded as an internal implementation detail of Algebraic.

Linear Supertypes
Serializable, Serializable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Expr
  2. Serializable
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def children: List[Expr]

    Permalink

    Returns a list of the children of this expression.

    Returns a list of the children of this expression. A child is a sub-expression required by this expression. For instance, Add has 2 children, the left-hand and right-hand side sub-expressions. A numeric literal expression, such as ConstantDouble or ConstantRational has no children.

  2. abstract def flagBits: Int

    Permalink
    Attributes
    protected
  3. abstract def signum: Int

    Permalink

    Returns an integer with the same sign as this expression.

  4. abstract def toBigDecimal(digits: Int): BigDecimal

    Permalink

    Returns an asbolute approximation to this expression as a BigDecimal that is accurate up to +/- 10^-digits.

  5. abstract def upperBound: BitBound

    Permalink

    Returns an upper bound on the absolute value of this expression as a bit bound.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def bfmssBound: BitBound

    Permalink

    Returns the BFMSS separation bound.

  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. def degreeBound: Long

    Permalink

    Returns a bound on the degree of this expression.

  8. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. def flags: Flags

    Permalink

    A set of flags we can quickly compute for an Algebraic expression.

    A set of flags we can quickly compute for an Algebraic expression.

    Note

    we have to do this round-about trip between flagsBits and flags because of

  12. def getBound(zbf: ZeroBoundFunction): Bound

    Permalink

    Returns the bound for zbf, using a cached value if it is available.

  13. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  14. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. def liYapBound: BitBound

    Permalink

    Returns the Li & Yap separation bound.

  17. def lowerBound: BitBound

    Permalink

    Returns a lower bound on the absolute value of this expression as a bit bound.

    Returns a lower bound on the absolute value of this expression as a bit bound.

    TODO: We could do better here wrt to addition (need a fastSignum: Option[Int])

  18. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  19. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  21. def separationBound: BitBound

    Permalink

    Returns a separation bound for this expression as a bit bound.

    Returns a separation bound for this expression as a bit bound. A separation bound is a lower-bound on the value of this expression that is only valid if this expression is not 0. This bound can thus be used to determine if this value is actually 0 and, if not, the sign, by simply approximating the expression with enough accuracy that it falls on one side or the other of the separation bound.

  22. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  23. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  24. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped