Documentation ¶
Index ¶
- type ConstantMember
- func (c *ConstantMember) Add(member EquationMember) *Expression
- func (c *ConstantMember) Div(member EquationMember) *Expression
- func (c *ConstantMember) Equals(member EquationMember) *Constraint
- func (c *ConstantMember) GreaterThanOrEqualTo(m EquationMember) *Constraint
- func (c *ConstantMember) IsConstant() bool
- func (c *ConstantMember) LessThanOrEqualTo(m EquationMember) *Constraint
- func (c *ConstantMember) Mult(member EquationMember) *Expression
- func (c *ConstantMember) Sub(member EquationMember) *Expression
- func (c *ConstantMember) Value() float64
- type Constraint
- type EquationMember
- type Expression
- func (exp *Expression) Add(member EquationMember) *Expression
- func (exp *Expression) Div(member EquationMember) *Expression
- func (exp *Expression) Equals(member EquationMember) *Constraint
- func (exp *Expression) GreaterThanOrEqualTo(member EquationMember) *Constraint
- func (exp *Expression) IsConstant() bool
- func (exp *Expression) LessThanOrEqualTo(member EquationMember) *Constraint
- func (exp *Expression) Mult(member EquationMember) *Expression
- func (exp *Expression) Sub(member EquationMember) *Expression
- func (exp *Expression) Value() float64
- type Param
- func (p *Param) Add(member EquationMember) *Expression
- func (p *Param) Div(member EquationMember) *Expression
- func (p *Param) Equals(member EquationMember) *Constraint
- func (p *Param) GreaterThanOrEqualTo(m EquationMember) *Constraint
- func (p *Param) IsConstant() bool
- func (p *Param) LessThanOrEqualTo(m EquationMember) *Constraint
- func (p *Param) Mult(member EquationMember) *Expression
- func (p *Param) Sub(member EquationMember) *Expression
- func (p *Param) Value() float64
- type Priority
- type Relation
- type Solver
- func (s *Solver) AddConstraint(constraint *Constraint) error
- func (s *Solver) AddConstraints(constraints ...*Constraint) error
- func (s *Solver) AddEditVariable(v *Variable, priority float64) error
- func (s *Solver) FlushUpdates() []*Update
- func (s *Solver) RemoveConstraint(constraint *Constraint) error
- func (s *Solver) RemoveConstraints(constraints ...*Constraint) error
- func (s *Solver) SuggestValueForVariable(v *Variable, value float64)
- type Term
- func (term *Term) Add(member EquationMember) *Expression
- func (term *Term) Div(member EquationMember) *Expression
- func (term *Term) Equals(member EquationMember) *Constraint
- func (term *Term) GreaterThanOrEqualTo(m EquationMember) *Constraint
- func (term *Term) IsConstant() bool
- func (term *Term) LessThanOrEqualTo(m EquationMember) *Constraint
- func (term *Term) Mult(member EquationMember) *Expression
- func (term *Term) Sub(member EquationMember) *Expression
- func (term *Term) Value() float64
- type Update
- type Variable
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConstantMember ¶
type ConstantMember struct {
// contains filtered or unexported fields
}
ConstantMember describes a constant part of an Expression which won't change when added to a Solver
func CM ¶
func CM(value float64) *ConstantMember
CM just creates a new ConstantMember containing the given constant specified by value
func NewConstantMember ¶
func NewConstantMember(value float64) *ConstantMember
NewConstantMember creates a new ConstantMember containing the given constant specified by value
func (*ConstantMember) Add ¶
func (c *ConstantMember) Add(member EquationMember) *Expression
Add creates an expression which represents the sum of this ConstantMember and another EquationMember
func (*ConstantMember) Div ¶
func (c *ConstantMember) Div(member EquationMember) *Expression
func (*ConstantMember) Equals ¶
func (c *ConstantMember) Equals(member EquationMember) *Constraint
func (*ConstantMember) GreaterThanOrEqualTo ¶
func (c *ConstantMember) GreaterThanOrEqualTo(m EquationMember) *Constraint
func (*ConstantMember) IsConstant ¶
func (c *ConstantMember) IsConstant() bool
IsConstant returns true if this EquationMember is a constant (Which is always true for constants)
func (*ConstantMember) LessThanOrEqualTo ¶
func (c *ConstantMember) LessThanOrEqualTo(m EquationMember) *Constraint
func (*ConstantMember) Mult ¶
func (c *ConstantMember) Mult(member EquationMember) *Expression
func (*ConstantMember) Sub ¶
func (c *ConstantMember) Sub(member EquationMember) *Expression
Sub creates an expression which represents the
func (*ConstantMember) Value ¶
func (c *ConstantMember) Value() float64
Value returns the value of this constant
type Constraint ¶
type Constraint struct { Priority Priority // contains filtered or unexported fields }
func NewConstraint ¶
func NewConstraint(exp *Expression, rel Relation) *Constraint
type EquationMember ¶
type EquationMember interface { IsConstant() bool Value() float64 GreaterThanOrEqualTo(m EquationMember) *Constraint LessThanOrEqualTo(m EquationMember) *Constraint Equals(m EquationMember) *Constraint Add(m EquationMember) *Expression Sub(m EquationMember) *Expression Mult(m EquationMember) *Expression Div(m EquationMember) *Expression // contains filtered or unexported methods }
type Expression ¶
type Expression struct {
// contains filtered or unexported fields
}
func FromExpression ¶
func FromExpression(exp *Expression) *Expression
func NewExpression ¶
func NewExpression(terms []*Term, constant float64) *Expression
func (*Expression) Add ¶
func (exp *Expression) Add(member EquationMember) *Expression
func (*Expression) Div ¶
func (exp *Expression) Div(member EquationMember) *Expression
func (*Expression) Equals ¶
func (exp *Expression) Equals(member EquationMember) *Constraint
func (*Expression) GreaterThanOrEqualTo ¶
func (exp *Expression) GreaterThanOrEqualTo(member EquationMember) *Constraint
func (*Expression) IsConstant ¶
func (exp *Expression) IsConstant() bool
func (*Expression) LessThanOrEqualTo ¶
func (exp *Expression) LessThanOrEqualTo(member EquationMember) *Constraint
func (*Expression) Mult ¶
func (exp *Expression) Mult(member EquationMember) *Expression
func (*Expression) Sub ¶
func (exp *Expression) Sub(member EquationMember) *Expression
func (*Expression) Value ¶
func (exp *Expression) Value() float64
type Param ¶
type Param struct { Variable *Variable Context interface{} }
func NewParamWithContext ¶
func (*Param) Add ¶
func (p *Param) Add(member EquationMember) *Expression
func (*Param) Div ¶
func (p *Param) Div(member EquationMember) *Expression
func (*Param) Equals ¶
func (p *Param) Equals(member EquationMember) *Constraint
func (*Param) GreaterThanOrEqualTo ¶
func (p *Param) GreaterThanOrEqualTo(m EquationMember) *Constraint
func (*Param) IsConstant ¶
func (*Param) LessThanOrEqualTo ¶
func (p *Param) LessThanOrEqualTo(m EquationMember) *Constraint
func (*Param) Mult ¶
func (p *Param) Mult(member EquationMember) *Expression
func (*Param) Sub ¶
func (p *Param) Sub(member EquationMember) *Expression
type Solver ¶
type Solver struct {
// contains filtered or unexported fields
}
func (*Solver) AddConstraint ¶
func (s *Solver) AddConstraint(constraint *Constraint) error
func (*Solver) AddConstraints ¶
func (s *Solver) AddConstraints(constraints ...*Constraint) error
func (*Solver) AddEditVariable ¶
func (*Solver) FlushUpdates ¶
func (*Solver) RemoveConstraint ¶
func (s *Solver) RemoveConstraint(constraint *Constraint) error
func (*Solver) RemoveConstraints ¶
func (s *Solver) RemoveConstraints(constraints ...*Constraint) error
func (*Solver) SuggestValueForVariable ¶
type Term ¶
type Term struct {
// contains filtered or unexported fields
}
func (*Term) Add ¶
func (term *Term) Add(member EquationMember) *Expression
func (*Term) Div ¶
func (term *Term) Div(member EquationMember) *Expression
func (*Term) Equals ¶
func (term *Term) Equals(member EquationMember) *Constraint
func (*Term) GreaterThanOrEqualTo ¶
func (term *Term) GreaterThanOrEqualTo(m EquationMember) *Constraint
func (*Term) IsConstant ¶
func (*Term) LessThanOrEqualTo ¶
func (term *Term) LessThanOrEqualTo(m EquationMember) *Constraint
func (*Term) Mult ¶
func (term *Term) Mult(member EquationMember) *Expression
func (*Term) Sub ¶
func (term *Term) Sub(member EquationMember) *Expression
Source Files ¶
Click to show internal directories.
Click to hide internal directories.