interval_vector.c
Go to the documentation of this file.
1 #include "interval_vector.h"
2 
13 void IntervalVectFromVector(unsigned int s,double *v,Tinterval *vi)
14 {
15  unsigned int i;
16 
17  for(i=0;i<s;i++)
18  NewInterval(v[i],v[i],&(vi[i]));
19 }
20 
21 
22 void IntCosVector(unsigned int s,Tinterval *vi,Tinterval *ci)
23 {
24  unsigned int i;
25 
26  for(i=0;i<s;i++)
27  IntervalCosine(&(vi[i]),&(ci[i]));
28 }
29 
30 void IntSinVector(unsigned int s,Tinterval *vi,Tinterval *si)
31 {
32  unsigned int i;
33 
34  for(i=0;i<s;i++)
35  IntervalCosine(&(vi[i]),&(si[i]));
36 }
37 
38 void IntervalVectSumVectorScale(unsigned int s,Tinterval *v1,Tinterval *w,double *v2,Tinterval *v)
39 {
40  unsigned int i;
41  Tinterval a;
42 
43  for(i=0;i<s;i++)
44  {
45  IntervalScale(w,v2[i],&a);
46  IntervalAdd(&(v1[i]),&a,&(v[i]));
47  }
48 }
49 
50 void IntervalVectDotProduct(unsigned int s,Tinterval *v1,Tinterval *v2,Tinterval *dp)
51 {
52  unsigned int i;
53  Tinterval a;
54 
55  NewInterval(0,0,dp);
56  for(i=0;i<s;i++)
57  {
58  IntervalProduct(&(v1[i]),&(v2[i]),&a);
59  IntervalAdd(dp,&a,dp);
60  }
61 }
void IntCosVector(unsigned int s, Tinterval *vi, Tinterval *ci)
Interval cosine on a vector.
void IntervalAdd(Tinterval *i1, Tinterval *i2, Tinterval *i_out)
Addition of two intervals.
Definition: interval.c:418
void IntervalVectDotProduct(unsigned int s, Tinterval *v1, Tinterval *v2, Tinterval *dp)
Dot product between two interval vectors.
void IntervalVectFromVector(unsigned int s, double *v, Tinterval *vi)
Creates a vector of intervals.
void IntSinVector(unsigned int s, Tinterval *vi, Tinterval *si)
Interval sine on a vector.
void IntervalScale(Tinterval *i1, double e, Tinterval *i_out)
Scales an interval.
Definition: interval.c:355
Headers of the functions operating on interval vectors.
void IntervalProduct(Tinterval *i1, Tinterval *i2, Tinterval *i_out)
Product of two intervals.
Definition: interval.c:384
void NewInterval(double lower, double upper, Tinterval *i)
Constructor.
Definition: interval.c:47
void IntervalVectSumVectorScale(unsigned int s, Tinterval *v1, Tinterval *w, double *v2, Tinterval *v)
Adds a scaled constant vector an an interval vector.
void IntervalCosine(Tinterval *i, Tinterval *i_out)
Interval cosine.
Definition: interval.c:697
Defines a interval.
Definition: interval.h:33