equation.c
Go to the documentation of this file.
156 void EquationFromLinearConstraintProduct(TLinearConstraint *lc1,TLinearConstraint *lc2,Tequation *eq)
752 boolean CleanInfEquation(Tequation *eq_in,Tinterval *varValues,boolean *changed,Tequation *eq_out)
840 boolean IsSimplificable(unsigned int simpLevel,unsigned int nTerms,boolean *systemVars,Tbox *cb,
1480 AddCt2Monomial(+1.0,&f);AddVariable2Monomial(NFUN,v1y,1,&f);AddVariable2Monomial(NFUN,v2z,1,&f);
1482 AddCt2Monomial(-1.0,&f);AddVariable2Monomial(NFUN,v1z,1,&f);AddVariable2Monomial(NFUN,v2y,1,&f);
1492 AddCt2Monomial(+1.0,&f);AddVariable2Monomial(NFUN,v1z,1,&f);AddVariable2Monomial(NFUN,v2x,1,&f);
1494 AddCt2Monomial(-1.0,&f);AddVariable2Monomial(NFUN,v1x,1,&f);AddVariable2Monomial(NFUN,v2z,1,&f);
1504 AddCt2Monomial(+1.0,&f);AddVariable2Monomial(NFUN,v1x,1,&f);AddVariable2Monomial(NFUN,v2y,1,&f);
1506 AddCt2Monomial(-1.0,&f);AddVariable2Monomial(NFUN,v1y,1,&f);AddVariable2Monomial(NFUN,v2x,1,&f);
1538 AddCt2Monomial(+1.0,&f);AddVariable2Monomial(NFUN,v1x,1,&f);AddVariable2Monomial(NFUN,v2x,1,&f);
1540 AddCt2Monomial(+1.0,&f);AddVariable2Monomial(NFUN,v1y,1,&f);AddVariable2Monomial(NFUN,v2y,1,&f);
1542 AddCt2Monomial(+1.0,&f);AddVariable2Monomial(NFUN,v1z,1,&f);AddVariable2Monomial(NFUN,v2z,1,&f);
Definition of the Tequation type and the associated functions. void RewriteEquation2Simp(double epsilon, Tmapping *map, Tequation *eqOut, Tequation *eq) Applies the simplification mapping to an equation. Definition: equation.c:237 Tinterval * GetBoxInterval(unsigned int n, Tbox *b) Returns a pointer to one of the intervals defining the box. Definition: box.c:270 double EvaluateWholeEquation(double *varValues, Tequation *eq) Evaluates an equation in a given point. Definition: equation.c:1615 Tmonomial * GetMonomial(unsigned int i, Tequation *eq) Gets a monomial from an equation. Definition: equation.c:1584 void DeriveEquation(unsigned int nv, Tequation *d, Tequation *eq) Derives an equation. Definition: equation.c:1665 void GenerateSaddleEquation(unsigned int vx, unsigned int vy, unsigned int vz, Tequation *eq) Construtor. Generates a saddle equation. Definition: equation.c:1392 void DeriveMonomial(unsigned int nv, Tmonomial *df, Tmonomial *f) Derives an monomial. Definition: monomial.c:238 boolean BilinealMonomialEquation(Tequation *eq) Identify single bilineal monomial equations. Definition: equation.c:1109 void SetMonomialCt(double k, Tmonomial *f) Changes the scale factor of a monomial. Definition: monomial.c:144 void SetEquationType(unsigned int type, Tequation *eq) Changes the type of the equation (SYSTEM_EQ, CARTESIAN_EQ, DUMMY_EQ, DERIVED_EQ). ... Definition: equation.c:1013 void GenerateCrossProductEquations(unsigned int v1x, unsigned int v1y, unsigned int v1z, unsigned int v2x, unsigned int v2y, unsigned int v2z, unsigned int v3x, unsigned int v3y, unsigned int v3z, unsigned int vs, double s, Tequation *eq) Construtor. Generates the three equations of the cross product of two unitary vectors. Definition: equation.c:1464 void MonomialProduct(Tmonomial *f1, Tmonomial *f2, Tmonomial *f) Product of two monomials. Definition: monomial.c:183 void GenerateNormEquation(unsigned int vx, unsigned int vy, unsigned int vz, double n, Tequation *eq) Construtor. Generates an equation that is the norm of a 3d vector. Definition: equation.c:1431 boolean LinearMonomial(Tmonomial *f) Checks if a monomial is lienal: K*x, with K a constant. Definition: monomial.c:79 void EvaluateEquationInt(Tinterval *varValues, Tinterval *i_out, Tequation *eq) Interval evaluation of an equation. Definition: equation.c:1649 unsigned int GetVarIDInOriginal(unsigned int v, Tmapping *m) Gets the original identifier of a simplified variable. Definition: csmapping.c:135 void AddScaledMonomial(double sc, Tmonomial *f, Tequation *eq) Adds a new scaled monomial to the equation. Definition: equation.c:1263 void LinearEquation2LinearConstraint(TLinearConstraint *lc, Tequation *eq) Converts a linear equation into a linear constraint. Definition: equation.c:1597 void IntervalAdd(Tinterval *i1, Tinterval *i2, Tinterval *i_out) Addition of two intervals. Definition: interval.c:418 unsigned int GetEquationNumVariables(Tequation *eq) Gets the number of variables equation used in the equation. Definition: equation.c:1183 double EvaluateEquation(double *varValues, Tequation *eq) Evaluates an equation in a given point. Definition: equation.c:1633 void CopyEquation(Tequation *eq_dst, Tequation *eq_orig) Copy constructor. Definition: equation.c:216 void UnionVarSet(boolean fun, Tvariable_set *vs_new, Tvariable_set *vs) Produces a variable set that is the union of two variable sets. Definition: variable_set.c:221 boolean IsSimplificable(unsigned int simpLevel, unsigned int nTerms, boolean *systemVars, Tbox *cb, unsigned int *v, TLinearConstraint *lc, Tequation *eq) Identify equations than can trigger variable simplifications. Definition: equation.c:840 void GenerateParabolaEquation(unsigned int vx, unsigned int vy, Tequation *eq) Construtor. Generates a parabola equation. Definition: equation.c:1361 unsigned int ReplaceVariableInEquation(double epsilon, unsigned int nv, TLinearConstraint *lc, Tequation *eq) Replaces a variable. Definition: equation.c:481 unsigned int GetLinearConstraintVariable(unsigned int i, TLinearConstraint *lc) Gets the a particular variable index. Definition: linear_constraint.c:75 Mapping between the sets of variables in two different cuiksystems. Definition: csmapping.h:53 #define LEQ In a Tequation, the equation relational operator is less equal. Definition: equation.h:195 void ResetEquationMonomials(Tequation *eq) Resets the information about monomials stored in the equation. Definition: equation.c:35 unsigned int CmpEquations(Tequation *eq1, Tequation *eq2) Equation comparison. Definition: equation.c:1188 void InvertLinearConstraint(TLinearConstraint *lc) Changes the sign of a linear constraint. Definition: linear_constraint.c:182 #define NOCMP In a Tequation, the equation relational operator is not defined yet. Definition: equation.h:207 void ResetVarSet(Tvariable_set *vs) Resets the information stored in a variable set. Definition: variable_set.c:79 void FixVariableInMonomial(unsigned int nv, double v, Tmonomial *f) Replaces a variable by a constant. Definition: monomial.c:31 double EvaluateMonomial(double *varValues, Tmonomial *f) Evaluates a monomial for a given set of value for the variables. Definition: monomial.c:197 #define ZERO Floating point operations giving a value below this constant (in absolute value) are considered 0... Definition: defines.h:37 void AddTerm2LinearConstraint(unsigned int ind, double val, TLinearConstraint *lc) Adds a scaled variable to the linear constraint. Definition: linear_constraint.c:106 unsigned int CmpVarSet(Tvariable_set *vs1, Tvariable_set *vs2) Variable set comparison. Definition: variable_set.c:112 void SetEquationValue(double v, Tequation *eq) Changes the right-hand value of the equation. Definition: equation.c:1026 unsigned int GetPlaceinSet(unsigned int id, Tvariable_set *vs) Gets the position of a variable index in a set of variable indexes. Definition: variable_set.c:165 void AddMonomial(Tmonomial *f, Tequation *eq) Adds a new monomial to the equation. Definition: equation.c:1356 unsigned int GetVariableFunctionN(unsigned int n, Tvariable_set *vs) Gets a variable function from a variable set. Definition: variable_set.c:474 #define GEQ In a Tequation, the equation relational operator is great equal. Definition: equation.h:189 unsigned int GetVariableN(unsigned int n, Tvariable_set *vs) Gets a variable identifier from a variable set. Definition: variable_set.c:447 void CtScaleEquation(double ct, Tequation *eq) Scales an equation by a constant factor. Definition: equation.c:652 boolean BilinearMonomial(Tmonomial *f) Checks if a monomial is bilienal: K*x*y, with K a constant. Definition: monomial.c:71 void PrintEquation(FILE *f, char **varNames, Tequation *eq) Prints an equation. Definition: equation.c:1714 void SetEquationCmp(unsigned int cmp, Tequation *eq) Changes the relational operator (LEQ, GEQ, EQU) of the equation. Definition: equation.c:1018 void EquationFromLinearConstraintProduct(TLinearConstraint *lc1, TLinearConstraint *lc2, Tequation *eq) Defines a new equation from the product of two linear constraints. Definition: equation.c:156 unsigned int GetVariablePowerN(unsigned int n, Tvariable_set *vs) Gets a variable power from a variable set. Definition: variable_set.c:463 void GenerateGeneralNormEquation(unsigned int nv, unsigned int *v, double n, Tequation *eq) Construtor. Generates an equation that is the norm of a vector. Definition: equation.c:1443 boolean PolynomialMonomial(Tmonomial *f) Identifies monimials not involving any kind of (trigonomitric function). Definition: monomial.c:86 unsigned int CmpMonomial(Tmonomial *f1, Tmonomial *f2) Monomial comparison. Definition: monomial.c:103 void VarScaleEquation(unsigned int v, Tequation *eq) Scales an equation with a variable factor. Definition: equation.c:669 Definitions of constants and macros used in several parts of the cuik library. void IntervalSubstract(Tinterval *i1, Tinterval *i2, Tinterval *i_out) Substraction of two intervals. Definition: interval.c:437 void ShiftVarIndexes(unsigned int nv, Tvariable_set *vs) Reduces the variable indexes above a given index. Definition: variable_set.c:99 boolean ParabolaEquation(Tequation *eq) Identify scaled parabola equations. Definition: equation.c:1121 void ScaleLinearConstraint(double a, TLinearConstraint *lc) Scales a linear constraint. Definition: linear_constraint.c:192 Tvariable_set * GetMonomialVariables(Tmonomial *f) Gets the variables of a monomial. Definition: monomial.c:153 void GenerateScaledParabolaEquation(double s, unsigned int vx, unsigned int vy, Tequation *eq) Construtor. Generates a scaled parabola equation. Definition: equation.c:1366 unsigned int GetNumTermsInLinearConstraint(TLinearConstraint *lc) Number of variables in a linear constraint. Definition: linear_constraint.c:49 void GetEquationBounds(Tinterval *bounds, Tequation *eq) Returns the right-hand side of the equation in the form of an interval. Definition: equation.c:1154 void GenerateScaledSaddleEquation(double s, unsigned int vx, unsigned int vy, unsigned int vz, Tequation *eq) Construtor. Generates a scaled saddle equation. Definition: equation.c:1398 unsigned int VariableSetSize(Tvariable_set *vs) Gets the number of elements of a variable set. Definition: variable_set.c:442 double GetEquationValue(Tequation *eq) Gets the right-hand value of the equation. Definition: equation.c:1149 unsigned int FixVariableInEquation(double epsilon, unsigned int nv, double b, Tequation *eq) Turns a variable into a constant. Definition: equation.c:461 void VarAccumulateEquations(Tequation *eqn, unsigned int v, Tequation *eq) Adds an equation scaled with a variable to another equation. Definition: equation.c:377 void GetLinearConstraintError(Tinterval *error, TLinearConstraint *lc) Gets the right-hand side interval for the linear constraint. Definition: linear_constraint.c:86 #define MEM_DUP(_var, _n, _type) Duplicates a previously allocated memory space. Definition: defines.h:414 #define NO_UINT Used to denote an identifier that has not been initialized. Definition: defines.h:435 void AddVariable2Monomial(unsigned int fn, unsigned int varid, unsigned int p, Tmonomial *f) Adds a power variable to the monomial. Definition: monomial.c:171 boolean CleanInfEquation(Tequation *eq_in, Tinterval *varValues, boolean *changed, Tequation *eq_out) Removes the monomials that evaluate to inf. Definition: equation.c:752 void AddCt2LinearConstraint(double ct, TLinearConstraint *lc) Adds a constant term to the linear constraint. Definition: linear_constraint.c:101 unsigned int FindMonomial(Tmonomial *f, Tequation *eq) Searches for a given monomial in the equation. Definition: equation.c:1561 void EquationFromLinearConstraint(TLinearConstraint *lc, Tequation *eq) Defines a new equation from a linear constraint. Definition: equation.c:106 void PrintMonomials(FILE *f, char **varNames, Tequation *eq) Prints an equation as a set if monomials. Definition: equation.c:1692 void EvaluateMonomialInt(Tinterval *varValues, Tinterval *i_out, Tmonomial *f) Evaluates a monomial for a given set of ranges for the variables. Definition: monomial.c:210 #define MAX_TERMS_SIMP Maximum number of terms to be used in the simplifications. Definition: equation.h:31 void PrintMonomial(FILE *file, boolean first, char **varNames, Tmonomial *f) Prints a monomial. Definition: monomial.c:255 double GetLinearConstraintCoefficient(unsigned int i, TLinearConstraint *lc) Gets the a particular linear constraint coefficient. Definition: linear_constraint.c:59 void GetOriginalVarRelation(unsigned int nvo, TLinearConstraint *lc, Tmapping *m) Gets the relation for a variable in the original set with the variables in the simple set... Definition: csmapping.c:112 void ProductEquations(Tequation *eq1, Tequation *eq2, Tequation *eqOut) Product of two equations. Definition: equation.c:398 void RewriteEquation2Orig(Tmapping *map, Tequation *eqOut, Tequation *eq) Applies the un-simplification mapping to an equation. Definition: equation.c:321 void AccumulateEquations(Tequation *eqn, double ct, Tequation *eq) Adds a scaled equation to another equation. Definition: equation.c:366 unsigned int GetNumMonomials(Tequation *eq) Number of monomials in an equation. Definition: equation.c:1592 boolean QuadraticMonomial(Tmonomial *f) Checks if a monomial is quadratic: K*x^2, with K a constant. Definition: monomial.c:64 Tvariable_set * GetEquationVariables(Tequation *eq) Gets the set of variables equation used in the equation. Definition: equation.c:1178 void GenerateDotProductEquation(unsigned int v1x, unsigned int v1y, unsigned int v1z, unsigned int v2x, unsigned int v2y, unsigned int v2z, unsigned int vc, double c, Tequation *eq) Construtor. Generates the equation of the dot product of two unitary vectors. Definition: equation.c:1526 unsigned int GetEquationCmp(Tequation *eq) Gets the type of relational operator of the equation. Definition: equation.c:1139 void IntervalOffset(Tinterval *i, double offset, Tinterval *i_out) Interval offset. Definition: interval.c:622 |
Follow us!