26 #ifndef _CXSC_LRVECTOR_HPP_INCLUDED 27 #define _CXSC_LRVECTOR_HPP_INCLUDED 29 #include "xscclass.hpp" 35 #include "rvector.hpp" 45 class l_rvector_slice;
67 template<
typename S,
typename T>
68 friend inline void addDot(
const S &x,
const T &y,
dotprecision &val);
71 #ifdef _CXSC_FRIEND_TPL 74 template <
class V,
class MS,
class S>
friend void _vmsconstr(V &v,
const MS &m)
76 throw(ERROR__TYPE_CAST_OF_THICK_OBJ<MS>);
80 template <
class V,
class M,
class S>
friend void _vmconstr(V &v,
const M &m)
82 throw(ERROR__TYPE_CAST_OF_THICK_OBJ<M>);
86 template <
class V>
friend void _vresize(V &rv)
throw();
87 template <
class V,
class S>
friend void _vresize(V &rv,
const int &len)
89 throw(ERROR__WRONG_BOUNDARIES<V>);
93 template <
class V,
class S>
friend void _vresize(V &rv,
const int &lb,
const int &ub)
95 throw(ERROR__WRONG_BOUNDARIES<V>);
99 template <
class V1,
class V2,
class S>
friend V1 &_vvassign(V1 &rv1,
const V2 &rv2)
throw();
100 template <
class V,
class S>
friend V & _vsassign(V &rv,
const S &r)
throw();
101 template <
class V,
class VS,
class S>
friend V & _vvsassign(V &rv,
const VS &sl)
throw();
102 template <
class VS,
class V>
friend VS & _vsvassign(VS &sl,
const V &rv)
103 #if(CXSC_INDEX_CHECK) 104 throw(ERROR__OP_WITH_WRONG_DIM<VS>);
108 template <
class V,
class M,
class S>
friend V &_vmassign(V &v,
const M &m)
109 #if(CXSC_INDEX_CHECK) 110 throw(ERROR__TYPE_CAST_OF_THICK_OBJ<M>);
114 template <
class M,
class V,
class S>
friend M &_mvassign(M &m,
const V &v)
throw();
115 template <
class V>
friend V _vconj(
const V &rv)
throw();
116 template <
class VS,
class E>
friend E _vsconj(
const VS &sl)
throw();
117 template <
class V,
class E>
friend E _vabs(
const V &rv)
throw();
118 template <
class VS,
class E>
friend E _vsabs(
const VS &sl)
throw();
119 template <
class MV,
class V>
friend V _mvabs(
const MV &mv)
throw();
122 template <
class DP,
class V1,
class V2>
friend void _vvaccu(DP &dp,
const V1 & rv1,
const V2 &rv2)
123 #if(CXSC_INDEX_CHECK) 124 throw(OP_WITH_WRONG_DIM);
128 template <
class DP,
class VS,
class V>
friend void _vsvaccu(DP &dp,
const VS & sl,
const V &rv)
129 #if(CXSC_INDEX_CHECK) 130 throw(OP_WITH_WRONG_DIM);
134 template <
class V1,
class V2,
class E>
friend E _vvlmult(
const V1 & rv1,
const V2 &rv2)
135 #if(CXSC_INDEX_CHECK) 136 throw(ERROR__OP_WITH_WRONG_DIM<V1>);
140 template <
class VS,
class V,
class E>
friend E _vsvlmult(
const VS & sl,
const V &rv)
141 #if(CXSC_INDEX_CHECK) 142 throw(ERROR__OP_WITH_WRONG_DIM<V>);
146 template <
class V,
class S>
friend V &_vsmultassign(V &rv,
const S &r)
throw();
147 template <
class V1,
class V2,
class E>
friend E _vvplus(
const V1 &rv1,
const V2 &rv2)
148 #if(CXSC_INDEX_CHECK) 149 throw(ERROR__OP_WITH_WRONG_DIM<V1>);
153 template <
class V,
class VS,
class E>
friend E _vvsplus(
const V &rv,
const VS &sl)
154 #if(CXSC_INDEX_CHECK) 155 throw(ERROR__OP_WITH_WRONG_DIM<V>);
159 template <
class VS1,
class VS2,
class E>
friend E _vsvsplus(
const VS1 &s1,
const VS2 &s2)
160 #if(CXSC_INDEX_CHECK) 161 throw(ERROR__OP_WITH_WRONG_DIM<VS1>);
165 template <
class VS1,
class VS2,
class E>
friend E _vsvsminus(
const VS1 &s1,
const VS2 &s2)
166 #if(CXSC_INDEX_CHECK) 167 throw(ERROR__OP_WITH_WRONG_DIM<VS1>);
171 template <
class V1,
class V2>
friend V1 &_vvplusassign(V1 &rv1,
const V2 &rv2)
172 #if(CXSC_INDEX_CHECK) 173 throw(ERROR__OP_WITH_WRONG_DIM<V1>);
177 template <
class V,
class VS>
friend V &_vvsplusassign(V &rv,
const VS &sl)
178 #if(CXSC_INDEX_CHECK) 179 throw(ERROR__OP_WITH_WRONG_DIM<V>);
183 template <
class VS,
class V>
friend VS &_vsvplusassign(VS &sl,
const V &rv)
184 #if(CXSC_INDEX_CHECK) 185 throw(ERROR__OP_WITH_WRONG_DIM<VS>);
189 template <
class VS1,
class VS2>
friend VS1 &_vsvsplusassign(VS1 &sl1,
const VS2 &sl2)
190 #if(CXSC_INDEX_CHECK) 191 throw(ERROR__OP_WITH_WRONG_DIM<VS1>);
195 template <
class VS1,
class VS2>
friend VS1 &_vsvsminusassign(VS1 &sl1,
const VS2 &sl2)
196 #if(CXSC_INDEX_CHECK) 197 throw(ERROR__OP_WITH_WRONG_DIM<VS1>);
201 template <
class V1,
class V2>
friend V1 &_vvminusassign(V1 &rv1,
const V2 &rv2)
202 #if(CXSC_INDEX_CHECK) 203 throw(ERROR__OP_WITH_WRONG_DIM<V1>);
207 template <
class V,
class VS>
friend V &_vvsminusassign(V &rv,
const VS &sl)
208 #if(CXSC_INDEX_CHECK) 209 throw(ERROR__OP_WITH_WRONG_DIM<V>);
213 template <
class VS,
class V>
friend VS &_vsvminusassign(VS &sl,
const V &rv)
214 #if(CXSC_INDEX_CHECK) 215 throw(ERROR__OP_WITH_WRONG_DIM<VS>);
219 template <
class V>
friend V _vminus(
const V &rv)
throw();
220 template <
class VS,
class V>
friend V _vsminus(
const VS &sl)
throw();
221 template <
class V1,
class V2,
class E>
friend E _vvminus(
const V1 &rv1,
const V2 &rv2)
222 #if(CXSC_INDEX_CHECK) 223 throw(ERROR__OP_WITH_WRONG_DIM<E>);
227 template <
class V,
class VS,
class E>
friend E _vvsminus(
const V &rv,
const VS &sl)
228 #if(CXSC_INDEX_CHECK) 229 throw(ERROR__OP_WITH_WRONG_DIM<E>);
233 template <
class VS,
class V,
class E>
friend E _vsvminus(
const VS &sl,
const V &rv)
234 #if(CXSC_INDEX_CHECK) 235 throw(ERROR__OP_WITH_WRONG_DIM<E>);
239 template <
class V,
class MV,
class S>
friend S _vmvlmult(
const V &rv1,
const MV &rv2)
240 #if(CXSC_INDEX_CHECK) 241 throw(ERROR__OP_WITH_WRONG_DIM<MV>);
245 template <
class V1,
class V2,
class E>
friend E _vvconv(
const V1 &rv1,
const V2 &rv2)
246 #if(CXSC_INDEX_CHECK) 247 throw(ERROR__OP_WITH_WRONG_DIM<E>);
251 template <
class V,
class VS,
class E>
friend E _vvsconv(
const V &rv,
const VS &sl)
252 #if(CXSC_INDEX_CHECK) 253 throw(ERROR__OP_WITH_WRONG_DIM<E>);
257 template <
class VS1,
class VS2,
class E>
friend E _vsvsconv(
const VS1 &s1,
const VS2 &s2)
258 #if(CXSC_INDEX_CHECK) 259 throw(ERROR__OP_WITH_WRONG_DIM<E>);
264 template <
class V,
class S,
class E>
friend E _vsdiv(
const V &rv,
const S &s)
throw();
265 template <
class V,
class S>
friend V &_vsdivassign(V &rv,
const S &r)
throw();
266 template <
class VS,
class S,
class E>
friend E _vssdiv(
const VS &sl,
const S &s)
throw();
267 template <
class V,
class S,
class E>
friend E _vsmult(
const V &rv,
const S &s)
throw();
268 template <
class VS,
class S,
class E>
friend E _vssmult(
const VS &sl,
const S &s)
throw();
269 template <
class MV,
class S,
class E>
friend E _mvsmult(
const MV &rv,
const S &s)
throw();
270 template <
class MV1,
class MV2,
class E>
friend E _mvmvplus(
const MV1 &rv1,
const MV2 &rv2)
271 #if(CXSC_INDEX_CHECK) 272 throw(ERROR__OP_WITH_WRONG_DIM<E>);
276 template <
class MV,
class V,
class E>
friend E _mvvplus(
const MV &rv1,
const V &rv2)
277 #if(CXSC_INDEX_CHECK) 278 throw(ERROR__OP_WITH_WRONG_DIM<E>);
282 template <
class MV,
class V,
class E>
friend E _mvvminus(
const MV &rv1,
const V &rv2)
283 #if(CXSC_INDEX_CHECK) 284 throw(ERROR__OP_WITH_WRONG_DIM<E>);
288 template <
class V,
class MV,
class E>
friend E _vmvminus(
const V &rv1,
const MV &rv2)
289 #if(CXSC_INDEX_CHECK) 290 throw(ERROR__OP_WITH_WRONG_DIM<E>);
294 template <
class MV1,
class MV2,
class E>
friend E _mvmvminus(
const MV1 &rv1,
const MV2 &rv2)
295 #if(CXSC_INDEX_CHECK) 296 throw(ERROR__OP_WITH_WRONG_DIM<E>);
300 template <
class MV,
class V>
friend MV &_mvvplusassign(MV &v,
const V &rv)
301 #if(CXSC_INDEX_CHECK) 302 throw(ERROR__OP_WITH_WRONG_DIM<MV>);
306 template <
class MV,
class V>
friend MV &_mvvminusassign(MV &v,
const V &rv)
307 #if(CXSC_INDEX_CHECK) 308 throw(ERROR__OP_WITH_WRONG_DIM<MV>);
312 template <
class MV,
class S,
class E>
friend E _mvsdiv(
const MV &rv,
const S &s)
throw();
313 template <
class MV,
class V>
friend MV &_mvvassign(MV &v,
const V &rv)
314 #if(CXSC_INDEX_CHECK) 315 throw(ERROR__OP_WITH_WRONG_DIM<MV>);
319 template <
class DP,
class V,
class SV>
friend void _vmvaccu(DP &dp,
const V & rv1,
const SV &rv2)
320 #if(CXSC_INDEX_CHECK) 321 throw(OP_WITH_WRONG_DIM);
326 template <
class V1,
class V2>
friend bool _vveq(
const V1 &rv1,
const V2 &rv2)
throw();
327 template <
class VS,
class V>
friend bool _vsveq(
const VS &sl,
const V &rv)
throw();
328 template <
class V1,
class V2>
friend bool _vvneq(
const V1 &rv1,
const V2 &rv2)
throw();
329 template <
class VS,
class V>
friend bool _vsvneq(
const VS &sl,
const V &rv)
throw();
330 template <
class V1,
class V2>
friend bool _vvless(
const V1 &rv1,
const V2 &rv2)
throw();
331 template <
class VS,
class V>
friend bool _vsvless(
const VS &sl,
const V &rv)
throw();
332 template <
class V1,
class V2>
friend bool _vvleq(
const V1 &rv1,
const V2 &rv2)
throw();
333 template <
class VS,
class V>
friend bool _vsvleq(
const VS &sl,
const V &rv)
throw();
334 template <
class V,
class VS>
friend bool _vvsless(
const V &rv,
const VS &sl)
throw();
335 template <
class V,
class VS>
friend bool _vvsleq(
const V &rv,
const VS &sl)
throw();
336 template <
class V>
friend bool _vnot(
const V &rv)
throw();
337 template <
class V>
friend void *_vvoid(
const V &rv)
throw();
338 template <
class VS1,
class VS2>
friend bool _vsvseq(
const VS1 &sl1,
const VS2 &sl2)
throw();
339 template <
class VS1,
class VS2>
friend bool _vsvsneq(
const VS1 &sl1,
const VS2 &sl2)
throw();
340 template <
class VS1,
class VS2>
friend bool _vsvsless(
const VS1 &sl1,
const VS2 &sl2)
throw();
341 template <
class VS1,
class VS2>
friend bool _vsvsleq(
const VS1 &sl1,
const VS2 &sl2)
throw();
342 template <
class VS>
friend bool _vsnot(
const VS &sl)
throw();
343 template <
class VS>
friend void *_vsvoid(
const VS &sl)
throw();
344 template <
class V>
friend std::ostream &_vout(std::ostream &s,
const V &rv)
throw();
345 template <
class V>
friend std::istream &_vin(std::istream &s, V &rv)
throw();
348 template <
class V,
class MV2,
class S>
friend V &_vmvassign(V &v,
const MV2 &rv)
throw();
349 template <
class M,
class V,
class E>
friend E _mvlmult(
const M &m,
const V &v)
350 #if(CXSC_INDEX_CHECK) 351 throw(ERROR__OP_WITH_WRONG_DIM<M>);
355 template <
class V,
class M,
class E>
friend E _vmlmult(
const V &v,
const M &m)
356 #if(CXSC_INDEX_CHECK) 357 throw(ERROR__OP_WITH_WRONG_DIM<M>);
361 template <
class V,
class M,
class S>
friend V &_vmlmultassign(V &v,
const M &m)
362 #if(CXSC_INDEX_CHECK) 363 throw(ERROR__OP_WITH_WRONG_DIM<M>);
367 template <
class MS,
class V,
class E>
friend E _msvlmult(
const MS &ms,
const V &v)
368 #if(CXSC_INDEX_CHECK) 369 throw(ERROR__OP_WITH_WRONG_DIM<MS>);
373 template <
class V,
class MS,
class E>
friend E _vmslmult(
const V &v,
const MS &ms)
374 #if(CXSC_INDEX_CHECK) 375 throw(ERROR__OP_WITH_WRONG_DIM<MS>);
379 template <
class V,
class MS,
class S>
friend V &_vmslmultassign(V &v,
const MS &ms)
380 #if(CXSC_INDEX_CHECK) 381 throw(ERROR__OP_WITH_WRONG_DIM<MS>);
388 template <
class V1,
class V2,
class E>
friend E _vvlimult(
const V1 & rv1,
const V2 &rv2)
389 #if(CXSC_INDEX_CHECK) 390 throw(ERROR__OP_WITH_WRONG_DIM<V1>);
394 template <
class VS,
class V,
class E>
friend E _vsvlimult(
const VS & sl,
const V &rv)
395 #if(CXSC_INDEX_CHECK) 396 throw(ERROR__OP_WITH_WRONG_DIM<V>);
400 template <
class VS1,
class VS2,
class E>
friend E _vsvslimult(
const VS1 & sl1,
const VS2 &sl2)
401 #if(CXSC_INDEX_CHECK) 402 throw(ERROR__OP_WITH_WRONG_DIM<VS1>);
406 template <
class V1,
class V2,
class E>
friend E _vvsect(
const V1 &rv1,
const V2 &rv2)
407 #if(CXSC_INDEX_CHECK) 408 throw(ERROR__OP_WITH_WRONG_DIM<V1>);
412 template <
class V,
class VS,
class E>
friend E _vvssect(
const V &rv,
const VS &sl)
413 #if(CXSC_INDEX_CHECK) 414 throw(ERROR__OP_WITH_WRONG_DIM<E>);
418 template <
class VS1,
class VS2,
class E>
friend E _vsvssect(
const VS1 &s1,
const VS2 &s2)
419 #if(CXSC_INDEX_CHECK) 420 throw(ERROR__OP_WITH_WRONG_DIM<E>);
426 template <
class M,
class V,
class E>
friend E _mvlimult(
const M &m,
const V &v)
427 #if(CXSC_INDEX_CHECK) 428 throw(ERROR__OP_WITH_WRONG_DIM<M>);
432 template <
class V,
class M,
class E>
friend E _vmlimult(
const V &v,
const M &m)
433 #if(CXSC_INDEX_CHECK) 434 throw(ERROR__OP_WITH_WRONG_DIM<M>);
438 template <
class MS,
class V,
class E>
friend E _msvlimult(
const MS &ms,
const V &v)
439 #if(CXSC_INDEX_CHECK) 440 throw(ERROR__OP_WITH_WRONG_DIM<MS>);
444 template <
class V,
class MS,
class E>
friend E _vmslimult(
const V &v,
const MS &ms)
445 #if(CXSC_INDEX_CHECK) 446 throw(ERROR__OP_WITH_WRONG_DIM<MS>);
452 template <
class V1,
class V2>
friend V1 &_vvsetinf(V1 &rv1,
const V2 &rv2)
453 #if(CXSC_INDEX_CHECK) 454 throw(ERROR__OP_WITH_WRONG_DIM<V1>);
458 template <
class V1,
class V2>
friend V1 &_vvsetsup(V1 &rv1,
const V2 &rv2)
459 #if(CXSC_INDEX_CHECK) 460 throw(ERROR__OP_WITH_WRONG_DIM<V1>);
464 template <
class V1,
class V2>
friend V1 &_vvusetinf(V1 &rv1,
const V2 &rv2)
465 #if(CXSC_INDEX_CHECK) 466 throw(ERROR__OP_WITH_WRONG_DIM<V1>);
470 template <
class V1,
class V2>
friend V1 &_vvusetsup(V1 &rv1,
const V2 &rv2)
471 #if(CXSC_INDEX_CHECK) 472 throw(ERROR__OP_WITH_WRONG_DIM<V1>);
476 template <
class VS,
class V>
friend VS &_vsvsetinf(VS &sl,
const V &rv)
477 #if(CXSC_INDEX_CHECK) 478 throw(ERROR__OP_WITH_WRONG_DIM<VS>);
482 template <
class VS,
class V>
friend VS &_vsvsetsup(VS &sl,
const V &rv)
483 #if(CXSC_INDEX_CHECK) 484 throw(ERROR__OP_WITH_WRONG_DIM<VS>);
488 template <
class VS,
class V>
friend VS &_vsvusetinf(VS &sl,
const V &rv)
489 #if(CXSC_INDEX_CHECK) 490 throw(ERROR__OP_WITH_WRONG_DIM<VS>);
494 template <
class VS,
class V>
friend VS &_vsvusetsup(VS &sl,
const V &rv)
495 #if(CXSC_INDEX_CHECK) 496 throw(ERROR__OP_WITH_WRONG_DIM<VS>);
500 template <
class MV,
class V>
friend MV &_mvvsetinf(MV &v,
const V &rv)
501 #if(CXSC_INDEX_CHECK) 502 throw(ERROR__OP_WITH_WRONG_DIM<MV>);
506 template <
class MV,
class V>
friend MV &_mvvsetsup(MV &v,
const V &rv)
507 #if(CXSC_INDEX_CHECK) 508 throw(ERROR__OP_WITH_WRONG_DIM<MV>);
512 template <
class MV,
class V>
friend MV &_mvvusetinf(MV &v,
const V &rv)
513 #if(CXSC_INDEX_CHECK) 514 throw(ERROR__OP_WITH_WRONG_DIM<MV>);
518 template <
class MV,
class V>
friend MV &_mvvusetsup(MV &v,
const V &rv)
519 #if(CXSC_INDEX_CHECK) 520 throw(ERROR__OP_WITH_WRONG_DIM<MV>);
524 template <
class V,
class E>
friend E _vmid(
const V &rv)
throw();
525 template <
class V,
class E>
friend E _vinf(
const V &rv)
throw();
526 template <
class V,
class E>
friend E _vsup(
const V &rv)
throw();
527 template <
class V,
class E>
friend E _vdiam(
const V &rv)
throw();
528 template <
class VS,
class E>
friend E _vsmid(
const VS &sl)
throw();
529 template <
class VS,
class E>
friend E _vsinf(
const VS &sl)
throw();
530 template <
class VS,
class E>
friend E _vssup(
const VS &sl)
throw();
531 template <
class VS,
class E>
friend E _vsdiam(
const VS &sl)
throw();
532 template <
class MV,
class V>
friend V _mvdiam(
const MV &mv)
throw();
533 template <
class MV,
class V>
friend V _mvmid(
const MV &mv)
throw();
534 template <
class MV,
class V>
friend V _mvinf(
const MV &mv)
throw();
535 template <
class MV,
class V>
friend V _mvsup(
const MV &mv)
throw();
538 template <
class V1,
class V2>
friend V1 &_vvconvassign(V1 &rv1,
const V2 &rv2)
539 #if(CXSC_INDEX_CHECK) 540 throw(ERROR__OP_WITH_WRONG_DIM<V1>);
544 template <
class V1,
class V2>
friend V1 &_vvsectassign(V1 &rv1,
const V2 &rv2)
545 #if(CXSC_INDEX_CHECK) 546 throw(ERROR__OP_WITH_WRONG_DIM<V1>);
550 template <
class VS,
class V>
friend VS &_vsvconvassign(VS &sl,
const V &rv)
551 #if(CXSC_INDEX_CHECK) 552 throw(ERROR__OP_WITH_WRONG_DIM<VS>);
556 template <
class VS,
class V>
friend VS &_vsvsectassign(VS &sl,
const V &rv)
557 #if(CXSC_INDEX_CHECK) 558 throw(ERROR__OP_WITH_WRONG_DIM<VS>);
563 template <
class MV,
class V>
friend MV &_mvvconvassign(MV &v,
const V &rv)
564 #if(CXSC_INDEX_CHECK) 565 throw(ERROR__OP_WITH_WRONG_DIM<MV>);
569 template <
class MV,
class V>
friend MV &_mvvsectassign(MV &v,
const V &rv)
570 #if(CXSC_INDEX_CHECK) 571 throw(ERROR__OP_WITH_WRONG_DIM<MV>);
583 explicit INLINE
l_rvector(
const int &i)
throw();
585 explicit INLINE
l_rvector(
const class index &i)
throw();
588 explicit INLINE
l_rvector(
const int &i1,
const int &i2)
590 #if(CXSC_INDEX_CHECK) 591 throw(ERROR_LRVECTOR_WRONG_BOUNDARIES,ERROR_LRVECTOR_NO_MORE_MEMORY);
601 #if(CXSC_INDEX_CHECK) 602 throw(ERROR_LRMATRIX_TYPE_CAST_OF_THICK_OBJ);
608 #if(CXSC_INDEX_CHECK) 609 throw(ERROR_LRMATRIX_TYPE_CAST_OF_THICK_OBJ);
626 #if(CXSC_INDEX_CHECK) 627 throw(ERROR_RMATRIX_TYPE_CAST_OF_THICK_OBJ);
633 #if(CXSC_INDEX_CHECK) 634 throw(ERROR_RMATRIX_TYPE_CAST_OF_THICK_OBJ);
650 #if(CXSC_INDEX_CHECK) 651 throw(ERROR_LRMATRIX_TYPE_CAST_OF_THICK_OBJ);
657 #if(CXSC_INDEX_CHECK) 658 throw(ERROR_LRMATRIX_TYPE_CAST_OF_THICK_OBJ);
673 #if(CXSC_INDEX_CHECK) 674 throw(ERROR_RMATRIX_TYPE_CAST_OF_THICK_OBJ);
680 #if(CXSC_INDEX_CHECK) 681 throw(ERROR_RMATRIX_TYPE_CAST_OF_THICK_OBJ);
694 #if(CXSC_INDEX_CHECK) 695 throw(ERROR_LRVECTOR_TYPE_CAST_OF_THICK_OBJ,ERROR_LRVECTOR_USE_OF_UNINITIALIZED_OBJ);
699 friend INLINE
int Lb(
const l_rvector &rv)
throw() {
return rv.l; }
702 friend INLINE
int Ub(
const l_rvector &rv)
throw() {
return rv.u; }
711 #if(CXSC_INDEX_CHECK) 712 throw(ERROR_LRVECTOR_ELEMENT_NOT_IN_VEC);
720 #if(CXSC_INDEX_CHECK) 721 throw(ERROR_LRVECTOR_SUB_ARRAY_TOO_BIG);
727 #if(CXSC_INDEX_CHECK) 728 throw(ERROR_LRVECTOR_SUB_ARRAY_TOO_BIG);
732 INLINE
operator void*()
throw();
758 template<
typename S,
typename T>
759 friend inline void addDot(
const S &x,
const T &y,
dotprecision &val);
762 #ifdef _CXSC_FRIEND_TPL 766 template <
class VS1,
class VS2>
friend VS1 & _vsvsassign(VS1 &sl1,
const VS2 &sl2)
767 #if(CXSC_INDEX_CHECK) 768 throw(ERROR__OP_WITH_WRONG_DIM<VS1>);
772 template <
class V,
class VS,
class S>
friend V & _vvsassign(V &rv,
const VS &sl)
throw();
773 template <
class VS,
class V>
friend VS & _vsvassign(VS &sl,
const V &rv)
774 #if(CXSC_INDEX_CHECK) 775 throw(ERROR__OP_WITH_WRONG_DIM<VS>);
779 template <
class VS,
class S>
friend VS & _vssassign(VS &sl,
const S &r)
throw();
781 template <
class DP,
class VS,
class V>
friend void _vsvaccu(DP &dp,
const VS & sl,
const V &rv)
782 #if(CXSC_INDEX_CHECK) 783 throw(OP_WITH_WRONG_DIM);
787 template <
class DP,
class VS1,
class VS2>
friend void _vsvsaccu(DP &dp,
const VS1 & sl1,
const VS2 &sl2)
788 #if(CXSC_INDEX_CHECK) 789 throw(OP_WITH_WRONG_DIM);
794 template <
class VS,
class S,
class E>
friend E _vssdiv(
const VS &sl,
const S &s)
throw();
795 template <
class VS,
class S,
class E>
friend E _vssmult(
const VS &sl,
const S &s)
throw();
797 template <
class VS,
class V,
class E>
friend E _vsvlmult(
const VS & sl,
const V &rv)
798 #if(CXSC_INDEX_CHECK) 799 throw(ERROR__OP_WITH_WRONG_DIM<V>);
803 template <
class VS,
class S>
friend VS &_vssmultassign(VS &rv,
const S &r)
throw();
804 template <
class VS,
class S>
friend VS &_vssdivassign(VS &rv,
const S &r)
throw();
805 template <
class V,
class VS,
class E>
friend E _vvsplus(
const V &rv,
const VS &sl)
806 #if(CXSC_INDEX_CHECK) 807 throw(ERROR__OP_WITH_WRONG_DIM<V>);
811 template <
class VS1,
class VS2,
class E>
friend E _vsvsplus(
const VS1 &s1,
const VS2 &s2)
812 #if(CXSC_INDEX_CHECK) 813 throw(ERROR__OP_WITH_WRONG_DIM<VS1>);
817 template <
class VS1,
class VS2,
class E>
friend E _vsvsminus(
const VS1 &s1,
const VS2 &s2)
818 #if(CXSC_INDEX_CHECK) 819 throw(ERROR__OP_WITH_WRONG_DIM<VS1>);
823 template <
class V,
class VS>
friend V &_vvsplusassign(V &rv,
const VS &sl)
824 #if(CXSC_INDEX_CHECK) 825 throw(ERROR__OP_WITH_WRONG_DIM<V>);
829 template <
class VS,
class V>
friend VS &_vsvplusassign(VS &sl,
const V &rv)
830 #if(CXSC_INDEX_CHECK) 831 throw(ERROR__OP_WITH_WRONG_DIM<VS>);
835 template <
class VS1,
class VS2>
friend VS1 &_vsvsplusassign(VS1 &sl1,
const VS2 &sl2)
836 #if(CXSC_INDEX_CHECK) 837 throw(ERROR__OP_WITH_WRONG_DIM<VS1>);
841 template <
class VS1,
class VS2>
friend VS1 &_vsvsminusassign(VS1 &sl1,
const VS2 &sl2)
842 #if(CXSC_INDEX_CHECK) 843 throw(ERROR__OP_WITH_WRONG_DIM<VS1>);
847 template <
class V,
class VS>
friend V &_vvsminusassign(V &rv,
const VS &sl)
848 #if(CXSC_INDEX_CHECK) 849 throw(ERROR__OP_WITH_WRONG_DIM<V>);
853 template <
class VS,
class V>
friend VS &_vsvminusassign(VS &sl,
const V &rv)
854 #if(CXSC_INDEX_CHECK) 855 throw(ERROR__OP_WITH_WRONG_DIM<VS>);
859 template <
class VS,
class V>
friend V _vsminus(
const VS &sl)
throw();
860 template <
class V,
class VS,
class E>
friend E _vvsminus(
const V &rv,
const VS &sl)
861 #if(CXSC_INDEX_CHECK) 862 throw(ERROR__OP_WITH_WRONG_DIM<E>);
866 template <
class VS,
class V,
class E>
friend E _vsvminus(
const VS &sl,
const V &rv)
867 #if(CXSC_INDEX_CHECK) 868 throw(ERROR__OP_WITH_WRONG_DIM<E>);
872 template <
class V,
class VS,
class E>
friend E _vvsconv(
const V &rv,
const VS &sl)
873 #if(CXSC_INDEX_CHECK) 874 throw(ERROR__OP_WITH_WRONG_DIM<E>);
878 template <
class VS1,
class VS2,
class E>
friend E _vsvsconv(
const VS1 &s1,
const VS2 &s2)
879 #if(CXSC_INDEX_CHECK) 880 throw(ERROR__OP_WITH_WRONG_DIM<E>);
884 template <
class VS,
class V>
friend bool _vsveq(
const VS &sl,
const V &rv)
throw();
885 template <
class VS,
class V>
friend bool _vsvneq(
const VS &sl,
const V &rv)
throw();
886 template <
class VS,
class V>
friend bool _vsvless(
const VS &sl,
const V &rv)
throw();
887 template <
class VS,
class V>
friend bool _vsvleq(
const VS &sl,
const V &rv)
throw();
888 template <
class V,
class VS>
friend bool _vvsless(
const V &rv,
const VS &sl)
throw();
889 template <
class V,
class VS>
friend bool _vvsleq(
const V &rv,
const VS &sl)
throw();
890 template <
class VS,
class E>
friend E _vsabs(
const VS &sl)
throw();
891 template <
class VS1,
class VS2,
class E>
friend E _vsvslmult(
const VS1 & sl1,
const VS2 &sl2)
892 #if(CXSC_INDEX_CHECK) 893 throw(ERROR__OP_WITH_WRONG_DIM<VS1>);
897 template <
class VS1,
class VS2>
friend bool _vsvseq(
const VS1 &sl1,
const VS2 &sl2)
throw();
898 template <
class VS1,
class VS2>
friend bool _vsvsneq(
const VS1 &sl1,
const VS2 &sl2)
throw();
899 template <
class VS1,
class VS2>
friend bool _vsvsless(
const VS1 &sl1,
const VS2 &sl2)
throw();
900 template <
class VS1,
class VS2>
friend bool _vsvsleq(
const VS1 &sl1,
const VS2 &sl2)
throw();
901 template <
class VS>
friend bool _vsnot(
const VS &sl)
throw();
902 template <
class VS>
friend void *_vsvoid(
const VS &sl)
throw();
903 template <
class V>
friend std::ostream &_vsout(std::ostream &s,
const V &rv)
throw();
904 template <
class V>
friend std::istream &_vsin(std::istream &s, V &rv)
throw();
906 template <
class VS,
class M,
class S>
friend VS &_vsmlmultassign(VS &v,
const M &m)
907 #if(CXSC_INDEX_CHECK) 908 throw(ERROR__OP_WITH_WRONG_DIM<M>);
914 template <
class V,
class MS,
class E>
friend E _vmslmult(
const V &v,
const MS &ms)
915 #if(CXSC_INDEX_CHECK) 916 throw(ERROR__OP_WITH_WRONG_DIM<MS>);
921 template <
class V,
class VS,
class E>
friend E _vvssect(
const V &rv,
const VS &sl)
922 #if(CXSC_INDEX_CHECK) 923 throw(ERROR__OP_WITH_WRONG_DIM<E>);
927 template <
class VS1,
class VS2,
class E>
friend E _vsvssect(
const VS1 &s1,
const VS2 &s2)
928 #if(CXSC_INDEX_CHECK) 929 throw(ERROR__OP_WITH_WRONG_DIM<E>);
936 template <
class V1,
class V2,
class E>
friend E _vvlimult(
const V1 & rv1,
const V2 &rv2)
937 #if(CXSC_INDEX_CHECK) 938 throw(ERROR__OP_WITH_WRONG_DIM<V1>);
942 template <
class VS,
class V,
class E>
friend E _vsvlimult(
const VS & sl,
const V &rv)
943 #if(CXSC_INDEX_CHECK) 944 throw(ERROR__OP_WITH_WRONG_DIM<V>);
948 template <
class VS1,
class VS2,
class E>
friend E _vsvslimult(
const VS1 & sl1,
const VS2 &sl2)
949 #if(CXSC_INDEX_CHECK) 950 throw(ERROR__OP_WITH_WRONG_DIM<VS1>);
954 template <
class V1,
class V2,
class E>
friend E _vvplus(
const V1 &rv1,
const V2 &rv2)
955 #if(CXSC_INDEX_CHECK) 956 throw(ERROR__OP_WITH_WRONG_DIM<V1>);
960 template <
class V1,
class V2,
class E>
friend E _vvminus(
const V1 &rv1,
const V2 &rv2)
961 #if(CXSC_INDEX_CHECK) 962 throw(ERROR__OP_WITH_WRONG_DIM<E>);
982 template <
class V,
class VS>
friend V &_vvsconvassign(V &rv,
const VS &sl)
983 #if(CXSC_INDEX_CHECK) 984 throw(ERROR__OP_WITH_WRONG_DIM<V>);
988 template <
class V,
class VS>
friend V &_vvssectassign(V &rv,
const VS &sl)
989 #if(CXSC_INDEX_CHECK) 990 throw(ERROR__OP_WITH_WRONG_DIM<V>);
994 template <
class VS1,
class VS2>
friend VS1 &_vsvsconvassign(VS1 &sl1,
const VS2 &sl2)
995 #if(CXSC_INDEX_CHECK) 996 throw(ERROR__OP_WITH_WRONG_DIM<VS1>);
1000 template <
class VS1,
class VS2>
friend VS1 &_vsvssectassign(VS1 &sl1,
const VS2 &sl2)
1001 #if(CXSC_INDEX_CHECK) 1002 throw(ERROR__OP_WITH_WRONG_DIM<VS1>);
1010 explicit INLINE
l_rvector_slice(
l_rvector &a,
const int &lb,
const int &ub)
throw():dat(a.dat),l(a.l),u(a.u),size(ub-lb+1),start(lb),end(ub) { }
1020 #if(CXSC_INDEX_CHECK) 1021 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1027 #if(CXSC_INDEX_CHECK) 1028 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1036 #if(CXSC_INDEX_CHECK) 1037 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>,ERROR_LRMATRIX_TYPE_CAST_OF_THICK_OBJ);
1043 #if(CXSC_INDEX_CHECK) 1044 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>,ERROR_LRMATRIX_TYPE_CAST_OF_THICK_OBJ);
1053 #if(CXSC_INDEX_CHECK) 1054 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1060 #if(CXSC_INDEX_CHECK) 1061 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1069 #if(CXSC_INDEX_CHECK) 1070 throw(ERROR__OP_WITH_WRONG_DIM<rvector>,ERROR_RMATRIX_TYPE_CAST_OF_THICK_OBJ);
1076 #if(CXSC_INDEX_CHECK) 1077 throw(ERROR__OP_WITH_WRONG_DIM<rvector>,ERROR_RMATRIX_TYPE_CAST_OF_THICK_OBJ);
1085 template <
class V,
class VS>
friend V &_vvssetinf(V &rv,
const VS &sl)
1086 #if(CXSC_INDEX_CHECK) 1087 throw(ERROR__OP_WITH_WRONG_DIM<V>);
1091 template <
class V,
class VS>
friend V &_vvssetsup(V &rv,
const VS &sl)
1092 #if(CXSC_INDEX_CHECK) 1093 throw(ERROR__OP_WITH_WRONG_DIM<V>);
1097 template <
class V,
class VS>
friend V &_vvsusetinf(V &rv,
const VS &sl)
1098 #if(CXSC_INDEX_CHECK) 1099 throw(ERROR__OP_WITH_WRONG_DIM<V>);
1103 template <
class V,
class VS>
friend V &_vvsusetsup(V &rv,
const VS &sl)
1104 #if(CXSC_INDEX_CHECK) 1105 throw(ERROR__OP_WITH_WRONG_DIM<V>);
1109 template <
class VS1,
class VS2>
friend VS1 &_vsvssetinf(VS1 &sl1,
const VS2 &sl2)
1110 #if(CXSC_INDEX_CHECK) 1111 throw(ERROR__OP_WITH_WRONG_DIM<VS1>);
1115 template <
class VS1,
class VS2>
friend VS1 &_vsvssetsup(VS1 &sl1,
const VS2 &sl2)
1116 #if(CXSC_INDEX_CHECK) 1117 throw(ERROR__OP_WITH_WRONG_DIM<VS1>);
1121 template <
class VS1,
class VS2>
friend VS1 &_vsvsusetinf(VS1 &sl1,
const VS2 &sl2)
1122 #if(CXSC_INDEX_CHECK) 1123 throw(ERROR__OP_WITH_WRONG_DIM<VS1>);
1127 template <
class VS1,
class VS2>
friend VS1 &_vsvsusetsup(VS1 &sl1,
const VS2 &sl2)
1128 #if(CXSC_INDEX_CHECK) 1129 throw(ERROR__OP_WITH_WRONG_DIM<VS1>);
1135 template <
class V,
class MS,
class E>
friend E _vmslimult(
const V &v,
const MS &ms)
1136 #if(CXSC_INDEX_CHECK) 1137 throw(ERROR__OP_WITH_WRONG_DIM<MS>);
1147 #if(CXSC_INDEX_CHECK) 1148 throw(ERROR_LRVECTOR_TYPE_CAST_OF_THICK_OBJ,ERROR_LRVECTOR_USE_OF_UNINITIALIZED_OBJ);
1160 #if(CXSC_INDEX_CHECK) 1161 throw(ERROR_LRVECTOR_ELEMENT_NOT_IN_VEC);
1169 #if(CXSC_INDEX_CHECK) 1170 throw(ERROR_LRVECTOR_SUB_ARRAY_TOO_BIG);
1176 #if(CXSC_INDEX_CHECK) 1177 throw(ERROR_LRVECTOR_SUB_ARRAY_TOO_BIG);
1190 #if(CXSC_INDEX_CHECK) 1191 throw(ERROR_LRMATRIX_OP_WITH_WRONG_DIM);
1197 #if(CXSC_INDEX_CHECK) 1198 throw(ERROR_RMATRIX_OP_WITH_WRONG_DIM);
1206 #if(CXSC_INDEX_CHECK) 1207 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1213 #if(CXSC_INDEX_CHECK) 1214 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1220 #if(CXSC_INDEX_CHECK) 1221 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1227 #if(CXSC_INDEX_CHECK) 1228 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1234 #if(CXSC_INDEX_CHECK) 1235 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1241 #if(CXSC_INDEX_CHECK) 1242 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1248 #if(CXSC_INDEX_CHECK) 1249 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1255 #if(CXSC_INDEX_CHECK) 1256 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1263 #if(CXSC_INDEX_CHECK) 1264 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1270 #if(CXSC_INDEX_CHECK) 1271 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1277 #if(CXSC_INDEX_CHECK) 1278 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1284 #if(CXSC_INDEX_CHECK) 1285 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1291 #if(CXSC_INDEX_CHECK) 1292 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1298 #if(CXSC_INDEX_CHECK) 1299 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1305 #if(CXSC_INDEX_CHECK) 1306 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1312 #if(CXSC_INDEX_CHECK) 1313 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1317 INLINE
operator void*()
throw();
1344 #if(CXSC_INDEX_CHECK) 1345 throw(ERROR__WRONG_BOUNDARIES<l_rvector>);
1351 #if(CXSC_INDEX_CHECK) 1352 throw(ERROR__WRONG_BOUNDARIES<l_rvector>);
1362 INLINE
bool operator !(
const l_rvector &rv)
throw();
1426 INLINE std::ostream &operator <<(std::ostream &s,
const l_rvector &rv)
throw();
1428 INLINE std::ostream &operator <<(std::ostream &o,
const l_rvector_slice &sl)
throw();
1430 INLINE std::istream &operator >>(std::istream &s,
l_rvector &rv)
throw();
1432 INLINE std::istream &operator >>(std::istream &s,
l_rvector_slice &rv)
throw();
1438 #if(CXSC_INDEX_CHECK) 1439 throw(OP_WITH_WRONG_DIM);
1445 #if(CXSC_INDEX_CHECK) 1446 throw(OP_WITH_WRONG_DIM);
1452 #if(CXSC_INDEX_CHECK) 1453 throw(OP_WITH_WRONG_DIM);
1459 #if(CXSC_INDEX_CHECK) 1460 throw(OP_WITH_WRONG_DIM);
1466 #if(CXSC_INDEX_CHECK) 1467 throw(OP_WITH_WRONG_DIM);
1473 #if(CXSC_INDEX_CHECK) 1474 throw(OP_WITH_WRONG_DIM);
1480 #if(CXSC_INDEX_CHECK) 1481 throw(OP_WITH_WRONG_DIM);
1487 #if(CXSC_INDEX_CHECK) 1488 throw(OP_WITH_WRONG_DIM);
1494 #if(CXSC_INDEX_CHECK) 1495 throw(OP_WITH_WRONG_DIM);
1501 #if(CXSC_INDEX_CHECK) 1502 throw(OP_WITH_WRONG_DIM);
1508 #if(CXSC_INDEX_CHECK) 1509 throw(OP_WITH_WRONG_DIM);
1515 #if(CXSC_INDEX_CHECK) 1516 throw(OP_WITH_WRONG_DIM);
1522 #if(CXSC_INDEX_CHECK) 1523 throw(OP_WITH_WRONG_DIM);
1529 #if(CXSC_INDEX_CHECK) 1530 throw(OP_WITH_WRONG_DIM);
1538 #if(CXSC_INDEX_CHECK) 1539 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1545 #if(CXSC_INDEX_CHECK) 1546 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1552 #if(CXSC_INDEX_CHECK) 1553 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1559 #if(CXSC_INDEX_CHECK) 1560 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1572 #if(CXSC_INDEX_CHECK) 1573 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1579 #if(CXSC_INDEX_CHECK) 1580 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1586 #if(CXSC_INDEX_CHECK) 1587 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1593 #if(CXSC_INDEX_CHECK) 1594 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1600 #if(CXSC_INDEX_CHECK) 1601 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1607 #if(CXSC_INDEX_CHECK) 1608 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1619 #if(CXSC_INDEX_CHECK) 1620 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1626 #if(CXSC_INDEX_CHECK) 1627 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1633 #if(CXSC_INDEX_CHECK) 1634 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1640 #if(CXSC_INDEX_CHECK) 1641 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1647 #if(CXSC_INDEX_CHECK) 1648 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1654 #if(CXSC_INDEX_CHECK) 1655 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1714 #if(CXSC_INDEX_CHECK) 1715 throw(OP_WITH_WRONG_DIM);
1721 #if(CXSC_INDEX_CHECK) 1722 throw(OP_WITH_WRONG_DIM);
1728 #if(CXSC_INDEX_CHECK) 1729 throw(OP_WITH_WRONG_DIM);
1735 #if(CXSC_INDEX_CHECK) 1736 throw(OP_WITH_WRONG_DIM);
1742 #if(CXSC_INDEX_CHECK) 1743 throw(OP_WITH_WRONG_DIM);
1749 #if(CXSC_INDEX_CHECK) 1750 throw(OP_WITH_WRONG_DIM);
1756 #if(CXSC_INDEX_CHECK) 1757 throw(OP_WITH_WRONG_DIM);
1763 #if(CXSC_INDEX_CHECK) 1764 throw(OP_WITH_WRONG_DIM);
1770 #if(CXSC_INDEX_CHECK) 1771 throw(OP_WITH_WRONG_DIM);
1777 #if(CXSC_INDEX_CHECK) 1778 throw(OP_WITH_WRONG_DIM);
1784 #if(CXSC_INDEX_CHECK) 1785 throw(OP_WITH_WRONG_DIM);
1791 #if(CXSC_INDEX_CHECK) 1792 throw(OP_WITH_WRONG_DIM);
1798 #if(CXSC_INDEX_CHECK) 1799 throw(OP_WITH_WRONG_DIM);
1805 #if(CXSC_INDEX_CHECK) 1806 throw(OP_WITH_WRONG_DIM);
1812 #if(CXSC_INDEX_CHECK) 1813 throw(OP_WITH_WRONG_DIM);
1819 #if(CXSC_INDEX_CHECK) 1820 throw(OP_WITH_WRONG_DIM);
1826 #if(CXSC_INDEX_CHECK) 1827 throw(OP_WITH_WRONG_DIM);
1833 #if(CXSC_INDEX_CHECK) 1834 throw(OP_WITH_WRONG_DIM);
1841 #if(CXSC_INDEX_CHECK) 1842 throw(OP_WITH_WRONG_DIM);
1848 #if(CXSC_INDEX_CHECK) 1849 throw(OP_WITH_WRONG_DIM);
1855 #if(CXSC_INDEX_CHECK) 1856 throw(OP_WITH_WRONG_DIM);
1862 #if(CXSC_INDEX_CHECK) 1863 throw(OP_WITH_WRONG_DIM);
1869 #if(CXSC_INDEX_CHECK) 1870 throw(OP_WITH_WRONG_DIM);
1876 #if(CXSC_INDEX_CHECK) 1877 throw(OP_WITH_WRONG_DIM);
1883 #if(CXSC_INDEX_CHECK) 1884 throw(OP_WITH_WRONG_DIM);
1890 #if(CXSC_INDEX_CHECK) 1891 throw(OP_WITH_WRONG_DIM);
1897 #if(CXSC_INDEX_CHECK) 1898 throw(OP_WITH_WRONG_DIM);
1904 #if(CXSC_INDEX_CHECK) 1905 throw(OP_WITH_WRONG_DIM);
1911 #if(CXSC_INDEX_CHECK) 1912 throw(OP_WITH_WRONG_DIM);
1918 #if(CXSC_INDEX_CHECK) 1919 throw(OP_WITH_WRONG_DIM);
1925 #if(CXSC_INDEX_CHECK) 1926 throw(OP_WITH_WRONG_DIM);
1932 #if(CXSC_INDEX_CHECK) 1933 throw(OP_WITH_WRONG_DIM);
1939 #if(CXSC_INDEX_CHECK) 1940 throw(OP_WITH_WRONG_DIM);
1946 #if(CXSC_INDEX_CHECK) 1947 throw(OP_WITH_WRONG_DIM);
1953 #if(CXSC_INDEX_CHECK) 1954 throw(OP_WITH_WRONG_DIM);
1960 #if(CXSC_INDEX_CHECK) 1961 throw(OP_WITH_WRONG_DIM);
1968 #if(CXSC_INDEX_CHECK) 1969 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1975 #if(CXSC_INDEX_CHECK) 1976 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1982 #if(CXSC_INDEX_CHECK) 1983 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1989 #if(CXSC_INDEX_CHECK) 1990 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
1997 #if(CXSC_INDEX_CHECK) 1998 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2004 #if(CXSC_INDEX_CHECK) 2005 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2011 #if(CXSC_INDEX_CHECK) 2012 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2018 #if(CXSC_INDEX_CHECK) 2019 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2026 #if(CXSC_INDEX_CHECK) 2027 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2033 #if(CXSC_INDEX_CHECK) 2034 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2040 #if(CXSC_INDEX_CHECK) 2041 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2047 #if(CXSC_INDEX_CHECK) 2048 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2055 #if(CXSC_INDEX_CHECK) 2056 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2062 #if(CXSC_INDEX_CHECK) 2063 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2069 #if(CXSC_INDEX_CHECK) 2070 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2076 #if(CXSC_INDEX_CHECK) 2077 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2084 #if(CXSC_INDEX_CHECK) 2085 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2091 #if(CXSC_INDEX_CHECK) 2092 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2099 #if(CXSC_INDEX_CHECK) 2100 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2106 #if(CXSC_INDEX_CHECK) 2107 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2113 #if(CXSC_INDEX_CHECK) 2114 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2120 #if(CXSC_INDEX_CHECK) 2121 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2128 #if(CXSC_INDEX_CHECK) 2129 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2135 #if(CXSC_INDEX_CHECK) 2136 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2142 #if(CXSC_INDEX_CHECK) 2143 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2149 #if(CXSC_INDEX_CHECK) 2150 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2156 #if(CXSC_INDEX_CHECK) 2157 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2163 #if(CXSC_INDEX_CHECK) 2164 throw(ERROR__OP_WITH_WRONG_DIM<l_rvector>);
2171 #ifdef _CXSC_INCL_INL 2172 #include "vector.inl" 2173 #include "l_rvector.inl" 2176 #ifdef _CXSC_RMATRIX_HPP_INCLUDED 2177 # ifdef _CXSC_INCL_INL 2178 # include "lrvecrmat.inl" 2180 # include "lrvecrmat.hpp" 2184 #ifdef _CXSC_IMATRIX_HPP_INCLUDED 2185 # ifdef _CXSC_INCL_INL 2186 # include "cvecimat.inl" 2188 # include "cvecimat.hpp" 2192 #ifdef _CXSC_IVECTOR_HPP_INCLUDED 2193 # ifdef _CXSC_INCL_INL 2194 # include "lrvecivec.inl" 2196 # include "lrvecivec.hpp" The Multiple-Precision Data Type l_rmatrix_slice.
The Data Type rmatrix_slice.
cimatrix & operator/=(cimatrix &m, const cinterval &c)
Implementation of division and allocation operation.
friend int VecLen(const l_rvector &rv)
Returns the dimension of the vector.
The Data Type idotprecision.
INLINE l_rvector _l_rvector(const rmatrix_subv &rs)
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC...
The Multiple-Precision Data Type l_real.
The Data Type dotprecision.
The Multiple-Precision Data Type l_rmatrix_subv.
The namespace cxsc, providing all functionality of the class library C-XSC.
civector operator*(const cimatrix_subv &rv, const cinterval &s)
Implementation of multiplication operation.
friend int Ub(const l_rvector_slice &sl)
Returns the upper bound of the vector.
friend int Ub(const l_rvector &rv)
Returns the upper bound of the vector.
The Multiple-Precision Data Type l_ivector.
friend l_rvector & SetUb(l_rvector &rv, const int &u)
Sets the upper bound of the vector.
The Data Type rvector_slice.
The Multiple-Precision Data Type l_imatrix.
The Data Type rmatrix_subv.
The Multiple-Precision Data Type l_rmatrix.
l_rvector & operator()()
Operator for accessing the whole vector.
void Resize(cimatrix &A)
Resizes the matrix.
l_rvector_slice(const l_rvector_slice &a)
Constructor of class l_rvector_slice.
l_rvector_slice(l_rvector &a, const int &lb, const int &ub)
Constructor of class l_rvector_slice.
friend l_rvector & SetLb(l_rvector &rv, const int &l)
Sets the lower bound of the vector.
l_real(void)
Constructor of class l_real.
friend int VecLen(const l_rvector_slice &sl)
Returns the dimension of the vector.
l_rvector()
Constructor of class l_rvector.
The Multiple-Precision Data Type l_rvector.
cdotprecision & operator+=(cdotprecision &cd, const l_complex &lc)
Implementation of standard algebraic addition and allocation operation.
l_rvector_slice(l_rvector_slice &a, const int &lb, const int &ub)
Constructor of class l_rvector_slice.
l_real & operator[](const int &i) const
Operator for accessing the single elements of the vector.
civector operator/(const cimatrix_subv &rv, const cinterval &s)
Implementation of division operation.
cimatrix & operator*=(cimatrix &m, const cinterval &c)
Implementation of multiplication and allocation operation.
The Multiple-Precision Data Type l_rvector_slice.
friend int Lb(const l_rvector &rv)
Returns the lower bound of the vector.
ivector abs(const cimatrix_subv &mv)
Returns the absolute value of the matrix.
l_rvector & operator=(const l_rvector &rv)
Implementation of standard assigning operator.