next up previous contents index
Next: Pre-Defined Operators Up: Built-In Facilities Previous: Special Facilities

Nonlinear and Delayed Constraints

                 

bsphackfloatpenalty -Mii floatpenalty-Miii parmoderrfloatpenalty@ nextcurrboxfreelist currbox-2floatpenalty@ fltovf currboxtempboxa tempboxa @floatesphackbsphackfloatpenalty -Mii floatpenalty-Miii parmoderrfloatpenalty@ nextcurrboxfreelist currbox-3floatpenalty@ fltovf currboxtempboxa tempboxa @floatesphack This section describes the form of the delaying conditions for examples of the various nonlinear constraints given below. In some of the functions below, sin, arcsin, cos, arccos, there will be values of X and Z which fall outside the range of that function. Such invalid values will cause the constraint to fail and by default a ``Out of range'' value is generated. See warning/1. bsphackfloatpenalty -Mii floatpenalty-Miii parmoderrfloatpenalty@ nextcurrboxfreelist currbox-4floatpenalty@ fltovf currboxtempboxa tempboxa @floatesphack

Z = X * Y

Delays until X or Y is ground.
Z = sin(X)

Delays until X is ground. bsphackfloatpenalty -Mii floatpenalty-Miii parmoderrfloatpenalty@ nextcurrboxfreelist currbox-2floatpenalty@ fltovf currboxtempboxa tempboxa @floatesphackbsphackfloatpenalty -Mii floatpenalty-Miii parmoderrfloatpenalty@ nextcurrboxfreelist currbox-3floatpenalty@ fltovf currboxtempboxa tempboxa @floatesphack
Z = arcsin(X)

Delays until X or Z is ground. bsphackfloatpenalty -Mii floatpenalty-Miii parmoderrfloatpenalty@ nextcurrboxfreelist currbox-4floatpenalty@ fltovf currboxtempboxa tempboxa @floatesphack
Z = cos(X)

Delays until X is ground. bsphackfloatpenalty -Mii floatpenalty-Miii parmoderrfloatpenalty@ nextcurrboxfreelist currbox-2floatpenalty@ fltovf currboxtempboxa tempboxa @floatesphackbsphackfloatpenalty -Mii floatpenalty-Miii parmoderrfloatpenalty@ nextcurrboxfreelist currbox-3floatpenalty@ fltovf currboxtempboxa tempboxa @floatesphack
Z = arccos(X)

Delays until X or Z is ground. bsphackfloatpenalty -Mii floatpenalty-Miii parmoderrfloatpenalty@ nextcurrboxfreelist currbox-4floatpenalty@ fltovf currboxtempboxa tempboxa @floatesphack
Z = pow(X, Y)

Delays until (a) X and Y are ground, or (b) X and Z are ground,
or (c) X = 1, or (d) Y = 0, or (e) Y = 1.
Z = abs(X)

Delays until (a) X is ground, or (b) Z = 0, or (c) Z is ground and negative.
Z = min(X, Y)

Delays until X and Y are ground.
(A proper implementation, delaying until X tex2html_wrap_inline4640 Y or X tex2html_wrap_inline4642 Y, may come later.)
Z = max(X, Y)

Similar to the above.
Z = eval(X)

Delays until X is constructed.


next up previous contents index
Next: Pre-Defined Operators Up: Built-In Facilities Previous: Special Facilities

Alan Borning
Fri Oct 8 12:51:18 PDT 1999