|
|
interval.h File ReferenceDefinition of the Tinterval type and the associated functions. More... #include "boolean.h" #include <stdio.h> Go to the source code of this file.
Detailed DescriptionDefinition of the Tinterval type and the associated functions.
Definition in file interval.h. Function Documentation
Defines a new interval with the given limits.
Definition at line 47 of file interval.c. References Tinterval::lower_limit, and Tinterval::upper_limit. Referenced by BoxSaddleClipping(), BoxSphereClipping(), Buffer2Box(), ComputeBoundingBox(), ComputeBoundingBox3d(), CropEquation(), CropLinearConstraint(), ErrorDueToVariable(), EvaluateEquationInt(), EvaluateLinearConstraintInt(), EvaluateMonomialInt(), EvaluateVarSetInt(), GenerateEquationsFromBranch(), GenerateJointEquations(), GenerateJointRangeEquations(), GenerateLinkRot(), GetFirstOrderApproximationToEquation(), InitBox(), IntervalCosinus(), IntervalSinus(), LoadLinearConstraint(), NewFixJoint(), NewFreeJoint(), NewPrismaticJoint(), NewRevoluteJoint(), NewSphericalJoint(), NewSphSphJoint(), NewUniversalJoint(), NewVariable(), ReadBox(), RectangleCircleClipping(), RectangleParabolaClipping(), ResetLinearConstraint(), SampleCuikSystemInBox(), SetEquationInfo(), SimplexExpandBounds(), SimplexGetColBounds(), SimplexGetOptimalValue(), SimplexGetRowBounds(), SimplifyLinearConstraint(), and SplitBox().
Here is the caller graph for this function:
Defines a new interval from another interval.
Definition at line 59 of file interval.c. References Tinterval::lower_limit, and Tinterval::upper_limit. Referenced by BoxSaddleClipping(), CleanLinearConstraint(), CopyBoxSubset(), CopyJoint(), CopyLinearConstraint(), CopyVariable(), CropEquation(), CropLinearConstraint(), GetLinearConstraintError(), NewPrismaticJoint(), NewRevoluteJoint(), NewUniversalJoint(), ReduceRange(), SetBoxInterval(), SetLinearConstraintError(), SetVariableInterval(), SimpleFromOriginal(), and UpdateOriginalFromSimple().
Here is the caller graph for this function:
Compares two intervals.
Definition at line 72 of file interval.c. References Tinterval::lower_limit, and Tinterval::upper_limit.
Gets the lower limit of an interval
Definition at line 81 of file interval.c. References Tinterval::lower_limit. Referenced by AddEquation2Simplex(), Box2Buffer(), CoordInequalitiesHold(), CropLinearConstraint(), CSRemoveVarsWithCtRange(), EquationFromLinearConstraint(), GetFirstOrderApproximationToEquation(), GetJointMaxCoordinate(), LinearizeCircleEquation(), LinearizeGeneralEquation(), LinearizeParabolaEquation(), LinearizeSaddleEquation(), LinearizeSphereEquation(), main(), NewInPatchJoint(), randomInInterval(), ReduceRange(), SaveLinearConstraint(), SimplexAddNewConstraintRaw(), SimplexExpandBounds(), SimplexGetOptimalValue(), SimplexSetColBounds(), SimplexSetRowBounds(), and SplitBox().
Here is the caller graph for this function:
Gets the upper limit of an interval.
Definition at line 89 of file interval.c. References Tinterval::upper_limit. Referenced by AddEquation2Simplex(), Box2Buffer(), CoordInequalitiesHold(), CropLinearConstraint(), EquationFromLinearConstraint(), GetJointMaxCoordinate(), LinearizeCircleEquation(), LinearizeGeneralEquation(), LinearizeParabolaEquation(), LinearizeSaddleEquation(), LinearizeSphereEquation(), main(), randomInInterval(), ReduceRange(), SaveLinearConstraint(), SimplexAddNewConstraintRaw(), SimplexExpandBounds(), SimplexGetOptimalValue(), SimplexSetColBounds(), SimplexSetRowBounds(), and SplitBox().
Here is the caller graph for this function:
Gets the upper limit of an interval.
Definition at line 98 of file interval.c. References Tinterval::lower_limit, ROUNDNEAR, ROUNDUP, and Tinterval::upper_limit. Referenced by AddEquation2Simplex(), CleanLinearConstraint(), ComputeSplitDimInt(), CropEquation(), CropLinearConstraint(), CSRemoveLCVars(), CSRemoveVarsWithCtRange(), EquationFromLinearConstraint(), EquationFromLinearConstraintProduct(), ErrorDueToVariable(), GenerateJointRangeEquations(), GetBoxDiagonal(), GetBoxMaxDim(), GetBoxMaxSizeVarSet(), GetBoxMinSizeVarSet(), GetBoxSize(), GetBoxVolume(), IntervalAtan2(), IntervalCosinus(), IntervalSinus(), IsPunctualBox(), PrintLinearConstraint(), ReduceBox(), ReduceBoxEquationWise(), ReduceRange(), ReplaceVariableInEquation(), SetSimplexBounds(), SimplexAddNewConstraint(), and SimplexSetRowBounds().
Here is the caller graph for this function:
Checks if a value is inside an interval.
Definition at line 228 of file interval.c. References Tinterval::lower_limit. Referenced by AddEquation2Simplex(), BoxSaddleClipping(), CropLinearConstraint(), IntervalPow(), PointInBox(), PointInSubBox(), and PointInSystemBox().
Here is the caller graph for this function:
Computes the interval center, i.e., the average between the upper and the lower limit.
Definition at line 112 of file interval.c. References INF, Tinterval::lower_limit, and Tinterval::upper_limit. Referenced by CropEquation(), CSRemoveLCVars(), DistanceToSubBoxCenter(), EquationFromLinearConstraint(), EquationFromLinearConstraintProduct(), ErrorInInequalities(), ErrorInSolution(), EvaluateEqMin(), GenerateJointRangeEquations(), GetBoxCenterDistance(), LinearizeCircleEquation(), LinearizeGeneralEquation(), LinearizeParabolaEquation(), LinearizeSphereEquation(), main(), MoveWorld(), NewRevoluteJoint(), NewUniversalJoint(), PrintLinearConstraint(), ReplaceVariableInEquation(), SampleCuikSystemInBox(), SimplifyCuikSystem(), and UpdateSplitWeight().
Here is the caller graph for this function:
Changes the lower limit for an interval.
Definition at line 134 of file interval.c. References Tinterval::lower_limit. Referenced by ReduceRange().
Here is the caller graph for this function:
Changes the upper limit for an interval.
Definition at line 139 of file interval.c. References Tinterval::upper_limit. Referenced by ReduceRange().
Here is the caller graph for this function:
Checks is a given interval is fully included into another interval.
Definition at line 147 of file interval.c. References Tinterval::lower_limit, and Tinterval::upper_limit. Referenced by BoxInclusion().
Here is the caller graph for this function:
Checks two given intervals have a non-empty intersection.
Definition at line 157 of file interval.c. References Intersection().
Here is the call graph for this function:
Computes the intersection of two intervals.
Definition at line 170 of file interval.c. References Tinterval::lower_limit, and Tinterval::upper_limit. Referenced by BoxesIntersection(), BoxSaddleClipping(), BoxSphereClipping(), CropLinearConstraint(), Intersect(), RectangleCircleClipping(), RectangleParabolaClipping(), SimplifyLinearConstraint(), and UpdateOriginalFromSimple().
Here is the caller graph for this function:
Computes the union of two intervals.
Definition at line 182 of file interval.c. References FALSE, Tinterval::lower_limit, TRUE, and Tinterval::upper_limit. Referenced by BoxSphereClipping(), BoxUnion(), RectangleCircleClipping(), and RectangleParabolaClipping().
Here is the caller graph for this function:
Checks if a given interval is empty.
Definition at line 220 of file interval.c. References Tinterval::lower_limit, and Tinterval::upper_limit. Referenced by PrintInterval(), and ReduceRange().
Here is the caller graph for this function:
Product of an interval and a constant.
Definition at line 237 of file interval.c. References Tinterval::lower_limit, ROUNDDOWN, ROUNDNEAR, ROUNDUP, and Tinterval::upper_limit. Referenced by BoxSaddleClipping(), CleanLinearConstraint(), ErrorDueToVariable(), GetFirstOrderApproximationToEquation(), RectangleParabolaClipping(), ScaleBox(), and ScaleLinearConstraint().
Here is the caller graph for this function:
Product of two intervals.
Definition at line 269 of file interval.c. References Tinterval::lower_limit, ROUNDDOWN, ROUNDNEAR, ROUNDUP, and Tinterval::upper_limit. Referenced by BoxSaddleClipping(), CropLinearConstraint(), DummifyAndAddEquation(), ErrorDueToVariable(), EvaluateLinearConstraintInt(), EvaluateMonomialInt(), EvaluateVarSetInt(), GetFirstOrderApproximationToEquation(), RectangleParabolaClipping(), SimplexGetOptimalValue(), and SimplifyLinearConstraint().
Here is the caller graph for this function:
Sum of two intervals.
Definition at line 303 of file interval.c. References Tinterval::lower_limit, ROUNDDOWN, ROUNDNEAR, ROUNDUP, and Tinterval::upper_limit. Referenced by AddLinearConstraints(), BoxSphereClipping(), CleanLinearConstraint(), CropLinearConstraint(), ErrorDueToVariable(), EvaluateEquationInt(), EvaluateLinearConstraintInt(), GetFirstOrderApproximationToEquation(), NewInPatchJoint(), RectangleCircleClipping(), SimplexGetOptimalValue(), and UpdateOriginalFromSimple().
Here is the caller graph for this function:
Substraction of two intervals.
Definition at line 322 of file interval.c. References Tinterval::lower_limit, ROUNDDOWN, ROUNDNEAR, ROUNDUP, and Tinterval::upper_limit. Change of sign of a given interval. Equivalen to scale the interval with -1.
Definition at line 341 of file interval.c. References Tinterval::lower_limit, and Tinterval::upper_limit. Referenced by BoxSphereClipping(), GetFirstOrderApproximationToEquation(), InvertLinearConstraint(), PrintLinearConstraint(), RectangleCircleClipping(), RectangleParabolaClipping(), and UpdateOriginalFromSimple().
Here is the caller graph for this function:
Computes .
Definition at line 352 of file interval.c. References IsInside(), Tinterval::lower_limit, ROUNDDOWN, ROUNDNEAR, ROUNDUP, and Tinterval::upper_limit. Referenced by BoxSphereClipping(), DummifyAndAddEquation(), ErrorDueToVariable(), EvaluateVarSetInt(), GetFirstOrderApproximationToEquation(), NewInPatchJoint(), RectangleCircleClipping(), and RectangleParabolaClipping().
Here is the call graph for this function:
Here is the caller graph for this function:
Computes the square root of an interval. Negative parts of the interval are not taken into account. If the whole input interval is negative the result is an empty interval.
Definition at line 386 of file interval.c. References FALSE, Tinterval::lower_limit, ROUNDDOWN, ROUNDNEAR, ROUNDUP, TRUE, and Tinterval::upper_limit. Referenced by BoxSphereClipping(), NewInPatchJoint(), RectangleCircleClipping(), and RectangleParabolaClipping().
Here is the caller graph for this function:
Divides one interval by another. If the denominator includes the zero, this function triggers an error.
Definition at line 412 of file interval.c. References Error(), Tinterval::lower_limit, ROUNDDOWN, ROUNDNEAR, ROUNDUP, and Tinterval::upper_limit. Referenced by BoxSaddleClipping(), CropLinearConstraint(), and SimplifyLinearConstraint().
Here is the call graph for this function:
Here is the caller graph for this function:
Displaces an interval by a constant value.
Definition at line 448 of file interval.c. References Tinterval::lower_limit, ROUNDDOWN, ROUNDNEAR, ROUNDUP, and Tinterval::upper_limit. Referenced by AddCt2LinearConstraint(), AddEquation2Simplex(), ErrorDueToVariable(), EvaluateEqMin(), GetFirstOrderApproximationToEquation(), NewRevoluteJoint(), and NewUniversalJoint().
Here is the caller graph for this function:
Computes the bound of the sinus on a given interval.
Definition at line 468 of file interval.c. References IntervalSinus(), IntervalSize(), Tinterval::lower_limit, M_2PI, M_PI_2, NewInterval(), NormalizeAngle(), ROUNDDOWN, ROUNDNEAR, ROUNDUP, and Tinterval::upper_limit. Referenced by IntervalSinus().
Here is the call graph for this function:
Here is the caller graph for this function:
Computes the bound of the cosinus on a given interval.
Definition at line 528 of file interval.c. References IntervalCosinus(), IntervalSize(), Tinterval::lower_limit, M_2PI, M_PI, NewInterval(), NormalizeAngle(), and Tinterval::upper_limit. Referenced by GenerateJointRangeEquations(), and IntervalCosinus().
Here is the call graph for this function:
Here is the caller graph for this function:
Computes the bound of the atan2 on a given sin/cos intervals. The current implementation is tailored to post-process solution files and in only works for small intervals. The output in in the range except for the case where is and ic include (-1,0). In this case the output interval is in the range .
Definition at line 578 of file interval.c. References Error(), IntervalSize(), Tinterval::lower_limit, M_2PI, M_PI, and Tinterval::upper_limit. Referenced by main().
Here is the call graph for this function:
Here is the caller graph for this function:
Writes an interval to a stream that can be stdout.
Definition at line 616 of file interval.c. References EmptyInterval(), INF, Tinterval::lower_limit, and Tinterval::upper_limit. Referenced by AddEquation2Simplex(), CropEquation(), PrintBox(), PrintBoxSubset(), PrintLinearConstraint(), PrintVariable(), ReduceRange(), SetSimplexBounds(), and SimplexAddNewConstraintRaw().
Here is the call graph for this function:
Here is the caller graph for this function:
Deletes an interval structure.
Definition at line 637 of file interval.c. Referenced by DeleteJoint(), DeleteLinearConstraint(), GenerateEquationsFromBranch(), GenerateJointEquations(), GenerateJointRangeEquations(), and main().
Here is the caller graph for this function:
|