This is the classowary Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 05:35:45 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
classowary
An implementation of the Cassowary linear constraint solver toolkit
Yukari Hafner <shinmera@tymoon.eu>
Yukari Hafner <shinmera@tymoon.eu>
zlib
1.0.0
documentation-utils
(system).
package.lisp
(file).
toolkit.lisp
(file).
conditions.lisp
(file).
symbol.lisp
(file).
expression.lisp
(file).
constraint.lisp
(file).
cassowary.lisp
(file).
documentation.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
classowary/classowary.asd
classowary/package.lisp
classowary/toolkit.lisp
classowary/conditions.lisp
classowary/symbol.lisp
classowary/expression.lisp
classowary/constraint.lisp
classowary/cassowary.lisp
classowary/documentation.lisp
classowary/toolkit.lisp
package.lisp
(file).
classowary
(system).
+medium+
(constant).
+none+
(constant).
+required+
(constant).
+strong+
(constant).
+weak+
(constant).
->strength
(function).
~=
(function).
~zerop
(function).
classowary/conditions.lisp
toolkit.lisp
(file).
classowary
(system).
assertion-violated
(condition).
classowary-condition
(condition).
expression
(reader method).
expression
(reader method).
expression-unbound
(condition).
expression-unsatisfied
(condition).
solver
(reader method).
solver
(reader method).
solver
(reader method).
variable
(reader method).
variable-not-suggestable
(condition).
when-ok
(macro).
classowary/symbol.lisp
conditions.lisp
(file).
classowary
(system).
*symbol-ids*
(special variable).
dummy-p
(function).
error-p
(function).
external-p
(function).
mksym
(function).
pivotable-p
(function).
slack-p
(function).
write-sym
(function).
classowary/expression.lisp
symbol.lisp
(file).
classowary
(system).
describe-object
(method).
describe-object
(method).
expression
(structure).
print-object
(method).
print-object
(method).
term
(structure).
%make-expression
(function).
add-expression
(function).
add-variable
(function).
clear-expression
(function).
constant-p
(function).
copy-expression
(function).
copy-term
(function).
do-terms
(macro).
ensure-term
(function).
expression-constant
(reader).
(setf expression-constant)
(writer).
expression-infeasible-p
(reader).
(setf expression-infeasible-p)
(writer).
expression-key
(reader).
(setf expression-key)
(writer).
expression-p
(function).
expression-terms
(reader).
(setf expression-terms)
(writer).
find-term
(function).
(setf find-term)
(function).
make-term
(function).
multiply
(function).
reset-expression
(function).
solve-for
(function).
substitute
(function).
term-key
(reader).
(setf term-key)
(writer).
term-multiplier
(reader).
(setf term-multiplier)
(writer).
term-p
(function).
classowary/constraint.lisp
expression.lisp
(file).
classowary
(system).
add-term
(compiler macro).
add-term
(function).
auto-update
(function).
(setf auto-update)
(function).
clone-constraint
(function).
constrain
(macro).
constrain-with
(function).
constraint
(structure).
delete-constraint
(function).
delete-variable
(function).
describe-object
(method).
describe-object
(method).
describe-object
(method).
find-constraint
(function).
(setf find-constraint)
(function).
find-variable
(function).
(setf find-variable)
(function).
make-constraint
(function).
make-variable
(function).
print-object
(method).
print-object
(method).
print-object
(method).
relation
(function).
(setf relation)
(function).
remove-term
(compiler macro).
remove-term
(function).
reset-constraint
(function).
solver
(method).
solver
(method).
solver
(structure).
value
(function).
variable
(structure).
with-variables
(macro).
%make-constraint
(function).
%make-solver
(function).
%make-variable
(function).
add-constant
(function).
add-variable-term
(function).
constraint-expression
(reader).
(setf constraint-expression)
(writer).
constraint-marker
(reader).
(setf constraint-marker)
(writer).
constraint-other
(reader).
(setf constraint-other)
(writer).
constraint-p
(function).
constraint-relation
(reader).
(setf constraint-relation)
(writer).
constraint-solver
(reader).
(setf constraint-solver)
(writer).
constraint-strength
(reader).
(setf constraint-strength)
(writer).
copy-constraint
(function).
copy-solver
(function).
copy-variable
(function).
do-constraints
(macro).
do-expressions
(macro).
do-variables
(macro).
ensure-expression
(function).
find-expression
(function).
(setf find-expression)
(function).
merge-constraint-into
(function).
reduce-expression
(function).
solver-auto-update
(reader).
(setf solver-auto-update)
(writer).
solver-constraints
(reader).
(setf solver-constraints)
(writer).
solver-dirty-variables
(reader).
(setf solver-dirty-variables)
(writer).
solver-expressions
(reader).
(setf solver-expressions)
(writer).
solver-infeasible-expressions
(reader).
(setf solver-infeasible-expressions)
(writer).
solver-objective
(reader).
(setf solver-objective)
(writer).
solver-p
(function).
solver-variables
(reader).
(setf solver-variables)
(writer).
variable-constraint
(reader).
(setf variable-constraint)
(writer).
variable-dirty-p
(reader).
(setf variable-dirty-p)
(writer).
variable-edit-value
(reader).
(setf variable-edit-value)
(writer).
variable-p
(function).
variable-solver
(reader).
(setf variable-solver)
(writer).
variable-symbol
(reader).
(setf variable-symbol)
(writer).
variable-value
(reader).
(setf variable-value)
(writer).
classowary/cassowary.lisp
constraint.lisp
(file).
classowary
(system).
add-constraint
(function).
constrained-p
(function).
make-solver
(function).
make-suggestable
(function).
make-unsuggestable
(function).
remove-constraint
(function).
reset-solver
(function).
strength
(function).
(setf strength)
(function).
suggest
(function).
suggestable-p
(function).
update-variables
(function).
add-with-artificial
(function).
delta-edit-constant
(function).
dual-optimize
(function).
get-expression
(function).
get-leaving-expression
(function).
make-expression
(function).
mark-dirty
(function).
mark-infeasible
(function).
merge-expression
(function).
optimize-for
(function).
put-expression
(function).
remove-errors
(function).
substitute-expressions
(function).
try-add-expression
(function).
with-protection
(macro).
classowary/documentation.lisp
cassowary.lisp
(file).
classowary
(system).
Packages are listed by definition order.
org.shirakumo.classowary
common-lisp
.
+medium+
(constant).
+none+
(constant).
+required+
(constant).
+strong+
(constant).
+weak+
(constant).
add-constraint
(function).
add-term
(compiler macro).
add-term
(function).
assertion-violated
(condition).
auto-update
(function).
(setf auto-update)
(function).
classowary-condition
(condition).
clone-constraint
(function).
constrain
(macro).
constrain-with
(function).
constrained-p
(function).
constraint
(structure).
delete-constraint
(function).
delete-variable
(function).
expression
(generic reader).
expression
(structure).
expression-unbound
(condition).
expression-unsatisfied
(condition).
find-constraint
(function).
(setf find-constraint)
(function).
find-variable
(function).
(setf find-variable)
(function).
make-constraint
(function).
make-solver
(function).
make-suggestable
(function).
make-unsuggestable
(function).
make-variable
(function).
relation
(function).
(setf relation)
(function).
remove-constraint
(function).
remove-term
(compiler macro).
remove-term
(function).
reset-constraint
(function).
reset-solver
(function).
solver
(generic function).
solver
(structure).
strength
(function).
(setf strength)
(function).
suggest
(function).
suggestable-p
(function).
term
(structure).
update-variables
(function).
value
(function).
variable
(generic reader).
variable
(structure).
variable-not-suggestable
(condition).
with-variables
(macro).
%make-constraint
(function).
%make-expression
(function).
%make-solver
(function).
%make-variable
(function).
*symbol-ids*
(special variable).
->strength
(function).
add-constant
(function).
add-expression
(function).
add-variable
(function).
add-variable-term
(function).
add-with-artificial
(function).
clear-expression
(function).
constant-p
(function).
constraint-expression
(reader).
(setf constraint-expression)
(writer).
constraint-marker
(reader).
(setf constraint-marker)
(writer).
constraint-other
(reader).
(setf constraint-other)
(writer).
constraint-p
(function).
constraint-relation
(reader).
(setf constraint-relation)
(writer).
constraint-solver
(reader).
(setf constraint-solver)
(writer).
constraint-strength
(reader).
(setf constraint-strength)
(writer).
copy-constraint
(function).
copy-expression
(function).
copy-solver
(function).
copy-term
(function).
copy-variable
(function).
delta-edit-constant
(function).
do-constraints
(macro).
do-expressions
(macro).
do-terms
(macro).
do-variables
(macro).
dual-optimize
(function).
dummy-p
(function).
ensure-expression
(function).
ensure-term
(function).
error-p
(function).
expression-constant
(reader).
(setf expression-constant)
(writer).
expression-infeasible-p
(reader).
(setf expression-infeasible-p)
(writer).
expression-key
(reader).
(setf expression-key)
(writer).
expression-p
(function).
expression-terms
(reader).
(setf expression-terms)
(writer).
external-p
(function).
find-expression
(function).
(setf find-expression)
(function).
find-term
(function).
(setf find-term)
(function).
get-expression
(function).
get-leaving-expression
(function).
make-expression
(function).
make-term
(function).
mark-dirty
(function).
mark-infeasible
(function).
merge-constraint-into
(function).
merge-expression
(function).
mksym
(function).
multiply
(function).
optimize-for
(function).
pivotable-p
(function).
put-expression
(function).
reduce-expression
(function).
remove-errors
(function).
reset-expression
(function).
slack-p
(function).
solve-for
(function).
solver-auto-update
(reader).
(setf solver-auto-update)
(writer).
solver-constraints
(reader).
(setf solver-constraints)
(writer).
solver-dirty-variables
(reader).
(setf solver-dirty-variables)
(writer).
solver-expressions
(reader).
(setf solver-expressions)
(writer).
solver-infeasible-expressions
(reader).
(setf solver-infeasible-expressions)
(writer).
solver-objective
(reader).
(setf solver-objective)
(writer).
solver-p
(function).
solver-variables
(reader).
(setf solver-variables)
(writer).
substitute
(function).
substitute-expressions
(function).
term-key
(reader).
(setf term-key)
(writer).
term-multiplier
(reader).
(setf term-multiplier)
(writer).
term-p
(function).
try-add-expression
(function).
variable-constraint
(reader).
(setf variable-constraint)
(writer).
variable-dirty-p
(reader).
(setf variable-dirty-p)
(writer).
variable-edit-value
(reader).
(setf variable-edit-value)
(writer).
variable-p
(function).
variable-solver
(reader).
(setf variable-solver)
(writer).
variable-symbol
(reader).
(setf variable-symbol)
(writer).
variable-value
(reader).
(setf variable-value)
(writer).
when-ok
(macro).
with-protection
(macro).
write-sym
(function).
~=
(function).
~zerop
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Constant for constraints with a medium weight.
Corresponds to 1e3. You can also specify the keyword :medium instead of this constant wherever strengths are accepted.
Constant for constraints with no weight.
Corresponds to 0e0. You can also specify the keyword :none instead of this constant wherever strengths are accepted.
Constant for constraints with a very high weight.
Corresponds to 1e9. You can also specify the keyword :required instead of this constant wherever strengths are accepted.
Constant for constraints with a high weight.
Corresponds to 1e6. You can also specify the keyword :strong instead of this constant wherever strengths are accepted.
Constant for constraints with a weak weight.
Corresponds to 1e0. You can also specify the keyword :weak instead of this constant wherever strengths are accepted.
Constrain the linear system in the solver.
The constraint should be an expression of the following form:
CONSTRAINT ::= (RELATION EXPRESSION EXPRESSION)
RELATION ::= <= | = | >=
EXPRESSION ::= TERM | COMPOUND
COMPOUND ::= (+ EXPRESSION*)
| (- EXPRESSION+)
| (* EXPRESSION*)
| (/ EXPRESSION+)
TERM ::= variable | real | (quote quoted)
variable — A CL variable binding name.
quoted — A symbol naming a solver variable.
real — A real number.
If a quoted variable is used, the variable is retrieved from the
solver, or created if it does not exist yet. It will have the name of
the quoted symbol. Otherwise the variable denotes a CL variable whose
value must be of type VARIABLE.
If the expression contains non-linear terms, such as the
multiplication of two variables, or the division by a variable, an
error is signalled at macro-expansion-time.
This macro is a short-hand to create constraint, add terms, set the
relation, and add the constraint to the solver.
The new constraint instance is returned.
See CONSTRAINT (type)
See SOLVER (type)
See MAKE-CONSTRAINT
See ADD-TERM
See RELATION
See ADD-CONSTRAINT
Convenience macro to create and bind multiple variables at once.
Each binding must follow this structure:
BINDING ::= variable | (variable name? strength?)
variable — The CL variable the solver variable is bound to.
name — The name of the solver variable as a symbol.
This can later be used to retrieve the variable. If no
explicit name is given, the CL variable name is used.
strength — The strength of the variable if it is newly created.
If a variable with the given name already exists in the solver, it is
returned. Otherwise, a new variable of the given name is created. If
NAME is NIL, a new variable is always created.
Note that the variables are /not/ deleted on exit from the body.
See VARIABLE (type)
See SOLVER (type)
See FIND-VARIABLE
See MAKE-VARIABLE
Adds the constraint to its solver.
Without this, the constraint will not apply.
If the solver is AUTO-UPDATE, the variables will be updated after this
operation.
See SOLVER
See CONSTRAINT (type)
See REMOVE-CONSTRAINT
Adds the given term description to the constraint.
This corresponds to a term of either
number
or
number*variable
being added to the constraint depending on whether the variable is
given.
Note that adding or removing terms can automatically cancel out as soon as either the constant term of the expression reaches zero, or the multiplier of a variable term reaches zero. In the latter case, the variable term is automatically removed from the expression.
Returns the updated constraint.
See CONSTRAINT (type)
See VARIABLE (type)
See REMOVE-TERM
Accessor to whether the solver automatically updates variables on changes.
See SOLVER (type)
Return a copy of the given constraint.
This will copy the constraint including its terms into a fresh
instance.
See CONSTRAINT (type)
See MAKE-CONSTRAINT
See DELETE-CONSTRAINT
Constrain the linear system in the solver.
This is like CONSTRAIN, except that this is a function and can thus
accept run-time expressions. Instead of variables being either literal
symbols or quoted symbols, you can pass VARIABLE instances or symbols
to achieve the equivalent effects.
The new constraint instance is returned.
See CONSTRAIN
See VARIABLE (type)
Returns true if the constraint is additionally constrained through a variable.
See CONSTRAINT (TYPE)
Deletes the constraint completely from the solver.
This will render the constraint useless. Operating on it beyond this
point results in undefined behaviour.
See CONSTRAINT (type)
See MAKE-CONSTRAINT
Deletes the variable completely from the solver.
This will remove the variable and all terms in all expressions that
include it.
See MAKE-VARIABLE
See VARIABLE (type)
Returns the constraint associated with the given name, if any.
Note that you are /not/ permitted to SETF this place.
See CONSTRAINT (type)
See SOLVER (type)
Returns the variable associated with the given name, if any.
Note that you are /not/ permitted to SETF this place.
See VARIABLE (type)
See SOLVER (type)
Returns a new constraint for the solver.
The STRENGTH designates how strongly this constraint is adhered. By
default the strength is +REQUIRED+.
The NAME is an optional identifier for the constraint. The name may be
a string or a symbol. If it is a symbol, the constraint can later be
retrieved by the same symbol again, using FIND-CONSTRAINT.
See STRENGTH (type)
See DELETE-CONSTRAINT
See FIND-CONSTRAINT
Returns a new solver instance.
If AUTO-UPDATE is T, the solver will automatically call UPDATE-VARIABLES when constraints or variables change.
See SOLVER (type)
See AUTO-UPDATE
See RESET-SOLVER
See MAKE-CONSTRAINT
See CONSTRAIN
See MAKE-VARIABLE
See WITH-VARIABLES
Make the variable suggestable.
This means that you can edit the variable and suggest a value that the solver should try to keep steady when solving its system. Typically this is used for variables that are constrained by the user somehow.
In order to use SUGGEST, a variable must first be made suggestable.
If the variable is already suggestable, its strength is updated via
(SETF STRENGTH).
If the variable was not already suggestable, it is suggested to the
current value of the variable.
The strength of the suggestion is capped to +STRONG+. Any value above
will automatically be reduced to +STRONG+.
Returns the variable.
See STRENGTH
See VARIABLE (type)
See MAKE-UNSUGGESTABLE
See SUGGESTABLE-P
See SUGGEST
See STRENGTH
Makes the variable unsuggestable again.
After this, SUGGEST will fail unless the variable is explicitly made
suggestable again.
Returns the variable.
See MAKE-SUGGESTABLE
See SUGGESTABLE-P
See VARIABLE (type)
See SUGGEST
Returns a new variable for the solver.
The NAME is an optional identifier for the variable. The name may be a
string or a symbol. If it is a symbol, the variable can later be
retrieved by the same symbol again, using FIND-VARIABLE.
If STRENGTH is given, the variable is made suggestable and
its strength set accordingly. STRENGTH may also be T in this case, in
which case the strength used is +STRONG+.
See VARIABLE (type)
See DELETE-VARIABLE
See MAKE-SUGGESTABLE
See FIND-VARIABLE
Accessor to the relation of the constraint.
May be one of the following CL symbols:
<=
=
>=
See CONSTRAINT (type)
Removes the constraint from its solver.
After this, the constraint will not apply.
If the solver is AUTO-UPDATE, the variables will be updated after this
operation.
See SOLVER
See CONSTRAINT (type)
See REMOVE-CONSTRAINT
Removes the given term description from the constraint.
This corresponds to a term of either
number
or
number*variable
being removed from the constraint depending on whether the variable is
given.
Note that adding or removing terms can automatically cancel out as
soon as either the constant term of the expression reaches zero, or
the multiplier of a variable term reaches zero. In the latter case,
the variable term is automatically removed from the expression.
This operation is equivalent to ADD-TERM with the multiplier inverted.
Returns the updated constraint.
See CONSTRAINT (type)
See VARIABLE (type)
See ADD-TERM
Resets the constraint.
This will remove the constraint, unset its relation, and clear its
expression of all terms.
Returns the updated constraint.
See CONSTRAINT (type)
See REMOVE-CONSTRAINT
Resets the solver.
This resets all variables and makes them unsuggestable.
If the solver is AUTO-UPDATE, the variables will be updated before this
operation.
If CLEAR-CONSTRAINTS is T, removes all constraints from the solver.
See SOLVER (type)
Accessor to the strength of the constraint.
The strength is a positive float, denoting how important this
constraint is to the overall system. Valid values for the strength are
positive real numbers and the following keywords:
:REQUIRED
:STRONG
:MEDIUM
:WEAK
:NONE
Each of these keywords corresponds to the constant of the same
name. If a value that is neither a positive real, nor one of the above
keywords is set, an error is signalled.
If the solver is AUTO-UPDATE, the variables will be updated after the
strength is updated.
See CONSTRAINT (type)
See +REQUIRED+
See +STRONG+
See +MEDIUM+
See +WEAK+
See +NONE+
Suggest a particular value for the variable.
The solver will try to solve the system while keeping the value of the
variable to the suggested value. Note however that this does not
circumvent required constraints.
If the variable is not already suggestable, the value of
if-not-suggestable becomes important. It may be one of the following:
:ERROR — An error of type VARIABLE-NOT-SUGGESTABLE is
signalled.
:MAKE-SUGGESTABLE — The variable is made suggestable with medium
strength.
NIL — The function simply returns NIL.
If the solver is AUTO-UPDATE, the variables will be updated after this
operation.
On success, returns the variable.
See VARIABLE (type)
See SUGGESTABLE-P
See MAKE-SUGGESTABLE
See MAKE-UNSUGGESTABLE
See VARIABLE-NOT-SUGGESTABLE
Returns true if the variable is suggestable.
See VARIABLE (type)
See MAKE-SUGGESTABLE
See MAKE-UNSUGGESTABLE
See SUGGEST
Recomputes the variable values according to the current solver constraints.
You should call this function whenever you are done changing
constraints or suggesting variables and would like to read out the
new, computed values for the variables.
Returns the solver.
See AUTO-UPDATE
Returns the current value of the variable.
You might need to call UPDATE-VARIABLES on the solver before this
returns an accurate value for the variable.
Note that for suggestable variables this might return a value
different from the one previously suggested.
See VARIABLE (type)
Returns the expression associated with the object.
See EXPRESSION (type)
See EXPRESSION-UNSATISFIED
see EXPRESSION-UNBOUND
expression-unbound
)) ¶expression-unsatisfied
)) ¶Returns the solver associated with the object.
See SOLVER (type)
See VARIABLE (type)
See CONSTRAINT (type)
See EXPRESSION-UNSATISFIED
See EXPRESSION-UNBOUND
constraint
)) ¶variable-not-suggestable
)) ¶expression-unbound
)) ¶expression-unsatisfied
)) ¶Returns the variable associated with the object.
See VARIABLE (type)
See VARIABLE-NOT-SUGGESTABLE
variable-not-suggestable
)) ¶constraint
) stream) ¶expression
) stream) ¶constraint
) stream) ¶expression
) stream) ¶Error signalled when an internal assertion was violated.
This may arise due to invalid values being passed, or otherwise
invalid sequences of operations being performed.
See CLASSOWARY-CONDITION
See CL:ERROR (type)
classowary-condition
.
error
.
Supertype for all conditions related to Classowary.
See CL:CONDITION (type)
condition
.
Error signalled when an expression is unbound.
See CLASSOWARY-CONDITION
See CL:ERROR (type)
See SOLVER (function)
See EXPRESSION (function)
classowary-condition
.
error
.
:expression
This slot is read-only.
Error signalled when it is impossible for the solver to satisfy an expression.
See CLASSOWARY-CONDITION
See CL:ERROR (type)
See SOLVER (function)
See EXPRESSION (function)
classowary-condition
.
error
.
:expression
This slot is read-only.
Error signalled when attempting to suggest an unsuggestable variable.
When this error is signalled, two restarts must be active with the
following behaviour:
MAKE-SUGGESTABLE — Makes the variable suggestable before setting
the suggested value. The restart accepts an
optional argument that sets the strength of
the variable.
ABORT — Aborts the suggestion and returns NIL.
See CLASSOWARY-CONDITION
See CL:ERROR (type)
See SOLVER (function)
See VARIABLE (function)
classowary-condition
.
error
.
Represents a constraint in a linear system.
Each of the constraints in a system must appear in the following
normalised, mathematical form:
CONSTRAINT ::= TERM RELATION TERM (\+ TERM)*
RELATION ::= <= | = | >=
TERM ::= number (\* variable)?
number — a SINGLE-FLOAT
variable — a VARIABLE
For instance, the following are valid constraints:
0 = 0
1 = 2
1*x <= 1
2*x >= 3 + 4*y
And the following are not valid constraints:
1*x + 1*y = 3*y + 5*z
x*x = 2
See MAKE-CONSTRAINT
See CLONE-CONSTRAINT
See DELETE-CONSTRAINT
See FIND-CONSTRAINT
See ADD-CONSTRAINT
See REMOVE-CONSTRAINT
See ADD-TERM
See ADD-CONSTANT
See RELATION
See SOLVER (function)
See CONSTRAIN
structure-object
.
org.shirakumo.classowary:expression
(org.shirakumo.classowary::%make-expression (org.shirakumo.classowary::mksym (quote org.shirakumo.classowary::external)))
symbol
symbol
symbol
single-float
0.0
org.shirakumo.classowary:solver
The representation of a linear expression.
A linear expression represents a constant factor added together with a
series of linear variable terms.
See TERM
structure-object
.
symbol
boolean
hash-table
(make-hash-table :test (quote eq))
single-float
0.0
Represents a linear constraint system.
A linear constraint system is composed out of several constraints that
describe an equality or inequality composed out of linear terms.
The solver can then attempt to find a solution that fits the variables
in the terms to the constraints as well as possible.
Note that the solver will bend constraints if there is no solution
that does not violate any of them.
See CONSTRAINT (type)
See MAKE-SOLVER
See RESET-SOLVER
See AUTO-UPDATE
See MAKE-CONSTRAINT
See MAKE-VARIABLE
See CONSTRAIN
see WITH-VARIABLES
See FIND-VARIABLE
See FIND-CONSTRAINT
structure-object
.
org.shirakumo.classowary:expression
(org.shirakumo.classowary::%make-expression)
hash-table
(make-hash-table :test (quote eq))
hash-table
(make-hash-table :test (quote eq))
hash-table
(make-hash-table :test (quote eq))
list
list
boolean
The representation of a variable term.
A term is a variable and a linear multiplication factor.
Represents a variable in a linear system.
A variable can appear in an arbitrary number of constraints to express
linear terms. A variable has a value and two states: suggestable, or
unsuggestable. In the default, unsuggestable state, the variable is
freely controlled by the linear system and its value is directly
deduced from the constraints. In the suggestable state, the variable
has a suggested value that the user supplies, which the solver should
attempt to keep constant as the system is solved.
See MAKE-VARIABLE
See DELETE-VARIABLE
See FIND-VARIABLE
See ADD-TERM
See WITH-VARIABLES
See SOLVER (function)
See MAKE-SUGGESTABLE
See MAKE-UNSUGGESTABLE
See SUGGESTABLE-P
See SUGGEST
See VALUE
structure-object
.
common-lisp
.
symbol
boolean
(or null org.shirakumo.classowary:constraint)
single-float
0.0
single-float
0.0
org.shirakumo.classowary:solver
key
.
Jump to: | %
(
-
~
A C D E F G M O P R S T U V W |
---|
Jump to: | %
(
-
~
A C D E F G M O P R S T U V W |
---|
Jump to: | *
+
A C D E I K M O R S T V |
---|
Jump to: | *
+
A C D E I K M O R S T V |
---|
Jump to: | A C D E F O P S T V |
---|
Jump to: | A C D E F O P S T V |
---|