monomial.h File Reference Detailed DescriptionDefinition of the Tmonomial type and the associated functions.
Definition in file monomial.h.
Function Documentation
Defines an empty monomial.
Definition at line 17 of file monomial.c. References Tmonomial::ct, Tmonomial::empty, InitVarSet(), TRUE, and Tmonomial::vars. Referenced by AddTerm2SearchCriterion(), AdjustBioWorldGeometry(), ApplyLinkRotAxisX(), ApplyLinkRotDeformX(), ApplyLinkRotFLinks(), ApplyLinkRotLinks(), ApplyLinkRotQLinks(), DeriveMonomial(), DummifyAndAddEquation(), EquationFromLinearConstraint(), EquationFromLinearConstraintProduct(), FixLinkZToZero(), GenerateCrossProductEquations(), GenerateDistanceEquation(), GenerateDotProductEquation(), GenerateEquationsFromBranch(), GenerateForceEquilibriumEquations(), GenerateGeneralNormEquation(), GenerateJointEquations(), GenerateJointEquationsInBranch(), GenerateJointRangeEquations(), GenerateJointRangeSingularityEquations(), GenerateLinkConf(), GenerateLinkRotQLinks(), GenerateScaledParabolaEquation(), GenerateScaledSaddleEquation(), GenerateWorldSingularityEquations(), GetSCpSystem(), MonomialProduct(), RewriteEquation2Orig(), SHTransformVarDisplacementAlongVector(), SHTransformVarRx(), SHTransformVarRy(), SHTransformVarRz(), SHTransformVarTx(), SHTransformVarTxyz(), SHTransformVarTy(), SHTransformVarTz(), Var2AccumulateVector2EqVector(), VarAccumulateEquations(), VarAccumulateVector2EqVector(), VarScaleEquation(), WorldCoupleTensegrityVariable(), and WorldFixTensegrityAddon().
Removes the information stored in the monomial, but does not frees the memory. It is more efficient to use ResetMonomial instead of DeleteMonomial plus InitMonomial again.
Definition at line 24 of file monomial.c. References Tmonomial::ct, Tmonomial::empty, ResetVarSet(), TRUE, and Tmonomial::vars. Referenced by AddTerm2SearchCriterion(), AdjustBioWorldGeometry(), ApplyLinkRotAxisX(), ApplyLinkRotDeformX(), ApplyLinkRotFLinks(), ApplyLinkRotLinks(), ApplyLinkRotQLinks(), FixVariableInMonomial(), GenerateCrossProductEquations(), GenerateDistanceEquation(), GenerateDotProductEquation(), GenerateEquationsFromBranch(), GenerateForceEquilibriumEquations(), GenerateGeneralNormEquation(), GenerateJointEquations(), GenerateJointEquationsInBranch(), GenerateJointRangeEquations(), GenerateJointRangeSingularityEquations(), GenerateLinkConf(), GenerateLinkRotQLinks(), GenerateScaledParabolaEquation(), GenerateScaledSaddleEquation(), GenerateWorldSingularityEquations(), ReplaceVariableInMonomial(), RewriteEquation2Orig(), SetMonomialCt(), SHTransformVarDisplacementAlongVector(), SHTransformVarTxyz(), Var2AccumulateVector2EqVector(), VarAccumulateVector2EqVector(), WorldCoupleTensegrityVariable(), and WorldFixTensegrityAddon().
Removes a variable from a monomial converting it into a constant. Note, that variables are indexed and that removing a variable shifts down the index of variables with index above the removed variable.
Definition at line 31 of file monomial.c. References Tmonomial::ct, FixVariableInVarSet(), ResetMonomial(), ShiftVarIndexes(), Tmonomial::vars, and ZERO. Referenced by ReplaceVariableInEquation().
Replaces a variable from a monomial converting it into a another variable via a linear relation
Definition at line 42 of file monomial.c. References Tmonomial::ct, ReplaceVariableInVarSet(), ResetMonomial(), ShiftVarIndexes(), Tmonomial::vars, and ZERO. Referenced by ReplaceVariableInEquation(). Checks if a monomial is empty.
Definition at line 53 of file monomial.c. References Tmonomial::empty. Referenced by AddScaledMonomial(). Checks if a monomial is constant.
Definition at line 58 of file monomial.c. References Tmonomial::empty, VariableSetSize(), and Tmonomial::vars. Referenced by AddScaledMonomial(), BilinearEquation(), and LinearEquation(). Checks if a monomial is quadratic: K*x^2, with K a constant.
Definition at line 64 of file monomial.c. References GetVariablePowerN(), PolynomialVarSet(), VariableSetSize(), and Tmonomial::vars. Referenced by BilinearEquation(), CircleEquation(), ParabolaEquation(), and SphereEquation(). Checks if a monomial is bilineal: K*x*y, with K a constant.
Definition at line 71 of file monomial.c. References GetVariablePowerN(), PolynomialVarSet(), VariableSetSize(), and Tmonomial::vars. Referenced by BilinealMonomialEquation(), BilinearEquation(), and SaddleEquation(). Checks if a monomial is bilineal: K*y, with K a constant.
Definition at line 79 of file monomial.c. References GetVariablePowerN(), PolynomialVarSet(), VariableSetSize(), and Tmonomial::vars. Referenced by BilinearEquation(), LinearEquation(), ParabolaEquation(), and SaddleEquation(). Identifies monimials not involving any kind of (trigonomitric function). Note that mathematically all monomials are polynomials. In this implementation this is not the case since the monomial structrue is used also for the case where variables are affected by (trigonometric) function. To be correct we should not use the term monomial to refer to a product of constants, variables, and functions.
Definition at line 86 of file monomial.c. References PolynomialVarSet(), and Tmonomial::vars. Referenced by AddScaledMonomial(), and ReplaceVariableInEquation().
Gets the order of a monomial. Here the order is the sum of the powers of the variables in the monomial (0 for constant, 1 for lineal, 2 for quadratic and bilineal).
Definition at line 91 of file monomial.c. References Tmonomial::vars, and VarSetOrder(). Referenced by AddScaledMonomial(), and RewriteEquation2Simp(). Copies a constructor copying the data from another monomial.
Definition at line 96 of file monomial.c. References CopyVarSet(), Tmonomial::ct, Tmonomial::empty, and Tmonomial::vars. Referenced by AddScaledMonomial(), ReplaceVariableInEquation(), and VarAccumulateEquations(). Compare two given monomials. Monomials are compared first taking into account the variables and then their scale factor.
Definition at line 103 of file monomial.c. References CmpVarSet(), Tmonomial::ct, Tmonomial::empty, and Tmonomial::vars. Referenced by AddScaledMonomial(), and CmpEquations().
Changes the scale factor of a monomial.
Definition at line 144 of file monomial.c. References Tmonomial::ct, Tmonomial::empty, FALSE, ResetMonomial(), and ZERO. Referenced by AddScaledMonomial(), NormalizeEquation(), RewriteEquation2Orig(), and VarAccumulateEquations().
Gets the scale factor of a monomial.
Definition at line 136 of file monomial.c. References Tmonomial::ct, and Tmonomial::empty. Referenced by AddScaledMonomial(), BilinealMonomialEquation(), CircleEquation(), CropEquation(), DummifyAndAddEquation(), GaussianElimination(), IsSimplificable(), LinearEquation2LinearConstraint(), NormalizeEquation(), ParabolaEquation(), PurgeEquation(), RewriteEquation2Orig(), RewriteEquation2Simp(), SaddleEquation(), SetEquationInfo(), and SphereEquation().
Gets the variables of a monomial.
Definition at line 153 of file monomial.c. References Tmonomial::vars. Referenced by AddScaledMonomial(), CropEquation(), DummifyAndAddEquation(), FindMonomial(), IsSimplificable(), LinearEquation2LinearConstraint(), LinearizeBilinealMonomialEquation(), LinearizeParabolaEquation(), LinearizeSaddleEquation(), ReplaceVariableInEquation(), RewriteEquation2Orig(), RewriteEquation2Simp(), SetEquationInfo(), and VarScaleEquation().
Scales a monomial.
Definition at line 158 of file monomial.c. References Tmonomial::ct, Tmonomial::empty, FALSE, and ZERO. Referenced by AddScaledMonomial(), AddTerm2SearchCriterion(), AdjustBioWorldGeometry(), ApplyLinkRotAxisX(), ApplyLinkRotDeformX(), ApplyLinkRotFLinks(), ApplyLinkRotLinks(), ApplyLinkRotQLinks(), CtScaleEquation(), DummifyAndAddEquation(), EquationFromLinearConstraint(), EquationFromLinearConstraintProduct(), GenerateCrossProductEquations(), GenerateDistanceEquation(), GenerateDotProductEquation(), GenerateEquationsFromBranch(), GenerateJointEquations(), GenerateJointEquationsInBranch(), GenerateJointRangeEquations(), GenerateJointRangeSingularityEquations(), GenerateLinkConf(), GenerateScaledParabolaEquation(), GenerateScaledSaddleEquation(), GenerateWorldSingularityEquations(), GetSCpSystem(), NormalizeEquation(), ReplaceVariableInEquation(), SHTransformVarDisplacementAlongVector(), SHTransformVarRx(), SHTransformVarRy(), SHTransformVarRz(), Var2AccumulateVector2EqVector(), VarAccumulateVector2EqVector(), VarScaleEquation(), WorldCoupleTensegrityVariable(), and WorldFixTensegrityAddon().
Adds a power variable to the monomial.
Definition at line 171 of file monomial.c. References AddVariable2Set(), Tmonomial::ct, Tmonomial::empty, FALSE, and Tmonomial::vars. Referenced by AddTerm2SearchCriterion(), AdjustBioWorldGeometry(), ApplyLinkRotAxisX(), ApplyLinkRotDeformX(), ApplyLinkRotFLinks(), ApplyLinkRotLinks(), ApplyLinkRotQLinks(), DummifyAndAddEquation(), EquationFromLinearConstraint(), EquationFromLinearConstraintProduct(), FixLinkZToZero(), GenerateCrossProductEquations(), GenerateDistanceEquation(), GenerateDotProductEquation(), GenerateEquationsFromBranch(), GenerateForceEquilibriumEquations(), GenerateGeneralNormEquation(), GenerateJointEquations(), GenerateJointEquationsInBranch(), GenerateJointRangeEquations(), GenerateJointRangeSingularityEquations(), GenerateLinkConf(), GenerateLinkRotQLinks(), GenerateScaledParabolaEquation(), GenerateScaledSaddleEquation(), GenerateWorldSingularityEquations(), GetSCpSystem(), ReplaceVariableInEquation(), RewriteEquation2Orig(), SHTransformVarDisplacementAlongVector(), SHTransformVarRx(), SHTransformVarRy(), SHTransformVarRz(), SHTransformVarTx(), SHTransformVarTxyz(), SHTransformVarTy(), SHTransformVarTz(), Var2AccumulateVector2EqVector(), VarAccumulateEquations(), VarAccumulateVector2EqVector(), VarScaleEquation(), WorldCoupleTensegrityVariable(), and WorldFixTensegrityAddon(). Produces a monomial that is the product of the two other given monomials.
Definition at line 183 of file monomial.c. References Tmonomial::ct, Tmonomial::empty, InitMonomial(), ProductVarSet(), Tmonomial::vars, and ZERO. Referenced by ProductEquations().
Evaluates a monomial for a given set of value for the variables.
Definition at line 197 of file monomial.c. References Tmonomial::ct, Tmonomial::empty, EvaluateVarSet(), VariableSetSize(), and Tmonomial::vars. Referenced by EvaluateEquation(), and EvaluateWholeEquation(). Evaluates a monomial for a given set of ranges for the variables using interval arithmetics.
Definition at line 210 of file monomial.c. References Tmonomial::ct, Tmonomial::empty, EvaluateVarSetInt(), IntervalProduct(), NewInterval(), VariableSetSize(), Tmonomial::vars, and ZERO. Referenced by CleanInfEquation(), and EvaluateEquationInt(). Derives a monomial with respect to a given variable.
Definition at line 238 of file monomial.c. References Tmonomial::ct, DeriveVarSet(), Tmonomial::empty, InitMonomial(), VarIncluded(), and Tmonomial::vars. Referenced by DeriveEquation(). Writes a monomial to a given stream.
Definition at line 255 of file monomial.c. References Tmonomial::ct, Tmonomial::empty, EmptyVarSet(), PrintVarSet(), Tmonomial::vars, and ZERO. Referenced by PrintEquation(), and PrintMonomials().
Deletes the information stored in the monomial and frees the allocated memory space.
Definition at line 289 of file monomial.c. References DeleteVarSet(), and Tmonomial::vars. Referenced by AddScaledMonomial(), AddTerm2SearchCriterion(), AdjustBioWorldGeometry(), ApplyLinkRotAxisX(), ApplyLinkRotDeformX(), ApplyLinkRotFLinks(), ApplyLinkRotLinks(), ApplyLinkRotQLinks(), DeriveEquation(), DummifyAndAddEquation(), EquationFromLinearConstraint(), EquationFromLinearConstraintProduct(), FixLinkZToZero(), GenerateCrossProductEquations(), GenerateDistanceEquation(), GenerateDotProductEquation(), GenerateEquationsFromBranch(), GenerateForceEquilibriumEquations(), GenerateGeneralNormEquation(), GenerateJointEquations(), GenerateJointEquationsInBranch(), GenerateJointRangeEquations(), GenerateJointRangeSingularityEquations(), GenerateLinkConf(), GenerateLinkRotQLinks(), GenerateScaledParabolaEquation(), GenerateScaledSaddleEquation(), GenerateWorldSingularityEquations(), GetSCpSystem(), ProductEquations(), ReplaceVariableInEquation(), ResetEquationMonomials(), RewriteEquation2Orig(), SHTransformVarDisplacementAlongVector(), SHTransformVarRx(), SHTransformVarRy(), SHTransformVarRz(), SHTransformVarTx(), SHTransformVarTxyz(), SHTransformVarTy(), SHTransformVarTz(), Var2AccumulateVector2EqVector(), VarAccumulateEquations(), VarAccumulateVector2EqVector(), VarScaleEquation(), WorldCoupleTensegrityVariable(), and WorldFixTensegrityAddon(). |
Follow us!