26 #ifndef _CXSC_LIVECTOR_HPP_INCLUDED
27 #define _CXSC_LIVECTOR_HPP_INCLUDED
29 #include "xscclass.hpp"
32 #include "l_interval.hpp"
34 #include "rvector.hpp"
35 #include "ivector.hpp"
36 #include "l_rvector.hpp"
46 class l_ivector_slice;
65 #ifdef _CXSC_FRIEND_TPL
68 template <
class V,
class MS,
class S>
friend void _vmsconstr(V &v,
const MS &m)
74 template <
class V,
class M,
class S>
friend void _vmconstr(V &v,
const M &m)
80 template <
class V>
friend void _vresize(V &rv) noexcept;
81 template <
class V,
class S>
friend void _vresize(V &rv,
const int &len)
87 template <
class V,
class S>
friend void _vresize(V &rv,
const int &lb,
const int &ub)
93 template <
class V1,
class V2,
class S>
friend V1 &_vvassign(V1 &rv1,
const V2 &rv2) noexcept;
94 template <
class V,
class S>
friend V & _vsassign(V &rv,
const S &r) noexcept;
95 template <
class V,
class VS,
class S>
friend V & _vvsassign(V &rv,
const VS &sl) noexcept;
96 template <
class VS,
class V>
friend VS & _vsvassign(VS &sl,
const V &rv)
102 template <
class V,
class M,
class S>
friend V &_vmassign(V &v,
const M &m)
103 #if(CXSC_INDEX_CHECK)
108 template <
class M,
class V,
class S>
friend M &_mvassign(M &m,
const V &v) noexcept;
109 template <
class V1,
class V2>
friend V1 &_vvsetinf(V1 &rv1,
const V2 &rv2)
110 #if(CXSC_INDEX_CHECK)
115 template <
class V1,
class V2>
friend V1 &_vvsetsup(V1 &rv1,
const V2 &rv2)
116 #if(CXSC_INDEX_CHECK)
121 template <
class V,
class VS>
friend V &_vvssetinf(V &rv,
const VS &sl)
122 #if(CXSC_INDEX_CHECK)
127 template <
class V,
class VS>
friend V &_vvssetsup(V &rv,
const VS &sl)
128 #if(CXSC_INDEX_CHECK)
133 template <
class V,
class MV>
friend V &_vmvsetinf(V &rv,
const MV &v)
134 #if(CXSC_INDEX_CHECK)
139 template <
class V,
class MV>
friend V &_vmvsetsup(V &rv,
const MV &v)
140 #if(CXSC_INDEX_CHECK)
145 template <
class V1,
class V2>
friend V1 &_vvusetinf(V1 &rv1,
const V2 &rv2)
146 #if(CXSC_INDEX_CHECK)
151 template <
class V1,
class V2>
friend V1 &_vvusetsup(V1 &rv1,
const V2 &rv2)
152 #if(CXSC_INDEX_CHECK)
157 template <
class V,
class VS>
friend V &_vvsusetinf(V &rv,
const VS &sl)
158 #if(CXSC_INDEX_CHECK)
163 template <
class V,
class VS>
friend V &_vvsusetsup(V &rv,
const VS &sl)
164 #if(CXSC_INDEX_CHECK)
169 template <
class V,
class MV>
friend V &_vmvusetinf(V &rv,
const MV &v)
170 #if(CXSC_INDEX_CHECK)
175 template <
class V,
class MV>
friend V &_vmvusetsup(V &rv,
const MV &v)
176 #if(CXSC_INDEX_CHECK)
181 template <
class V,
class S>
friend V &_vssetinf(V &v,
const S &s) noexcept;
182 template <
class V,
class S>
friend V &_vssetsup(V &v,
const S &s) noexcept;
183 template <
class V,
class S>
friend V &_vsusetinf(V &v,
const S &s) noexcept;
184 template <
class V,
class S>
friend V &_vsusetsup(V &v,
const S &s) noexcept;
185 template <
class V,
class E>
friend E _vabs(
const V &rv) noexcept;
186 template <
class VS,
class E>
friend E _vsabs(
const VS &sl) noexcept;
187 template <
class MV,
class V>
friend V _mvabs(
const MV &mv) noexcept;
188 template <
class V,
class E>
friend E _vdiam(
const V &rv) noexcept;
189 template <
class V,
class E>
friend E _vmid(
const V &rv) noexcept;
190 template <
class V,
class E>
friend E _vinf(
const V &rv) noexcept;
191 template <
class V,
class E>
friend E _vsup(
const V &rv) noexcept;
194 template <
class DP,
class V1,
class V2>
friend void _vvaccu(DP &dp,
const V1 & rv1,
const V2 &rv2)
195 #if(CXSC_INDEX_CHECK)
200 template <
class DP,
class VS,
class V>
friend void _vsvaccu(DP &dp,
const VS & sl,
const V &rv)
201 #if(CXSC_INDEX_CHECK)
207 template <
class V1,
class V2,
class E>
friend E _vvlimult(
const V1 & rv1,
const V2 &rv2)
208 #if(CXSC_INDEX_CHECK)
213 template <
class VS,
class V,
class E>
friend E _vsvlimult(
const VS & sl,
const V &rv)
214 #if(CXSC_INDEX_CHECK)
220 template <
class V,
class S>
friend V &_vsmultassign(V &rv,
const S &r) noexcept;
221 template <
class V1,
class V2,
class E>
friend E _vvplus(
const V1 &rv1,
const V2 &rv2)
222 #if(CXSC_INDEX_CHECK)
227 template <
class V,
class VS,
class E>
friend E _vvsplus(
const V &rv,
const VS &sl)
228 #if(CXSC_INDEX_CHECK)
233 template <
class VS1,
class VS2,
class E>
friend E _vsvsplus(
const VS1 &s1,
const VS2 &s2)
234 #if(CXSC_INDEX_CHECK)
239 template <
class VS1,
class VS2,
class E>
friend E _vsvsminus(
const VS1 &s1,
const VS2 &s2)
240 #if(CXSC_INDEX_CHECK)
245 template <
class V1,
class V2>
friend V1 &_vvplusassign(V1 &rv1,
const V2 &rv2)
246 #if(CXSC_INDEX_CHECK)
251 template <
class V,
class VS>
friend V &_vvsplusassign(V &rv,
const VS &sl)
252 #if(CXSC_INDEX_CHECK)
257 template <
class VS,
class V>
friend VS &_vsvplusassign(VS &sl,
const V &rv)
258 #if(CXSC_INDEX_CHECK)
263 template <
class VS1,
class VS2>
friend VS1 &_vsvsplusassign(VS1 &sl1,
const VS2 &sl2)
264 #if(CXSC_INDEX_CHECK)
269 template <
class VS1,
class VS2>
friend VS1 &_vsvsminusassign(VS1 &sl1,
const VS2 &sl2)
270 #if(CXSC_INDEX_CHECK)
275 template <
class V1,
class V2>
friend V1 &_vvminusassign(V1 &rv1,
const V2 &rv2)
276 #if(CXSC_INDEX_CHECK)
281 template <
class V,
class VS>
friend V &_vvsminusassign(V &rv,
const VS &sl)
282 #if(CXSC_INDEX_CHECK)
287 template <
class VS,
class V>
friend VS &_vsvminusassign(VS &sl,
const V &rv)
288 #if(CXSC_INDEX_CHECK)
293 template <
class V>
friend V _vminus(
const V &rv) noexcept;
294 template <
class VS,
class V>
friend V _vsminus(
const VS &sl) noexcept;
295 template <
class V1,
class V2,
class E>
friend E _vvminus(
const V1 &rv1,
const V2 &rv2)
296 #if(CXSC_INDEX_CHECK)
301 template <
class V,
class VS,
class E>
friend E _vvsminus(
const V &rv,
const VS &sl)
302 #if(CXSC_INDEX_CHECK)
307 template <
class VS,
class V,
class E>
friend E _vsvminus(
const VS &sl,
const V &rv)
308 #if(CXSC_INDEX_CHECK)
313 template <
class V1,
class V2,
class E>
friend E _vvconv(
const V1 &rv1,
const V2 &rv2)
314 #if(CXSC_INDEX_CHECK)
319 template <
class V,
class VS,
class E>
friend E _vvsconv(
const V &rv,
const VS &sl)
320 #if(CXSC_INDEX_CHECK)
325 template <
class VS1,
class VS2,
class E>
friend E _vsvsconv(
const VS1 &s1,
const VS2 &s2)
326 #if(CXSC_INDEX_CHECK)
331 template <
class V1,
class V2>
friend V1 &_vvconvassign(V1 &rv1,
const V2 &rv2)
332 #if(CXSC_INDEX_CHECK)
337 template <
class V,
class VS>
friend V &_vvsconvassign(V &rv,
const VS &sl)
338 #if(CXSC_INDEX_CHECK)
343 template <
class VS,
class V>
friend VS &_vsvconvassign(VS &sl,
const V &rv)
344 #if(CXSC_INDEX_CHECK)
349 template <
class VS1,
class VS2>
friend VS1 &_vsvsconvassign(VS1 &sl1,
const VS2 &sl2)
350 #if(CXSC_INDEX_CHECK)
355 template <
class V1,
class V2,
class E>
friend E _vvsect(
const V1 &rv1,
const V2 &rv2)
356 #if(CXSC_INDEX_CHECK)
361 template <
class V,
class VS,
class E>
friend E _vvssect(
const V &rv,
const VS &sl)
362 #if(CXSC_INDEX_CHECK)
367 template <
class VS1,
class VS2,
class E>
friend E _vsvssect(
const VS1 &s1,
const VS2 &s2)
368 #if(CXSC_INDEX_CHECK)
373 template <
class V1,
class V2>
friend V1 &_vvsectassign(V1 &rv1,
const V2 &rv2)
374 #if(CXSC_INDEX_CHECK)
379 template <
class V,
class VS>
friend V &_vvssectassign(V &rv,
const VS &sl)
380 #if(CXSC_INDEX_CHECK)
385 template <
class VS,
class V>
friend VS &_vsvsectassign(VS &sl,
const V &rv)
386 #if(CXSC_INDEX_CHECK)
391 template <
class VS1,
class VS2>
friend VS1 &_vsvssectassign(VS1 &sl1,
const VS2 &sl2)
392 #if(CXSC_INDEX_CHECK)
397 template <
class MV1,
class MV2,
class E>
friend E _mvmvsect(
const MV1 &rv1,
const MV2 &rv2)
398 #if(CXSC_INDEX_CHECK)
403 template <
class MV,
class V,
class E>
friend E _mvvsect(
const MV &rv1,
const V &rv2)
404 #if(CXSC_INDEX_CHECK)
409 template <
class MV,
class V>
friend MV &_mvvsectassign(MV &v,
const V &rv)
410 #if(CXSC_INDEX_CHECK)
415 template <
class V,
class MV>
friend V &_vmvsectassign(V &rv,
const MV &v)
416 #if(CXSC_INDEX_CHECK)
421 template <
class MV1,
class MV2,
class E>
friend E _mvmvconv(
const MV1 &rv1,
const MV2 &rv2)
422 #if(CXSC_INDEX_CHECK)
427 template <
class MV,
class V,
class E>
friend E _mvvconv(
const MV &rv1,
const V &rv2)
428 #if(CXSC_INDEX_CHECK)
433 template <
class MV,
class V>
friend MV &_mvvconvassign(MV &v,
const V &rv)
434 #if(CXSC_INDEX_CHECK)
439 template <
class V,
class MV>
friend V &_vmvconvassign(V &rv,
const MV &v)
440 #if(CXSC_INDEX_CHECK)
445 template <
class V,
class MV,
class S>
friend S _vmvlimult(
const V &rv1,
const MV &rv2)
446 #if(CXSC_INDEX_CHECK)
452 template <
class V,
class S,
class E>
friend E _vsdiv(
const V &rv,
const S &s) noexcept;
453 template <
class V,
class S>
friend V &_vsdivassign(V &rv,
const S &r) noexcept;
454 template <
class VS,
class S,
class E>
friend E _vssdiv(
const VS &sl,
const S &s) noexcept;
455 template <
class V,
class S,
class E>
friend E _vsmult(
const V &rv,
const S &s) noexcept;
456 template <
class VS,
class S,
class E>
friend E _vssmult(
const VS &sl,
const S &s) noexcept;
457 template <
class MV,
class S,
class E>
friend E _mvsmult(
const MV &rv,
const S &s) noexcept;
458 template <
class MV1,
class MV2,
class E>
friend E _mvmvplus(
const MV1 &rv1,
const MV2 &rv2)
459 #if(CXSC_INDEX_CHECK)
464 template <
class MV,
class V,
class E>
friend E _mvvplus(
const MV &rv1,
const V &rv2)
465 #if(CXSC_INDEX_CHECK)
470 template <
class MV,
class V,
class E>
friend E _mvvminus(
const MV &rv1,
const V &rv2)
471 #if(CXSC_INDEX_CHECK)
476 template <
class V,
class MV,
class E>
friend E _vmvminus(
const V &rv1,
const MV &rv2)
477 #if(CXSC_INDEX_CHECK)
482 template <
class MV1,
class MV2,
class E>
friend E _mvmvminus(
const MV1 &rv1,
const MV2 &rv2)
483 #if(CXSC_INDEX_CHECK)
488 template <
class MV,
class V>
friend MV &_mvvplusassign(MV &v,
const V &rv)
489 #if(CXSC_INDEX_CHECK)
494 template <
class MV,
class V>
friend MV &_mvvminusassign(MV &v,
const V &rv)
495 #if(CXSC_INDEX_CHECK)
500 template <
class MV,
class S,
class E>
friend E _mvsdiv(
const MV &rv,
const S &s) noexcept;
501 template <
class MV,
class V>
friend MV &_mvvassign(MV &v,
const V &rv)
502 #if(CXSC_INDEX_CHECK)
508 template <
class V1,
class V2>
friend bool _vveq(
const V1 &rv1,
const V2 &rv2) noexcept;
509 template <
class VS,
class V>
friend bool _vsveq(
const VS &sl,
const V &rv) noexcept;
510 template <
class V1,
class V2>
friend bool _vvneq(
const V1 &rv1,
const V2 &rv2) noexcept;
511 template <
class VS,
class V>
friend bool _vsvneq(
const VS &sl,
const V &rv) noexcept;
512 template <
class V1,
class V2>
friend bool _vvless(
const V1 &rv1,
const V2 &rv2) noexcept;
513 template <
class VS,
class V>
friend bool _vsvless(
const VS &sl,
const V &rv) noexcept;
514 template <
class V1,
class V2>
friend bool _vvleq(
const V1 &rv1,
const V2 &rv2) noexcept;
515 template <
class VS,
class V>
friend bool _vsvleq(
const VS &sl,
const V &rv) noexcept;
516 template <
class V,
class VS>
friend bool _vvsless(
const V &rv,
const VS &sl) noexcept;
517 template <
class V,
class VS>
friend bool _vvsleq(
const V &rv,
const VS &sl) noexcept;
518 template <
class V>
friend bool _vnot(
const V &rv) noexcept;
519 template <
class V>
friend void *_vvoid(
const V &rv) noexcept;
520 template <
class VS1,
class VS2>
friend bool _vsvseq(
const VS1 &sl1,
const VS2 &sl2) noexcept;
521 template <
class VS1,
class VS2>
friend bool _vsvsneq(
const VS1 &sl1,
const VS2 &sl2) noexcept;
522 template <
class VS1,
class VS2>
friend bool _vsvsless(
const VS1 &sl1,
const VS2 &sl2) noexcept;
523 template <
class VS1,
class VS2>
friend bool _vsvsleq(
const VS1 &sl1,
const VS2 &sl2) noexcept;
524 template <
class VS>
friend bool _vsnot(
const VS &sl) noexcept;
525 template <
class VS>
friend void *_vsvoid(
const VS &sl) noexcept;
526 template <
class V>
friend std::ostream &_vout(std::ostream &s,
const V &rv) noexcept;
527 template <
class V>
friend std::istream &_vin(std::istream &s, V &rv) noexcept;
530 template <
class DP,
class V,
class SV>
friend void _vmvaccu(DP &dp,
const V & rv1,
const SV &rv2)
531 #if(CXSC_INDEX_CHECK)
537 template <
class V,
class MV2,
class S>
friend V &_vmvassign(V &v,
const MV2 &rv) noexcept;
538 template <
class M,
class V,
class E>
friend E _mvlimult(
const M &m,
const V &v)
539 #if(CXSC_INDEX_CHECK)
544 template <
class V,
class M,
class E>
friend E _vmlimult(
const V &v,
const M &m)
545 #if(CXSC_INDEX_CHECK)
550 template <
class V,
class M,
class S>
friend V &_vmimultassign(V &v,
const M &m)
551 #if(CXSC_INDEX_CHECK)
556 template <
class V,
class M,
class S>
friend V &_vmlimultassign(V &v,
const M &m)
557 #if(CXSC_INDEX_CHECK)
562 template <
class MS,
class V,
class E>
friend E _msvlimult(
const MS &ms,
const V &v)
563 #if(CXSC_INDEX_CHECK)
568 template <
class V,
class MS,
class E>
friend E _vmslimult(
const V &v,
const MS &ms)
569 #if(CXSC_INDEX_CHECK)
574 template <
class V,
class MS,
class S>
friend V &_vmslimultassign(V &v,
const MS &ms)
575 #if(CXSC_INDEX_CHECK)
582 template <
class DP,
class VS1,
class VS2>
friend void _vsvsaccu(DP &dp,
const VS1 & sl1,
const VS2 &sl2)
583 #if(CXSC_INDEX_CHECK)
612 explicit INLINE
l_ivector(
const int &i) noexcept;
615 explicit INLINE
l_ivector(
const class index &i) noexcept;
618 explicit INLINE
l_ivector(
const int &i1,
const int &i2)
619 #if(CXSC_INDEX_CHECK)
630 #if(CXSC_INDEX_CHECK)
637 #if(CXSC_INDEX_CHECK)
655 #if(CXSC_INDEX_CHECK)
662 #if(CXSC_INDEX_CHECK)
679 #if(CXSC_INDEX_CHECK)
686 #if(CXSC_INDEX_CHECK)
703 #if(CXSC_INDEX_CHECK)
710 #if(CXSC_INDEX_CHECK)
727 #if(CXSC_INDEX_CHECK)
734 #if(CXSC_INDEX_CHECK)
750 #if(CXSC_INDEX_CHECK)
757 #if(CXSC_INDEX_CHECK)
774 #if(CXSC_INDEX_CHECK)
781 #if(CXSC_INDEX_CHECK)
798 #if(CXSC_INDEX_CHECK)
805 #if(CXSC_INDEX_CHECK)
819 #if(CXSC_INDEX_CHECK)
825 friend INLINE
int Lb(
const l_ivector &rv) noexcept {
return rv.l; }
827 friend INLINE
int Ub(
const l_ivector &rv) noexcept {
return rv.u; }
836 #if(CXSC_INDEX_CHECK)
845 #if(CXSC_INDEX_CHECK)
852 #if(CXSC_INDEX_CHECK)
858 INLINE
operator void*() noexcept;
881 #ifdef _CXSC_FRIEND_TPL
885 template <
class VS1,
class VS2>
friend VS1 & _vsvsassign(VS1 &sl1,
const VS2 &sl2)
886 #if(CXSC_INDEX_CHECK)
891 template <
class V,
class VS,
class S>
friend V & _vvsassign(V &rv,
const VS &sl) noexcept;
892 template <
class VS,
class V>
friend VS & _vsvassign(VS &sl,
const V &rv)
893 #if(CXSC_INDEX_CHECK)
898 template <
class VS,
class S>
friend VS & _vssassign(VS &sl,
const S &r) noexcept;
899 template <
class VS,
class V>
friend VS &_vsvsetinf(VS &sl,
const V &rv)
900 #if(CXSC_INDEX_CHECK)
905 template <
class VS,
class V>
friend VS &_vsvsetsup(VS &sl,
const V &rv)
906 #if(CXSC_INDEX_CHECK)
911 template <
class VS1,
class VS2>
friend VS1 &_vsvssetinf(VS1 &sl1,
const VS2 &sl2)
912 #if(CXSC_INDEX_CHECK)
917 template <
class VS1,
class VS2>
friend VS1 &_vsvssetsup(VS1 &sl1,
const VS2 &sl2)
918 #if(CXSC_INDEX_CHECK)
923 template <
class VS,
class V>
friend VS &_vsvusetinf(VS &sl,
const V &rv)
924 #if(CXSC_INDEX_CHECK)
929 template <
class VS,
class V>
friend VS &_vsvusetsup(VS &sl,
const V &rv)
930 #if(CXSC_INDEX_CHECK)
935 template <
class VS1,
class VS2>
friend VS1 &_vsvsusetinf(VS1 &sl1,
const VS2 &sl2)
936 #if(CXSC_INDEX_CHECK)
941 template <
class VS1,
class VS2>
friend VS1 &_vsvsusetsup(VS1 &sl1,
const VS2 &sl2)
942 #if(CXSC_INDEX_CHECK)
948 template <
class VS,
class E>
friend E _vsabs(
const VS &sl) noexcept;
949 template <
class VS,
class E>
friend E _vsdiam(
const VS &sl) noexcept;
950 template <
class VS,
class E>
friend E _vsmid(
const VS &sl) noexcept;
951 template <
class VS,
class E>
friend E _vsinf(
const VS &sl) noexcept;
952 template <
class VS,
class E>
friend E _vssup(
const VS &sl) noexcept;
953 template <
class VS,
class S>
friend VS &_vsssetinf(VS &vs,
const S &s) noexcept;
954 template <
class VS,
class S>
friend VS &_vsssetsup(VS &vs,
const S &s) noexcept;
955 template <
class VS,
class S>
friend VS &_vssusetinf(VS &vs,
const S &s) noexcept;
956 template <
class VS,
class S>
friend VS &_vssusetsup(VS &vs,
const S &s) noexcept;
958 template <
class DP,
class VS,
class V>
friend void _vsvaccu(DP &dp,
const VS & sl,
const V &rv)
959 #if(CXSC_INDEX_CHECK)
964 template <
class DP,
class VS1,
class VS2>
friend void _vsvsaccu(DP &dp,
const VS1 & sl1,
const VS2 &sl2)
965 #if(CXSC_INDEX_CHECK)
971 template <
class VS,
class S,
class E>
friend E _vssdiv(
const VS &sl,
const S &s) noexcept;
972 template <
class VS,
class S,
class E>
friend E _vssmult(
const VS &sl,
const S &s) noexcept;
973 template <
class VS,
class V,
class E>
friend E _vsvlimult(
const VS & sl,
const V &rv)
974 #if(CXSC_INDEX_CHECK)
979 template <
class VS,
class S>
friend VS &_vssmultassign(VS &rv,
const S &r) noexcept;
980 template <
class VS,
class S>
friend VS &_vssdivassign(VS &rv,
const S &r) noexcept;
981 template <
class V,
class VS,
class E>
friend E _vvsplus(
const V &rv,
const VS &sl)
982 #if(CXSC_INDEX_CHECK)
987 template <
class VS1,
class VS2,
class E>
friend E _vsvsplus(
const VS1 &s1,
const VS2 &s2)
988 #if(CXSC_INDEX_CHECK)
993 template <
class VS1,
class VS2,
class E>
friend E _vsvsminus(
const VS1 &s1,
const VS2 &s2)
994 #if(CXSC_INDEX_CHECK)
999 template <
class V,
class VS>
friend V &_vvsplusassign(V &rv,
const VS &sl)
1000 #if(CXSC_INDEX_CHECK)
1005 template <
class VS,
class V>
friend VS &_vsvplusassign(VS &sl,
const V &rv)
1006 #if(CXSC_INDEX_CHECK)
1011 template <
class VS1,
class VS2>
friend VS1 &_vsvsplusassign(VS1 &sl1,
const VS2 &sl2)
1012 #if(CXSC_INDEX_CHECK)
1017 template <
class VS1,
class VS2>
friend VS1 &_vsvsminusassign(VS1 &sl1,
const VS2 &sl2)
1018 #if(CXSC_INDEX_CHECK)
1023 template <
class V,
class VS>
friend V &_vvsminusassign(V &rv,
const VS &sl)
1024 #if(CXSC_INDEX_CHECK)
1029 template <
class VS,
class V>
friend VS &_vsvminusassign(VS &sl,
const V &rv)
1030 #if(CXSC_INDEX_CHECK)
1035 template <
class VS,
class V>
friend V _vsminus(
const VS &sl) noexcept;
1036 template <
class V,
class VS,
class E>
friend E _vvsminus(
const V &rv,
const VS &sl)
1037 #if(CXSC_INDEX_CHECK)
1042 template <
class VS,
class V,
class E>
friend E _vsvminus(
const VS &sl,
const V &rv)
1043 #if(CXSC_INDEX_CHECK)
1048 template <
class V,
class VS,
class E>
friend E _vvssect(
const V &rv,
const VS &sl)
1049 #if(CXSC_INDEX_CHECK)
1054 template <
class VS1,
class VS2,
class E>
friend E _vsvssect(
const VS1 &s1,
const VS2 &s2)
1055 #if(CXSC_INDEX_CHECK)
1060 template <
class V,
class VS>
friend V &_vvssectassign(V &rv,
const VS &sl)
1061 #if(CXSC_INDEX_CHECK)
1066 template <
class VS,
class V>
friend VS &_vsvsectassign(VS &sl,
const V &rv)
1067 #if(CXSC_INDEX_CHECK)
1072 template <
class VS1,
class VS2>
friend VS1 &_vsvssectassign(VS1 &sl1,
const VS2 &sl2)
1073 #if(CXSC_INDEX_CHECK)
1078 template <
class V,
class VS,
class E>
friend E _vvsconv(
const V &rv,
const VS &sl)
1079 #if(CXSC_INDEX_CHECK)
1084 template <
class VS1,
class VS2,
class E>
friend E _vsvsconv(
const VS1 &s1,
const VS2 &s2)
1085 #if(CXSC_INDEX_CHECK)
1090 template <
class V,
class VS>
friend V &_vvsconvassign(V &rv,
const VS &sl)
1091 #if(CXSC_INDEX_CHECK)
1096 template <
class VS,
class V>
friend VS &_vsvconvassign(VS &sl,
const V &rv)
1097 #if(CXSC_INDEX_CHECK)
1102 template <
class VS1,
class VS2>
friend VS1 &_vsvsconvassign(VS1 &sl1,
const VS2 &sl2)
1103 #if(CXSC_INDEX_CHECK)
1108 template <
class VS,
class M,
class S>
friend VS &_vsmlimultassign(VS &v,
const M &m)
1109 #if(CXSC_INDEX_CHECK)
1115 template <
class VS,
class V>
friend bool _vsveq(
const VS &sl,
const V &rv) noexcept;
1116 template <
class VS,
class V>
friend bool _vsvneq(
const VS &sl,
const V &rv) noexcept;
1117 template <
class VS,
class V>
friend bool _vsvless(
const VS &sl,
const V &rv) noexcept;
1118 template <
class VS,
class V>
friend bool _vsvleq(
const VS &sl,
const V &rv) noexcept;
1119 template <
class V,
class VS>
friend bool _vvsless(
const V &rv,
const VS &sl) noexcept;
1120 template <
class V,
class VS>
friend bool _vvsleq(
const V &rv,
const VS &sl) noexcept;
1121 template <
class VS1,
class VS2,
class E>
friend E _vsvslimult(
const VS1 & sl1,
const VS2 &sl2)
1122 #if(CXSC_INDEX_CHECK)
1127 template <
class VS1,
class VS2>
friend bool _vsvseq(
const VS1 &sl1,
const VS2 &sl2) noexcept;
1128 template <
class VS1,
class VS2>
friend bool _vsvsneq(
const VS1 &sl1,
const VS2 &sl2) noexcept;
1129 template <
class VS1,
class VS2>
friend bool _vsvsless(
const VS1 &sl1,
const VS2 &sl2) noexcept;
1130 template <
class VS1,
class VS2>
friend bool _vsvsleq(
const VS1 &sl1,
const VS2 &sl2) noexcept;
1131 template <
class VS>
friend bool _vsnot(
const VS &sl) noexcept;
1132 template <
class VS>
friend void *_vsvoid(
const VS &sl) noexcept;
1133 template <
class V>
friend std::ostream &_vsout(std::ostream &s,
const V &rv) noexcept;
1134 template <
class V>
friend std::istream &_vsin(std::istream &s, V &rv) noexcept;
1137 template <
class V,
class MS,
class E>
friend E _vmslimult(
const V &v,
const MS &ms)
1138 #if(CXSC_INDEX_CHECK)
1144 template <
class DP,
class V1,
class V2>
friend void _vvaccu(DP &dp,
const V1 & rv1,
const V2 &rv2)
1145 #if(CXSC_INDEX_CHECK)
1152 template <
class V1,
class V2,
class S>
friend V1 &_vvassign(V1 &rv1,
const V2 &rv2) noexcept;
1153 template <
class V,
class S>
friend V & _vsassign(V &rv,
const S &r) noexcept;
1155 template <
class V,
class M,
class S>
friend V &_vmassign(V &v,
const M &m)
1156 #if(CXSC_INDEX_CHECK)
1161 template <
class M,
class V,
class S>
friend M &_mvassign(M &m,
const V &v) noexcept;
1162 template <
class V,
class MV2,
class S>
friend V &_vmvassign(V &v,
const MV2 &rv) noexcept;
1164 template <
class V1,
class V2,
class E>
friend E _vvconv(
const V1 &rv1,
const V2 &rv2)
1165 #if(CXSC_INDEX_CHECK)
1172 template <
class MV,
class S,
class E>
friend E _mvsmult(
const MV &rv,
const S &s) noexcept;
1173 template <
class V,
class S,
class E>
friend E _vsmult(
const V &rv,
const S &s) noexcept;
1174 template <
class V,
class S,
class E>
friend E _vsdiv(
const V &rv,
const S &s) noexcept;
1175 template <
class V,
class S>
friend V &_vsdivassign(V &rv,
const S &r) noexcept;
1176 template <
class V,
class S>
friend V &_vsmultassign(V &rv,
const S &r) noexcept;
1179 template <
class V1,
class V2,
class E>
friend E _vvlimult(
const V1 & rv1,
const V2 &rv2)
1180 #if(CXSC_INDEX_CHECK)
1185 template <
class V1,
class V2,
class E>
friend E _vvplus(
const V1 &rv1,
const V2 &rv2)
1186 #if(CXSC_INDEX_CHECK)
1191 template <
class V1,
class V2>
friend V1 &_vvplusassign(V1 &rv1,
const V2 &rv2)
1192 #if(CXSC_INDEX_CHECK)
1197 template <
class V1,
class V2>
friend V1 &_vvminusassign(V1 &rv1,
const V2 &rv2)
1198 #if(CXSC_INDEX_CHECK)
1203 template <
class V1,
class V2,
class E>
friend E _vvminus(
const V1 &rv1,
const V2 &rv2)
1204 #if(CXSC_INDEX_CHECK)
1209 template <
class V1,
class V2>
friend V1 &_vvconvassign(V1 &rv1,
const V2 &rv2)
1210 #if(CXSC_INDEX_CHECK)
1215 template <
class V1,
class V2,
class E>
friend E _vvsect(
const V1 &rv1,
const V2 &rv2)
1216 #if(CXSC_INDEX_CHECK)
1221 template <
class V1,
class V2>
friend V1 &_vvsectassign(V1 &rv1,
const V2 &rv2)
1222 #if(CXSC_INDEX_CHECK)
1229 template <
class V,
class MS,
class S>
friend void _vmsconstr(V &v,
const MS &m)
1230 #if(CXSC_INDEX_CHECK)
1235 template <
class V,
class M,
class S>
friend void _vmconstr(V &v,
const M &m)
1236 #if(CXSC_INDEX_CHECK)
1241 template <
class M,
class V,
class E>
friend E _mvlimult(
const M &m,
const V &v)
1242 #if(CXSC_INDEX_CHECK)
1247 template <
class MS,
class V,
class E>
friend E _msvlimult(
const MS &ms,
const V &v)
1248 #if(CXSC_INDEX_CHECK)
1253 template <
class V,
class M,
class E>
friend E _vmlimult(
const V &v,
const M &m)
1254 #if(CXSC_INDEX_CHECK)
1259 template <
class V,
class MS,
class S>
friend V &_vmslimultassign(V &v,
const MS &ms)
1260 #if(CXSC_INDEX_CHECK)
1265 template <
class V,
class M,
class S>
friend V &_vmlimultassign(V &v,
const M &m)
1266 #if(CXSC_INDEX_CHECK)
1315 explicit INLINE
l_ivector_slice(
l_ivector &a,
const int &lb,
const int &ub) noexcept:dat(a.dat),l(a.l),u(a.u),size(ub-lb+1),start(lb),end(ub) { }
1325 #if(CXSC_INDEX_CHECK)
1332 #if(CXSC_INDEX_CHECK)
1341 #if(CXSC_INDEX_CHECK)
1348 #if(CXSC_INDEX_CHECK)
1358 #if(CXSC_INDEX_CHECK)
1365 #if(CXSC_INDEX_CHECK)
1374 #if(CXSC_INDEX_CHECK)
1381 #if(CXSC_INDEX_CHECK)
1392 #if(CXSC_INDEX_CHECK)
1399 #if(CXSC_INDEX_CHECK)
1408 #if(CXSC_INDEX_CHECK)
1415 #if(CXSC_INDEX_CHECK)
1426 #if(CXSC_INDEX_CHECK)
1433 #if(CXSC_INDEX_CHECK)
1442 #if(CXSC_INDEX_CHECK)
1449 #if(CXSC_INDEX_CHECK)
1460 #if(CXSC_INDEX_CHECK)
1473 #if(CXSC_INDEX_CHECK)
1482 #if(CXSC_INDEX_CHECK)
1489 #if(CXSC_INDEX_CHECK)
1494 INLINE
operator void*() noexcept;
1502 #if(CXSC_INDEX_CHECK)
1509 #if(CXSC_INDEX_CHECK)
1516 #if(CXSC_INDEX_CHECK)
1523 #if(CXSC_INDEX_CHECK)
1530 #if(CXSC_INDEX_CHECK)
1537 #if(CXSC_INDEX_CHECK)
1544 #if(CXSC_INDEX_CHECK)
1551 #if(CXSC_INDEX_CHECK)
1558 #if(CXSC_INDEX_CHECK)
1565 #if(CXSC_INDEX_CHECK)
1577 #if(CXSC_INDEX_CHECK)
1584 #if(CXSC_INDEX_CHECK)
1591 #if(CXSC_INDEX_CHECK)
1598 #if(CXSC_INDEX_CHECK)
1605 #if(CXSC_INDEX_CHECK)
1612 #if(CXSC_INDEX_CHECK)
1619 #if(CXSC_INDEX_CHECK)
1626 #if(CXSC_INDEX_CHECK)
1633 #if(CXSC_INDEX_CHECK)
1640 #if(CXSC_INDEX_CHECK)
1652 #if(CXSC_INDEX_CHECK)
1659 #if(CXSC_INDEX_CHECK)
1666 #if(CXSC_INDEX_CHECK)
1673 #if(CXSC_INDEX_CHECK)
1680 #if(CXSC_INDEX_CHECK)
1687 #if(CXSC_INDEX_CHECK)
1694 #if(CXSC_INDEX_CHECK)
1701 #if(CXSC_INDEX_CHECK)
1708 #if(CXSC_INDEX_CHECK)
1715 #if(CXSC_INDEX_CHECK)
1727 #if(CXSC_INDEX_CHECK)
1734 #if(CXSC_INDEX_CHECK)
1741 #if(CXSC_INDEX_CHECK)
1748 #if(CXSC_INDEX_CHECK)
1755 #if(CXSC_INDEX_CHECK)
1762 #if(CXSC_INDEX_CHECK)
1769 #if(CXSC_INDEX_CHECK)
1776 #if(CXSC_INDEX_CHECK)
1783 #if(CXSC_INDEX_CHECK)
1790 #if(CXSC_INDEX_CHECK)
1819 #if(CXSC_INDEX_CHECK)
1826 #if(CXSC_INDEX_CHECK)
1833 #if(CXSC_INDEX_CHECK)
1840 #if(CXSC_INDEX_CHECK)
1847 #if(CXSC_INDEX_CHECK)
1854 #if(CXSC_INDEX_CHECK)
1861 #if(CXSC_INDEX_CHECK)
1868 #if(CXSC_INDEX_CHECK)
1876 #if(CXSC_INDEX_CHECK)
1883 #if(CXSC_INDEX_CHECK)
1890 #if(CXSC_INDEX_CHECK)
1897 #if(CXSC_INDEX_CHECK)
1904 #if(CXSC_INDEX_CHECK)
1911 #if(CXSC_INDEX_CHECK)
1918 #if(CXSC_INDEX_CHECK)
1925 #if(CXSC_INDEX_CHECK)
1953 #if(CXSC_INDEX_CHECK)
1960 #if(CXSC_INDEX_CHECK)
1987 INLINE
bool operator !(
const l_ivector &rv) noexcept;
2119 INLINE std::ostream &operator <<(std::ostream &s,
const l_ivector &rv) noexcept;
2121 INLINE std::ostream &operator <<(std::ostream &o,
const l_ivector_slice &sl) noexcept;
2123 INLINE std::istream &operator >>(std::istream &s,
l_ivector &rv) noexcept;
2125 INLINE std::istream &operator >>(std::istream &s,
l_ivector_slice &rv) noexcept;
2131 #if(CXSC_INDEX_CHECK)
2138 #if(CXSC_INDEX_CHECK)
2145 #if(CXSC_INDEX_CHECK)
2152 #if(CXSC_INDEX_CHECK)
2159 #if(CXSC_INDEX_CHECK)
2166 #if(CXSC_INDEX_CHECK)
2174 #if(CXSC_INDEX_CHECK)
2181 #if(CXSC_INDEX_CHECK)
2188 #if(CXSC_INDEX_CHECK)
2195 #if(CXSC_INDEX_CHECK)
2208 #if(CXSC_INDEX_CHECK)
2215 #if(CXSC_INDEX_CHECK)
2222 #if(CXSC_INDEX_CHECK)
2229 #if(CXSC_INDEX_CHECK)
2236 #if(CXSC_INDEX_CHECK)
2243 #if(CXSC_INDEX_CHECK)
2255 #if(CXSC_INDEX_CHECK)
2262 #if(CXSC_INDEX_CHECK)
2269 #if(CXSC_INDEX_CHECK)
2276 #if(CXSC_INDEX_CHECK)
2283 #if(CXSC_INDEX_CHECK)
2290 #if(CXSC_INDEX_CHECK)
2298 #if(CXSC_INDEX_CHECK)
2305 #if(CXSC_INDEX_CHECK)
2312 #if(CXSC_INDEX_CHECK)
2319 #if(CXSC_INDEX_CHECK)
2326 #if(CXSC_INDEX_CHECK)
2333 #if(CXSC_INDEX_CHECK)
2341 #if(CXSC_INDEX_CHECK)
2348 #if(CXSC_INDEX_CHECK)
2355 #if(CXSC_INDEX_CHECK)
2362 #if(CXSC_INDEX_CHECK)
2369 #if(CXSC_INDEX_CHECK)
2376 #if(CXSC_INDEX_CHECK)
2435 #if(CXSC_INDEX_CHECK)
2442 #if(CXSC_INDEX_CHECK)
2449 #if(CXSC_INDEX_CHECK)
2456 #if(CXSC_INDEX_CHECK)
2463 #if(CXSC_INDEX_CHECK)
2470 #if(CXSC_INDEX_CHECK)
2477 #if(CXSC_INDEX_CHECK)
2484 #if(CXSC_INDEX_CHECK)
2491 #if(CXSC_INDEX_CHECK)
2498 #if(CXSC_INDEX_CHECK)
2505 #if(CXSC_INDEX_CHECK)
2512 #if(CXSC_INDEX_CHECK)
2520 #if(CXSC_INDEX_CHECK)
2527 #if(CXSC_INDEX_CHECK)
2534 #if(CXSC_INDEX_CHECK)
2541 #if(CXSC_INDEX_CHECK)
2549 #if(CXSC_INDEX_CHECK)
2556 #if(CXSC_INDEX_CHECK)
2563 #if(CXSC_INDEX_CHECK)
2570 #if(CXSC_INDEX_CHECK)
2578 #if(CXSC_INDEX_CHECK)
2585 #if(CXSC_INDEX_CHECK)
2592 #if(CXSC_INDEX_CHECK)
2599 #if(CXSC_INDEX_CHECK)
2607 #if(CXSC_INDEX_CHECK)
2614 #if(CXSC_INDEX_CHECK)
2621 #if(CXSC_INDEX_CHECK)
2628 #if(CXSC_INDEX_CHECK)
2636 #if(CXSC_INDEX_CHECK)
2643 #if(CXSC_INDEX_CHECK)
2651 #if(CXSC_INDEX_CHECK)
2658 #if(CXSC_INDEX_CHECK)
2665 #if(CXSC_INDEX_CHECK)
2672 #if(CXSC_INDEX_CHECK)
2680 #if(CXSC_INDEX_CHECK)
2687 #if(CXSC_INDEX_CHECK)
2694 #if(CXSC_INDEX_CHECK)
2701 #if(CXSC_INDEX_CHECK)
2709 #if(CXSC_INDEX_CHECK)
2716 #if(CXSC_INDEX_CHECK)
2724 #if(CXSC_INDEX_CHECK)
2731 #if(CXSC_INDEX_CHECK)
2738 #if(CXSC_INDEX_CHECK)
2745 #if(CXSC_INDEX_CHECK)
2753 #if(CXSC_INDEX_CHECK)
2760 #if(CXSC_INDEX_CHECK)
2767 #if(CXSC_INDEX_CHECK)
2774 #if(CXSC_INDEX_CHECK)
2782 #if(CXSC_INDEX_CHECK)
2789 #if(CXSC_INDEX_CHECK)
2797 #if(CXSC_INDEX_CHECK)
2804 #if(CXSC_INDEX_CHECK)
2811 #if(CXSC_INDEX_CHECK)
2818 #if(CXSC_INDEX_CHECK)
2826 #if(CXSC_INDEX_CHECK)
2833 #if(CXSC_INDEX_CHECK)
2840 #if(CXSC_INDEX_CHECK)
2847 #if(CXSC_INDEX_CHECK)
2855 #if(CXSC_INDEX_CHECK)
2862 #if(CXSC_INDEX_CHECK)
2871 #if(CXSC_INDEX_CHECK)
2878 #if(CXSC_INDEX_CHECK)
2885 #if(CXSC_INDEX_CHECK)
2892 #if(CXSC_INDEX_CHECK)
2899 #if(CXSC_INDEX_CHECK)
2906 #if(CXSC_INDEX_CHECK)
2913 #if(CXSC_INDEX_CHECK)
2920 #if(CXSC_INDEX_CHECK)
2927 #if(CXSC_INDEX_CHECK)
2934 #if(CXSC_INDEX_CHECK)
2941 #if(CXSC_INDEX_CHECK)
2948 #if(CXSC_INDEX_CHECK)
2956 #if(CXSC_INDEX_CHECK)
2963 #if(CXSC_INDEX_CHECK)
2970 #if(CXSC_INDEX_CHECK)
2977 #if(CXSC_INDEX_CHECK)
2985 #if(CXSC_INDEX_CHECK)
2992 #if(CXSC_INDEX_CHECK)
2999 #if(CXSC_INDEX_CHECK)
3006 #if(CXSC_INDEX_CHECK)
3014 #if(CXSC_INDEX_CHECK)
3021 #if(CXSC_INDEX_CHECK)
3028 #if(CXSC_INDEX_CHECK)
3035 #if(CXSC_INDEX_CHECK)
3043 #if(CXSC_INDEX_CHECK)
3050 #if(CXSC_INDEX_CHECK)
3057 #if(CXSC_INDEX_CHECK)
3064 #if(CXSC_INDEX_CHECK)
3072 #if(CXSC_INDEX_CHECK)
3079 #if(CXSC_INDEX_CHECK)
3087 #if(CXSC_INDEX_CHECK)
3094 #if(CXSC_INDEX_CHECK)
3101 #if(CXSC_INDEX_CHECK)
3108 #if(CXSC_INDEX_CHECK)
3116 #if(CXSC_INDEX_CHECK)
3123 #if(CXSC_INDEX_CHECK)
3130 #if(CXSC_INDEX_CHECK)
3137 #if(CXSC_INDEX_CHECK)
3145 #if(CXSC_INDEX_CHECK)
3152 #if(CXSC_INDEX_CHECK)
3160 #if(CXSC_INDEX_CHECK)
3167 #if(CXSC_INDEX_CHECK)
3174 #if(CXSC_INDEX_CHECK)
3181 #if(CXSC_INDEX_CHECK)
3189 #if(CXSC_INDEX_CHECK)
3196 #if(CXSC_INDEX_CHECK)
3203 #if(CXSC_INDEX_CHECK)
3210 #if(CXSC_INDEX_CHECK)
3218 #if(CXSC_INDEX_CHECK)
3225 #if(CXSC_INDEX_CHECK)
3233 #if(CXSC_INDEX_CHECK)
3240 #if(CXSC_INDEX_CHECK)
3247 #if(CXSC_INDEX_CHECK)
3254 #if(CXSC_INDEX_CHECK)
3262 #if(CXSC_INDEX_CHECK)
3269 #if(CXSC_INDEX_CHECK)
3276 #if(CXSC_INDEX_CHECK)
3283 #if(CXSC_INDEX_CHECK)
3291 #if(CXSC_INDEX_CHECK)
3298 #if(CXSC_INDEX_CHECK)
3308 #if(CXSC_INDEX_CHECK)
3315 #if(CXSC_INDEX_CHECK)
3322 #if(CXSC_INDEX_CHECK)
3329 #if(CXSC_INDEX_CHECK)
3336 #if(CXSC_INDEX_CHECK)
3343 #if(CXSC_INDEX_CHECK)
3350 #if(CXSC_INDEX_CHECK)
3357 #if(CXSC_INDEX_CHECK)
3364 #if(CXSC_INDEX_CHECK)
3371 #if(CXSC_INDEX_CHECK)
3378 #if(CXSC_INDEX_CHECK)
3385 #if(CXSC_INDEX_CHECK)
3393 #if(CXSC_INDEX_CHECK)
3400 #if(CXSC_INDEX_CHECK)
3407 #if(CXSC_INDEX_CHECK)
3414 #if(CXSC_INDEX_CHECK)
3422 #if(CXSC_INDEX_CHECK)
3429 #if(CXSC_INDEX_CHECK)
3436 #if(CXSC_INDEX_CHECK)
3443 #if(CXSC_INDEX_CHECK)
3451 #if(CXSC_INDEX_CHECK)
3458 #if(CXSC_INDEX_CHECK)
3465 #if(CXSC_INDEX_CHECK)
3472 #if(CXSC_INDEX_CHECK)
3480 #if(CXSC_INDEX_CHECK)
3487 #if(CXSC_INDEX_CHECK)
3494 #if(CXSC_INDEX_CHECK)
3501 #if(CXSC_INDEX_CHECK)
3509 #if(CXSC_INDEX_CHECK)
3516 #if(CXSC_INDEX_CHECK)
3524 #if(CXSC_INDEX_CHECK)
3531 #if(CXSC_INDEX_CHECK)
3538 #if(CXSC_INDEX_CHECK)
3545 #if(CXSC_INDEX_CHECK)
3553 #if(CXSC_INDEX_CHECK)
3560 #if(CXSC_INDEX_CHECK)
3567 #if(CXSC_INDEX_CHECK)
3574 #if(CXSC_INDEX_CHECK)
3582 #if(CXSC_INDEX_CHECK)
3589 #if(CXSC_INDEX_CHECK)
3597 #if(CXSC_INDEX_CHECK)
3604 #if(CXSC_INDEX_CHECK)
3611 #if(CXSC_INDEX_CHECK)
3618 #if(CXSC_INDEX_CHECK)
3626 #if(CXSC_INDEX_CHECK)
3633 #if(CXSC_INDEX_CHECK)
3640 #if(CXSC_INDEX_CHECK)
3647 #if(CXSC_INDEX_CHECK)
3655 #if(CXSC_INDEX_CHECK)
3662 #if(CXSC_INDEX_CHECK)
3670 #if(CXSC_INDEX_CHECK)
3677 #if(CXSC_INDEX_CHECK)
3684 #if(CXSC_INDEX_CHECK)
3691 #if(CXSC_INDEX_CHECK)
3699 #if(CXSC_INDEX_CHECK)
3706 #if(CXSC_INDEX_CHECK)
3713 #if(CXSC_INDEX_CHECK)
3720 #if(CXSC_INDEX_CHECK)
3728 #if(CXSC_INDEX_CHECK)
3735 #if(CXSC_INDEX_CHECK)
3744 #if(CXSC_INDEX_CHECK)
3751 #if(CXSC_INDEX_CHECK)
3758 #if(CXSC_INDEX_CHECK)
3765 #if(CXSC_INDEX_CHECK)
3772 #if(CXSC_INDEX_CHECK)
3779 #if(CXSC_INDEX_CHECK)
3786 #if(CXSC_INDEX_CHECK)
3793 #if(CXSC_INDEX_CHECK)
3802 #if(CXSC_INDEX_CHECK)
3809 #if(CXSC_INDEX_CHECK)
3816 #if(CXSC_INDEX_CHECK)
3823 #if(CXSC_INDEX_CHECK)
3835 #if(CXSC_INDEX_CHECK)
3842 #if(CXSC_INDEX_CHECK)
3849 #if(CXSC_INDEX_CHECK)
3856 #if(CXSC_INDEX_CHECK)
3864 #if(CXSC_INDEX_CHECK)
3871 #if(CXSC_INDEX_CHECK)
3878 #if(CXSC_INDEX_CHECK)
3885 #if(CXSC_INDEX_CHECK)
3894 #if(CXSC_INDEX_CHECK)
3901 #if(CXSC_INDEX_CHECK)
3908 #if(CXSC_INDEX_CHECK)
3915 #if(CXSC_INDEX_CHECK)
3923 #if(CXSC_INDEX_CHECK)
3930 #if(CXSC_INDEX_CHECK)
3937 #if(CXSC_INDEX_CHECK)
3944 #if(CXSC_INDEX_CHECK)
3953 #if(CXSC_INDEX_CHECK)
3960 #if(CXSC_INDEX_CHECK)
3967 #if(CXSC_INDEX_CHECK)
3974 #if(CXSC_INDEX_CHECK)
3982 #if(CXSC_INDEX_CHECK)
3989 #if(CXSC_INDEX_CHECK)
3996 #if(CXSC_INDEX_CHECK)
4003 #if(CXSC_INDEX_CHECK)
4011 #if(CXSC_INDEX_CHECK)
4018 #if(CXSC_INDEX_CHECK)
4025 #if(CXSC_INDEX_CHECK)
4032 #if(CXSC_INDEX_CHECK)
4040 #if(CXSC_INDEX_CHECK)
4047 #if(CXSC_INDEX_CHECK)
4054 #if(CXSC_INDEX_CHECK)
4061 #if(CXSC_INDEX_CHECK)
4069 #ifdef _CXSC_INCL_INL
4070 #include "vector.inl"
4071 #include "l_ivector.inl"
4074 #ifdef _CXSC_RMATRIX_HPP_INCLUDED
4075 # ifdef _CXSC_INCL_INL
4076 # include "livecrmat.inl"
4078 # include "livecrmat.hpp"
4082 #ifdef _CXSC_LRMATRIX_HPP_INCLUDED
4083 # ifdef _CXSC_INCL_INL
4084 # include "liveclrmat.inl"
4086 # include "liveclrmat.hpp"
4090 #ifdef _CXSC_IMATRIX_HPP_INCLUDED
4091 # ifdef _CXSC_INCL_INL
4092 # include "livecimat.inl"
4094 # include "livecimat.hpp"
The Data Type idotprecision.
The Data Type imatrix_slice.
The Data Type imatrix_subv.
The Scalar Type interval.
The Data Type ivector_slice.
The Multiple-Precision Data Type l_imatrix_slice.
The Multiple-Precision Data Type l_imatrix_subv.
The Multiple-Precision Data Type l_imatrix.
The Multiple-Precision Data Type l_interval.
l_interval() noexcept
Constructor of class l_interval.
The Multiple-Precision Data Type l_ivector_slice.
l_ivector_slice & operator()() noexcept
Operator for accessing the whole vector.
l_ivector_slice & operator=(const l_ivector_slice &sl) noexcept
Implementation of standard assigning operator.
l_ivector_slice & operator-=(const l_ivector &rv) noexcept
Implementation of subtraction and allocation operation.
l_ivector_slice(l_ivector &a, const int &lb, const int &ub) noexcept
Constructor of class l_ivector_slice.
l_ivector_slice(l_ivector_slice &a, const int &lb, const int &ub) noexcept
Constructor of class l_ivector_slice.
friend int Lb(const l_ivector_slice &sl) noexcept
Returns the lower bound of the vector.
l_ivector_slice(const l_ivector_slice &a) noexcept
Constructor of class l_ivector_slice.
l_ivector_slice & operator|=(const l_ivector &rv) noexcept
Allocates the convex hull of the arguments to the first argument.
l_ivector_slice & operator*=(const l_interval &r) noexcept
Implementation of multiplication and allocation operation.
l_ivector_slice & operator&=(const l_ivector &rv) noexcept
Allocates the intersection of the arguments to the first argument.
l_ivector_slice & operator/=(const l_interval &r) noexcept
Implementation of division and allocation operation.
l_ivector_slice & operator+=(const l_ivector &rv) noexcept
Implementation of addition and allocation operation.
friend int Ub(const l_ivector_slice &sl) noexcept
Returns the upper bound of the vector.
friend int VecLen(const l_ivector_slice &sl) noexcept
Returns the dimension of the vector.
l_interval & operator[](const int &i) const noexcept
Operator for accessing the single elements of the vector.
The Multiple-Precision Data Type l_ivector.
l_ivector() noexcept
Constructor of class l_ivector.
l_interval & operator[](const int &i) const noexcept
Operator for accessing the single elements of the vector.
friend int Lb(const l_ivector &rv) noexcept
Returns the lower bound of the vector.
l_ivector & operator=(const l_ivector &rv) noexcept
Implementation of standard assigning operator.
friend int Ub(const l_ivector &rv) noexcept
Returns the upper bound of the vector.
l_ivector & operator()() noexcept
Operator for accessing the whole vector.
friend l_ivector & SetLb(l_ivector &rv, const int &l) noexcept
Sets the lower bound of the vector.
friend int VecLen(const l_ivector &rv) noexcept
Returns the dimension of the vector.
friend l_ivector & SetUb(l_ivector &rv, const int &u) noexcept
Sets the upper bound of the vector.
The Multiple-Precision Data Type l_real.
The Multiple-Precision Data Type l_rmatrix_slice.
The Multiple-Precision Data Type l_rmatrix_subv.
The Multiple-Precision Data Type l_rmatrix.
The Multiple-Precision Data Type l_rvector_slice.
The Multiple-Precision Data Type l_rvector.
The Data Type rmatrix_slice.
The Data Type rmatrix_subv.
The Data Type rvector_slice.
The namespace cxsc, providing all functionality of the class library C-XSC.
civector operator/(const cimatrix_subv &rv, const cinterval &s) noexcept
Implementation of division operation.
cvector diam(const cimatrix_subv &mv) noexcept
Returns the diameter of the matrix.
l_ivector _l_ivector(const l_interval &r) noexcept
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
cdotprecision & operator+=(cdotprecision &cd, const l_complex &lc) noexcept
Implementation of standard algebraic addition and allocation operation.
cimatrix & operator*=(cimatrix &m, const cinterval &c) noexcept
Implementation of multiplication and allocation operation.
ivector abs(const cimatrix_subv &mv) noexcept
Returns the absolute value of the matrix.
cvector mid(const cimatrix_subv &mv) noexcept
Returns the middle of the matrix.
civector operator*(const cimatrix_subv &rv, const cinterval &s) noexcept
Implementation of multiplication operation.
void Resize(cimatrix &A) noexcept
Resizes the matrix.
cimatrix_subv & SetUncheckedInf(cimatrix_subv &iv, const complex &r) noexcept
Returns the matrix with the new unchecked given infimum value.
cimatrix & operator/=(cimatrix &m, const cinterval &c) noexcept
Implementation of division and allocation operation.