<< JunoOldSolver.mesa (was OldJunoSolver.mesa)>> <<>> <> DIRECTORY JunoStorage USING [ItemList]; JunoOldSolver: DEFINITIONS = BEGIN OPEN Stor: JunoStorage; displayingMotions: BOOLEAN; <> Outcome: TYPE = {false, uncertain, true}; Solve: PROC[items: Stor.ItemList, eps: REAL] RETURNS [outcome: Outcome]; << Moves the points occurring in the given constraints until the latter are all satisfied (outcome=true), or it becomes clear that they are unsatisfiable (outcome=false), or the procedure gets tired of working on the problem (outcome=uncertain).>> << If outcome=uncertain, it means that the solver went through some fixed number (20) of Newton steps without finding a placement of the unknown points satisfying all constraints. This could mean that the constraints are unstatisfiable, that they are satisfiable but convergence is too slow, or simply that the solver was out of luck. >> << Points with p.fixed = TRUE on entry will be treated as constants, and will not be moved. >> << Any items in the given list that are not constraints will be ignored. >> END.