Expr

object Expr
Companion:
class
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Expr.type

Type members

Classlikes

case class Add(lhs: Expr, rhs: Expr) extends AddOrSubExpr
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.

case class ConstantDouble(value: Double) extends Constant[Double]
case class ConstantLong(value: Long) extends Constant[Long]
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
case class KRoot(sub: Expr, k: Int) extends UnaryExpr
case class Mul(lhs: Expr, rhs: Expr) extends BinaryExpr
case class Neg(sub: Expr) extends UnaryExpr
case class Pow(sub: Expr, k: Int) extends UnaryExpr
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

The name of the type

The name of the type

Inherited from:
Mirror