BaseFiniteEquationSystem

abstract class BaseFiniteEquationSystem[U, V, EQS <: BaseFiniteEquationSystem[U, V, EQS]] extends BaseEquationSystem[U, V, EQS] with FiniteEquationSystem[U, V, EQS]

The base abstract implementation for finite equation systems.

Type parameters:
EQS

the type of the equation system. Operations returning a new equation system generally return EQS.

U

the type for the unknowns

V

the type for the values assumed by the unknowns.

Source:
FiniteEquationSystem.scala
trait FiniteEquationSystem[U, V, EQS]
class BaseEquationSystem[U, V, EQS]
trait Cloneable
trait EquationSystem[U, V, EQS]
class Object
trait Matchable
class Any

Value members

Abstract methods

protected def initialInfl: Relation[U, U]

The initial influence relation of the equation system. Depending of the presence of combos, the initial relaton is manipulated in order to obtain the real influence relation of the equation system.

The initial influence relation of the equation system. Depending of the presence of combos, the initial relaton is manipulated in order to obtain the real influence relation of the equation system.

Source:
FiniteEquationSystem.scala

Concrete methods

override def infl: Relation[U, U]

The static relation between an unknown x and the unknowns y it influences. If infl(x) does not contain y, it means that apply(rho)(y) \== apply(rho')(y), when rho' = rho[x / eqs(rho)(x)].

The static relation between an unknown x and the unknowns y it influences. If infl(x) does not contain y, it means that apply(rho)(y) \== apply(rho')(y), when rho' = rho[x / eqs(rho)(x)].

Definition Classes
Source:
FiniteEquationSystem.scala

Inherited methods

override def body: U => V

Returns the body of this equation system.

Returns the body of this equation system.

Note:

The body is generated starting from the initial body of the equation system, adding combos, base assignment and tracer according to the requests of the user.

Definition Classes
Inherited from:
BaseEquationSystem
Source:
EquationSystem.scala
override def bodyWithDependencies: U => V

Returns the body with dependencies of the equations system. It is implemented by calling scalafix#withDependencies.

Returns the body with dependencies of the equations system. It is implemented by calling scalafix#withDependencies.

Definition Classes
Inherited from:
BaseEquationSystem
Source:
EquationSystem.scala
override protected def clone(): EQS

A type-aware clone operation. An equation system is immutable as long as the public interface is concerned, but cloning is used to simplify implementation.

A type-aware clone operation. An equation system is immutable as long as the public interface is concerned, but cloning is used to simplify implementation.

Definition Classes
Inherited from:
BaseEquationSystem
Source:
EquationSystem.scala
override def getMutableAssignment(rho: U => V): MutableAssignment[U, V]

Returns a mutable assignment based on the provided initial assignment.

Returns a mutable assignment based on the provided initial assignment.

Note:

Returns the default mutable assignment assignments.MapBasedMutableAssignment

Definition Classes
Inherited from:
BaseEquationSystem
Source:
EquationSystem.scala
protected def initialBody: U => V

The initial body of the equation system. Depending of the presence of combos, base assignments or tracers, the initial body is manipulated in order to obtain the real body of the equation system.

The initial body of the equation system. Depending of the presence of combos, base assignments or tracers, the initial body is manipulated in order to obtain the real body of the equation system.

Inherited from:
BaseEquationSystem
Source:
EquationSystem.scala

The unknowns which may be considered the input to this equation system.

The unknowns which may be considered the input to this equation system.

Note:

Although theoretically it would be more correct to replace this type with Set[U], this would make data reuse harder.

Inherited from:
FiniteEquationSystem
Source:
FiniteEquationSystem.scala

The collection of all the unknowns.

The collection of all the unknowns.

Note:

Although theoretically it would be more correct to replace this type with Set[U], this would make data reuse harder.

Inherited from:
FiniteEquationSystem
Source:
FiniteEquationSystem.scala
override def withBaseAssignment(baseAssignment: PartialFunction[U, V], op: (V, V) => V): EQS

Returns the equation system modified with the specified base assignment.

Returns the equation system modified with the specified base assignment.

Definition Classes
Inherited from:
BaseEquationSystem
Source:
EquationSystem.scala
override def withCombos(combos: ComboAssignment[U, V]): EQS

Returns the equation system modified with the specified combo assignment.

Returns the equation system modified with the specified combo assignment.

Definition Classes
Inherited from:
BaseEquationSystem
Source:
EquationSystem.scala
override def withTracer(tracer: EquationSystemTracer[U, V]): EQS

Returns the equation system with an additional tracer. The tracer contains callbacks which are invoked during body evaluation.

Returns the equation system with an additional tracer. The tracer contains callbacks which are invoked during body evaluation.

Definition Classes
Inherited from:
BaseEquationSystem
Source:
EquationSystem.scala

Inherited fields

protected var optBaseAssignment: Option[(PartialFunction[U, V], (V, V) => V)]

An optional specification for a base assignment we want to add to the equation system.

An optional specification for a base assignment we want to add to the equation system.

Inherited from:
BaseEquationSystem
Source:
EquationSystem.scala
protected var optCombos: Option[ComboAssignment[U, V]]

An optional assignment of combos to the unknowns.

An optional assignment of combos to the unknowns.

Inherited from:
BaseEquationSystem
Source:
EquationSystem.scala
protected var optTracer: Option[EquationSystemTracer[U, V]]

An optional tracer for monitoring the execution of the body.

An optional tracer for monitoring the execution of the body.

Inherited from:
BaseEquationSystem
Source:
EquationSystem.scala