39 dat=
new lx_cinterval[i];
50 throw(ERROR_IVECTOR_WRONG_BOUNDARIES,ERROR_IVECTOR_NO_MORE_MEMORY):
51 l(i1),u(i2),size(i2-i1+1)
53 throw():l(i1),u(i2),size(i2-i1+1)
57 if(i1>i2) cxscthrow(ERROR_IVECTOR_WRONG_BOUNDARIES(
58 "lx_civector(const int &i1,const int &i2)"));
60 dat=
new lx_cinterval[size];
65 dat=
new lx_cinterval[1];
71 dat=
new lx_cinterval[1];
77 dat=
new lx_cinterval[1];
83 dat=
new lx_cinterval[1];
89 dat=
new lx_cinterval[1];
95 dat=
new lx_cinterval[1];
101 dat=
new lx_cinterval[1];
107 dat=
new lx_cinterval[1];
113 dat=
new lx_cinterval[1];
119 dat=
new lx_cinterval[1];
125 dat=
new lx_cinterval[1];
131 dat=
new lx_cinterval[1];
136 throw():l(v.l),u(v.u),size(v.size)
138 dat=
new lx_cinterval[size];
139 for (
int i=0;i<size;i++)
145 l = rv.l; u = rv.u; size = rv.size;
146 dat=
new lx_cinterval[size];
147 for (
int i=0;i<size;i++)
154 lx_cinterval *newdat =
new lx_cinterval[size];
155 for (
int i=0;i<size;i++)
164 lx_cinterval *newdat =
new lx_cinterval[size];
165 for (
int i=0;i<size;i++)
174 lx_cinterval *newdat =
new lx_cinterval[size];
175 for (
int i=0;i<size;i++)
184 lx_cinterval *newdat =
new lx_cinterval[size];
185 for (
int i=0;i<size;i++)
194 lx_cinterval *newdat =
new lx_cinterval[size];
195 for (
int i=0;i<size;i++)
204 lx_cinterval *newdat =
new lx_cinterval[size];
205 for (
int i=0;i<size;i++)
214 lx_cinterval *newdat =
new lx_cinterval[size];
215 for (
int i=0;i<size;i++)
224 lx_cinterval *newdat =
new lx_cinterval[size];
225 for (
int i=0;i<size;i++)
234 lx_cinterval *newdat =
new lx_cinterval[size];
235 for (
int i=0;i<size;i++)
244 lx_cinterval *newdat =
new lx_cinterval[size];
245 for (
int i=0;i<size;i++)
254 lx_cinterval *newdat =
new lx_cinterval[size];
255 for (
int i=0;i<size;i++)
264 lx_cinterval *newdat =
new lx_cinterval[size];
265 for (
int i=0;i<size;i++)
273 #if(CXSC_INDEX_CHECK) 274 throw(ERROR_IVECTOR_ELEMENT_NOT_IN_VEC)
279 #if(CXSC_INDEX_CHECK) 280 if(i<l||i>u) cxscthrow(ERROR_IVECTOR_ELEMENT_NOT_IN_VEC(
281 "lx_cinterval & lx_civector::operator [](const int &i)"));
287 #if(CXSC_INDEX_CHECK) 288 throw(ERROR_IVECTOR_ELEMENT_NOT_IN_VEC)
293 #if(CXSC_INDEX_CHECK) 294 if(i<l || i>u) cxscthrow(ERROR_IVECTOR_ELEMENT_NOT_IN_VEC(
295 "lx_cinterval & lx_civector::operator [](const int &i)"));
301 #if(CXSC_INDEX_CHECK) 302 throw(ERROR__WRONG_BOUNDARIES<lx_civector>);
311 #if(CXSC_INDEX_CHECK) 313 cxscthrow(ERROR__WRONG_BOUNDARIES(
314 "Resize(lx_civector &rv, int len)"));
316 lx_cinterval *ndat =
new lx_cinterval[len];
318 beg = (rv.l>1)? rv.l : 1;
319 end = (rv.u<len)? rv.u : len;
320 for(
int i=beg-1;i<end;i++)
321 ndat[i]=rv.dat[i-rv.l+1];
330 #if(CXSC_INDEX_CHECK) 331 throw(ERROR__WRONG_BOUNDARIES<lx_civector>)
336 if (rv.size == ub-lb+1)
341 #if(CXSC_INDEX_CHECK) 343 cxscthrow(ERROR__WRONG_BOUNDARIES(
344 "Resize(lx_civector &rv, int lb, int ub)"));
346 lx_cinterval *ndat =
new lx_cinterval[rv.size];
348 beg = (rv.l>lb)? rv.l : lb;
349 end = (rv.u<ub)? rv.u : ub;
350 for(
int i=0;i<=rv.size-1;i++)
352 for(
int i=beg;i<=end;i++)
353 ndat[i-lb]=rv.dat[i-rv.l];
The Multiple-Precision Data Type l_interval.
The Multiple-Precision Data Type l_real.
int Lb(const cimatrix &rm, const int &i)
Returns the lower bound index.
The namespace cxsc, providing all functionality of the class library C-XSC.
The Multiple-Precision Data Type l_cinterval.
The Multiple-Precision Data Type lx_civector.
The Scalar Type interval.
cimatrix & SetLb(cimatrix &m, const int &i, const int &j)
Sets the lower bound index.
void DoubleSize(cimatrix &A)
Doubles the size of the matrix.
lx_civector & operator=(const lx_civector &)
Implementation of standard assigning operator.
cimatrix & SetUb(cimatrix &m, const int &i, const int &j)
Sets the upper bound index.
lx_cinterval & operator [](const int &i)
Operator for accessing the single elements of the vector.
The Scalar Type cinterval.
void Resize(cimatrix &A)
Resizes the matrix.
The Multiple-Precision Data Type l_complex.
int Ub(const cimatrix &rm, const int &i)
Returns the upper bound index.
lx_civector()
Constructor of class lx_civector.