eqvector.h
Go to the documentation of this file.
1 #ifndef EQVECTORH
2 #define EQVECTORH
3 
4 #include "interval.h"
5 #include "equation.h"
6 #include "geom.h"
7 
8 #include <stdio.h>
9 
25 typedef Tequation TEqVector[3];
26 
34 void InitEqVector(TEqVector *ev);
35 
44 void CopyEqVector(TEqVector *ev_dst,TEqVector *ev_src);
45 
54 void EqVectorFromVector(double *v,TEqVector *ev);
55 
64 Tequation *GetEqVectorElement(unsigned int i,TEqVector *ev);
65 
74 void ScaleEqVector(double ct,TEqVector *ev);
75 
84 void VarScaleEqVector(unsigned int v,TEqVector *ev);
85 
96 void AccumulateEqVectors(TEqVector *ev,double ct,TEqVector *evOut);
97 
108 void VarAccumulateEqVectors(TEqVector *ev,unsigned int v,TEqVector *evOut);
109 
120 void VarAccumulateVector2EqVector(double *c,unsigned int v,TEqVector *evOut);
121 
134 void Var2AccumulateVector2EqVector(double *c,unsigned int v1,
135  unsigned int v2,TEqVector *evOut);
144 void AccumulateVector2EqVector(double *v,TEqVector *ev);
145 
155 void CrossProductEqVectors(TEqVector *ev1,TEqVector *ev2,TEqVector *evOut);
156 
170 void CrossProductVectorEqVector(double *v,TEqVector *ev,TEqVector *evOut);
171 
181 void DotProductEqVectors(TEqVector *ev1,TEqVector *ev2,Tequation *eqOut);
182 
193 void DotProductVectorEqVector(double *v,TEqVector *ev,Tequation *eqOut);
194 
205 void EvaluateEqVector(double *v,double *o,TEqVector *ev);
206 
218 
226 void DeleteEqVector(TEqVector *ev);
227 
228 #endif
void InitEqVector(TEqVector *ev)
Initializes a vector of equations.
Definition: eqvector.c:15
Definition of the Tequation type and the associated functions.
Definition of basic functions.
void AccumulateEqVectors(TEqVector *ev, double ct, TEqVector *evOut)
Accumulates two vectors of equations.
Definition: eqvector.c:68
void ScaleEqVector(double ct, TEqVector *ev)
Scales a equation vector with a constant.
Definition: eqvector.c:52
void VarScaleEqVector(unsigned int v, TEqVector *ev)
Scales an equation vector by a variable.
Definition: eqvector.c:60
void CrossProductVectorEqVector(double *v, TEqVector *ev, TEqVector *evOut)
Cross product of a constant vector and an equation vector.
Definition: eqvector.c:152
Tequation TEqVector[3]
An array with three equations.
Definition: eqvector.h:25
void EvaluateEqVector(double *v, double *o, TEqVector *ev)
Evaluates a vector of equations.
Definition: eqvector.c:198
void VarAccumulateEqVectors(TEqVector *ev, unsigned int v, TEqVector *evOut)
Accumulates two vectors of equations.
Definition: eqvector.c:76
void AccumulateVector2EqVector(double *v, TEqVector *ev)
Accumulates a constant vector to an equation vector.
Definition: eqvector.c:118
void VarAccumulateVector2EqVector(double *c, unsigned int v, TEqVector *evOut)
Accumulates a constant vector to a equation vector.
Definition: eqvector.c:84
void DotProductVectorEqVector(double *v, TEqVector *ev, Tequation *eqOut)
Dot product of a constant vector and an equation vector.
Definition: eqvector.c:190
An equation.
Definition: equation.h:236
void CopyEqVector(TEqVector *ev_dst, TEqVector *ev_src)
Copies a vector of equations.
Definition: eqvector.c:23
void CrossProductEqVectors(TEqVector *ev1, TEqVector *ev2, TEqVector *evOut)
Cross product of two equation vectors.
Definition: eqvector.c:126
void EvaluateEqVectorInt(Tinterval *v, Tinterval *o, TEqVector *ev)
Evaluates a vector of equations on intervals.
Definition: eqvector.c:206
void DotProductEqVectors(TEqVector *ev1, TEqVector *ev2, Tequation *eqOut)
Dot product of two equation vectors.
Definition: eqvector.c:175
void EqVectorFromVector(double *v, TEqVector *ev)
Initializes a vector of equations from a constant vector.
Definition: eqvector.c:31
void DeleteEqVector(TEqVector *ev)
Deletes an equation vector.
Definition: eqvector.c:219
void Var2AccumulateVector2EqVector(double *c, unsigned int v1, unsigned int v2, TEqVector *evOut)
Accumulates a constant vector to a equation vector.
Definition: eqvector.c:100
Defines a interval.
Definition: interval.h:33
Tequation * GetEqVectorElement(unsigned int i, TEqVector *ev)
Gets an alement from a equation vector.
Definition: eqvector.c:41
Definition of the Tinterval type and the associated functions.