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.
- Alphabetic
- By Inheritance
- Expr
- Serializable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
children: List[Expr]
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,
Addhas 2 children, the left-hand and right-hand side sub-expressions. A numeric literal expression, such asConstantDoubleorConstantRationalhas no children. -
abstract
def
flagBits: Int
- Attributes
- protected
-
abstract
def
signum: Int
Returns an integer with the same sign as this expression.
-
abstract
def
toBigDecimal(digits: Int): BigDecimal
Returns an asbolute approximation to this expression as a BigDecimal that is accurate up to +/- 10^-digits.
-
abstract
def
upperBound: BitBound
Returns an upper bound on the absolute value of this expression as a bit bound.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
bfmssBound: BitBound
Returns the BFMSS separation bound.
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
degreeBound: Long
Returns a bound on the degree of this expression.
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
flags: Flags
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
-
def
getBound(zbf: ZeroBoundFunction): Bound
Returns the bound for
zbf, using a cached value if it is available. -
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
liYapBound: BitBound
Returns the Li & Yap separation bound.
-
def
lowerBound: BitBound
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])
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
separationBound: BitBound
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.
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )