Expr

object Expr
Companion
class
trait Sum
trait Mirror
class Object
trait Matchable
class Any

Type members

Classlikes

@SerialVersionUID(0L)
case
class Add(lhs: Expr, rhs: Expr) extends AddOrSubExpr
@SerialVersionUID(0L)
sealed abstract
class AddOrSubExpr extends BinaryExpr
sealed abstract
class BinaryExpr extends Expr

Binary expressions contain 2 child expression.

Binary expressions contain 2 child expression.

sealed abstract
class Constant[A] extends Expr

Constant expressions are leaf nodes, contains literal numbers.

Constant expressions are leaf nodes, contains literal numbers.

@SerialVersionUID(0L)
case
class ConstantBigDecimal(value: BigDecimal) extends Constant[BigDecimal]
@SerialVersionUID(0L)
case
class ConstantDouble(value: Double) extends Constant[Double]
@SerialVersionUID(0L)
case
class ConstantLong(value: Long) extends Constant[Long]
@SerialVersionUID(0L)
case
@SerialVersionUID(0L)
case
class ConstantRoot(poly: Polynomial[BigInt], i: Int, lb: Rational, ub: Rational) extends Constant[Polynomial[BigInt]]
@SerialVersionUID(0L)
case
class Div(lhs: Expr, rhs: Expr) extends BinaryExpr
final
class Flags(val bits: Int) extends AnyVal

A set of flags for algebraic expressions, so we can quickly determine some properties, like whether the expression is rational, radical, what types of leaf nodes it has, etc. This is used to help guide algorithmic choices, such as what separation bound to use.

A set of flags for algebraic expressions, so we can quickly determine some properties, like whether the expression is rational, radical, what types of leaf nodes it has, etc. This is used to help guide algorithmic choices, such as what separation bound to use.

Companion
object
object Flags
Companion
class
@SerialVersionUID(0L)
case
class KRoot(sub: Expr, k: Int) extends UnaryExpr
@SerialVersionUID(0L)
case
class Mul(lhs: Expr, rhs: Expr) extends BinaryExpr
@SerialVersionUID(0L)
case
class Neg(sub: Expr) extends UnaryExpr
@SerialVersionUID(0L)
case
class Pow(sub: Expr, k: Int) extends UnaryExpr
@SerialVersionUID(0L)
case
class Sub(lhs: Expr, rhs: Expr) extends AddOrSubExpr
sealed abstract
class UnaryExpr extends Expr

Unary expressions contain only a single child expression.

Unary expressions contain only a single child expression.

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from
Mirror