C-XSC - A C++ Class Library for Extended Scientific Computing
2.5.4
|
00001 /* 00002 ** CXSC is a C++ library for eXtended Scientific Computing (V 2.5.4) 00003 ** 00004 ** Copyright (C) 1990-2000 Institut fuer Angewandte Mathematik, 00005 ** Universitaet Karlsruhe, Germany 00006 ** (C) 2000-2014 Wiss. Rechnen/Softwaretechnologie 00007 ** Universitaet Wuppertal, Germany 00008 ** 00009 ** This library is free software; you can redistribute it and/or 00010 ** modify it under the terms of the GNU Library General Public 00011 ** License as published by the Free Software Foundation; either 00012 ** version 2 of the License, or (at your option) any later version. 00013 ** 00014 ** This library is distributed in the hope that it will be useful, 00015 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 ** Library General Public License for more details. 00018 ** 00019 ** You should have received a copy of the GNU Library General Public 00020 ** License along with this library; if not, write to the Free 00021 ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00022 */ 00023 00024 /* CVS $Id: l_ivector.inl,v 1.20 2014/01/30 17:23:46 cxsc Exp $ */ 00025 00026 #ifndef _CXSC_LIVECTOR_INL_INCLUDED 00027 #define _CXSC_LIVECTOR_INL_INCLUDED 00028 00029 namespace cxsc { 00030 00031 INLINE l_ivector::l_ivector () throw():dat(NULL),l(1),u(0),size(0) 00032 { 00033 } 00034 00035 INLINE l_ivector::l_ivector(const int &i) throw():l(1),u(i),size(i) 00036 { 00037 dat=new l_interval[i]; 00038 } 00039 00040 #ifdef OLD_CXSC 00041 INLINE l_ivector::l_ivector(const class index &i) throw():l(1),u(i._int()),size(i._int()) 00042 { 00043 dat=new l_interval[i._int()]; 00044 } 00045 #endif 00046 00047 INLINE l_ivector::l_ivector(const int &i1,const int &i2) 00048 #if(CXSC_INDEX_CHECK) 00049 throw(ERROR_LIVECTOR_WRONG_BOUNDARIES,ERROR_LIVECTOR_NO_MORE_MEMORY):l(i1),u(i2),size(i2-i1+1) 00050 #else 00051 throw():l(i1),u(i2),size(i2-i1+1) 00052 #endif 00053 { 00054 #if(CXSC_INDEX_CHECK) 00055 if(i1>i2) cxscthrow(ERROR_LIVECTOR_WRONG_BOUNDARIES("l_ivector::l_ivector(const int &i1,const int &i2)")); 00056 #endif 00057 dat=new l_interval[size]; 00058 } 00059 00060 INLINE l_ivector::l_ivector(const l_ivector_slice &rs) throw():l(rs.start),u(rs.end),size(rs.end-rs.start+1) 00061 { 00062 dat=new l_interval[size]; 00063 for(int i=0, j=l-rs.l;i<size;i++,j++) 00064 dat[i]=rs.dat[j]; 00065 } 00066 00067 INLINE l_ivector::l_ivector(const l_rvector_slice &rs) throw():l(rs.start),u(rs.end),size(rs.end-rs.start+1) 00068 { 00069 dat=new l_interval[size]; 00070 for(int i=0, j=l-rs.l;i<size;i++,j++) 00071 dat[i]=rs.dat[j]; 00072 } 00073 00074 INLINE l_ivector::l_ivector(const ivector_slice &rs) throw():l(rs.start),u(rs.end),size(rs.end-rs.start+1) 00075 { 00076 dat=new l_interval[size]; 00077 for(int i=0, j=l-rs.l;i<size;i++,j++) 00078 dat[i]=rs.dat[j]; 00079 } 00080 00081 INLINE l_ivector::l_ivector(const rvector_slice &rs) throw():l(rs.start),u(rs.end),size(rs.end-rs.start+1) 00082 { 00083 dat=new l_interval[size]; 00084 for(int i=0, j=l-rs.l;i<size;i++,j++) 00085 dat[i]=rs.dat[j]; 00086 } 00087 00088 INLINE l_ivector::l_ivector(const l_ivector &v) throw():l(v.l),u(v.u),size(v.size) 00089 { 00090 dat=new l_interval[size]; 00091 for (int i=0;i<size;i++) 00092 dat[i]=v.dat[i]; 00093 } 00094 00095 INLINE l_ivector::l_ivector(const l_interval &r) throw():l(1),u(1),size(1) 00096 { 00097 dat=new l_interval[1]; 00098 *dat=r; 00099 } 00100 00101 INLINE l_ivector::l_ivector(const l_rvector &v) throw():l(v.l),u(v.u),size(v.size) 00102 { 00103 dat=new l_interval[size]; 00104 for (int i=0;i<size;i++) 00105 dat[i]=v.dat[i]; 00106 } 00107 00108 INLINE l_ivector::l_ivector(const ivector &v) throw():l(v.l),u(v.u),size(v.size) 00109 { 00110 dat=new l_interval[size]; 00111 for (int i=0;i<size;i++) 00112 dat[i]=v.dat[i]; 00113 } 00114 00115 INLINE l_ivector::l_ivector(const rvector &v) throw():l(v.l),u(v.u),size(v.size) 00116 { 00117 dat=new l_interval[size]; 00118 for (int i=0;i<size;i++) 00119 dat[i]=v.dat[i]; 00120 } 00121 00122 INLINE l_ivector::l_ivector(const real &r) throw():l(1),u(1),size(1) 00123 { 00124 dat=new l_interval[1]; 00125 *dat=r; 00126 } 00127 00128 INLINE l_ivector::l_ivector(const interval &r) throw():l(1),u(1),size(1) 00129 { 00130 dat=new l_interval[1]; 00131 *dat=r; 00132 } 00133 00134 INLINE l_ivector::l_ivector(const l_real &r) throw():l(1),u(1),size(1) 00135 { 00136 dat=new l_interval[1]; 00137 *dat=r; 00138 } 00139 00140 00141 INLINE l_interval & l_ivector::operator [](const int &i) const 00142 #if(CXSC_INDEX_CHECK) 00143 throw(ERROR_LIVECTOR_ELEMENT_NOT_IN_VEC) 00144 #else 00145 throw() 00146 #endif 00147 { 00148 #if(CXSC_INDEX_CHECK) 00149 if(i<l||i>u) cxscthrow(ERROR_LIVECTOR_ELEMENT_NOT_IN_VEC("l_interval & l_ivector::operator [](const int &i)")); 00150 #endif 00151 return dat[i-l]; 00152 } 00153 00154 INLINE l_interval & l_ivector_slice::operator [](const int &i) const 00155 #if(CXSC_INDEX_CHECK) 00156 throw(ERROR_LIVECTOR_ELEMENT_NOT_IN_VEC) 00157 #else 00158 throw() 00159 #endif 00160 { 00161 #if(CXSC_INDEX_CHECK) 00162 if(i<start||i>end) cxscthrow(ERROR_LIVECTOR_ELEMENT_NOT_IN_VEC("l_interval & l_ivector_slice::operator [](const int &i)")); 00163 #endif 00164 return dat[i-l]; 00165 } 00166 00167 INLINE l_ivector_slice l_ivector::operator ()(const int &i) 00168 #if(CXSC_INDEX_CHECK) 00169 throw(ERROR_LIVECTOR_SUB_ARRAY_TOO_BIG) 00170 #else 00171 throw() 00172 #endif 00173 { 00174 #if(CXSC_INDEX_CHECK) 00175 if(1<l||i>u) cxscthrow(ERROR_LIVECTOR_SUB_ARRAY_TOO_BIG("l_ivector_slice l_ivector::operator ()(const int &i)")); 00176 #endif 00177 return l_ivector_slice(*this,1,i); 00178 } 00179 00180 INLINE l_ivector_slice l_ivector::operator ()(const int &i1,const int &i2) 00181 #if(CXSC_INDEX_CHECK) 00182 throw(ERROR_LIVECTOR_SUB_ARRAY_TOO_BIG) 00183 #else 00184 throw() 00185 #endif 00186 { 00187 #if(CXSC_INDEX_CHECK) 00188 if(i1<l||i2>u) cxscthrow(ERROR_LIVECTOR_SUB_ARRAY_TOO_BIG("l_ivector_slice l_ivector::operator ()(const int &i1,const int &i2)")); 00189 #endif 00190 return l_ivector_slice(*this,i1,i2); 00191 } 00192 00193 INLINE l_ivector_slice l_ivector_slice::operator ()(const int &i) 00194 #if(CXSC_INDEX_CHECK) 00195 throw(ERROR_LIVECTOR_SUB_ARRAY_TOO_BIG) 00196 #else 00197 throw() 00198 #endif 00199 { 00200 #if(CXSC_INDEX_CHECK) 00201 if(1<start||i>end) cxscthrow(ERROR_LIVECTOR_SUB_ARRAY_TOO_BIG("l_ivector_slice l_ivector_slice::operator ()(const int &i)")); 00202 #endif 00203 return l_ivector_slice(*this,1,i); 00204 } 00205 00206 INLINE l_ivector_slice l_ivector_slice::operator ()(const int &i1,const int &i2) 00207 #if(CXSC_INDEX_CHECK) 00208 throw(ERROR_LIVECTOR_SUB_ARRAY_TOO_BIG) 00209 #else 00210 throw() 00211 #endif 00212 { 00213 #if(CXSC_INDEX_CHECK) 00214 if(i1<start||i2>end) cxscthrow(ERROR_LIVECTOR_SUB_ARRAY_TOO_BIG("l_ivector_slice l_ivector_slice::operator ()(const int &i1,const int &i2)")); 00215 #endif 00216 return l_ivector_slice(*this,i1,i2); 00217 } 00218 00219 INLINE l_interval::l_interval(const l_ivector &rv) 00220 #if(CXSC_INDEX_CHECK) 00221 throw(ERROR_LIVECTOR_TYPE_CAST_OF_THICK_OBJ,ERROR_LIVECTOR_USE_OF_UNINITIALIZED_OBJ) 00222 #else 00223 throw() 00224 #endif 00225 { 00226 #if(CXSC_INDEX_CHECK) 00227 if(rv.size>1) cxscthrow(ERROR_LIVECTOR_TYPE_CAST_OF_THICK_OBJ("l_interval::l_interval(const l_ivector &rv)")); 00228 else if(rv.size<1) cxscthrow(ERROR_LIVECTOR_USE_OF_UNINITIALIZED_OBJ("l_interval::l_interval(const l_ivector &rv)")); 00229 #endif 00230 *this=rv.dat[0]; 00231 } 00232 00233 INLINE l_interval::l_interval(const l_ivector_slice &sl) 00234 #if(CXSC_INDEX_CHECK) 00235 throw(ERROR_LIVECTOR_TYPE_CAST_OF_THICK_OBJ,ERROR_LIVECTOR_USE_OF_UNINITIALIZED_OBJ) 00236 #else 00237 throw() 00238 #endif 00239 { 00240 #if(CXSC_INDEX_CHECK) 00241 if(sl.size>1) cxscthrow(ERROR_LIVECTOR_TYPE_CAST_OF_THICK_OBJ("l_interval::l_interval(const l_ivector_slice &sl)")); 00242 else if(sl.size<1) cxscthrow(ERROR_LIVECTOR_USE_OF_UNINITIALIZED_OBJ("l_interval::l_interval(const l_ivector_slice &sl)")); 00243 #endif 00244 *this=sl.dat[sl.start-sl.l]; 00245 } 00246 00252 INLINE l_ivector _l_ivector(const l_interval &r) throw() { return l_ivector(r); } 00253 00259 INLINE l_ivector _l_ivector(const real &r) throw() { return l_ivector(r); } 00265 INLINE l_ivector _l_ivector(const rvector_slice &rs) throw() { return l_ivector(rs); } 00271 INLINE l_ivector _l_ivector(const rvector &rs) throw() { return l_ivector(rs); } 00272 00278 INLINE l_ivector _l_ivector(const l_real &r) throw() { return l_ivector(r); } 00284 INLINE l_ivector _l_ivector(const l_rvector_slice &rs) throw() { return l_ivector(rs); } 00290 INLINE l_ivector _l_ivector(const l_rvector &rs) throw() { return l_ivector(rs); } 00291 00297 INLINE l_ivector _l_ivector(const interval &r) throw() { return l_ivector(r); } 00303 INLINE l_ivector _l_ivector(const ivector_slice &rs) throw() { return l_ivector(rs); } 00309 INLINE l_ivector _l_ivector(const ivector &rs) throw() { return l_ivector(rs); } 00310 00311 INLINE l_ivector &l_ivector::operator =(const l_ivector &rv) throw() { return _vvassign<l_ivector,l_ivector,l_interval>(*this,rv); } 00312 INLINE l_ivector &l_ivector::operator =(const l_interval &r) throw() { return _vsassign<l_ivector,l_interval>(*this,r); } 00313 INLINE l_ivector::operator void*() throw() { return _vvoid(*this); } 00314 INLINE l_ivector_slice & l_ivector_slice::operator =(const l_ivector_slice &sl) 00315 #if(CXSC_INDEX_CHECK) 00316 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00317 #else 00318 throw() 00319 #endif 00320 { return _vsvsassign(*this,sl); } 00321 INLINE l_ivector_slice & l_ivector_slice::operator =(const l_ivector &rv) 00322 #if(CXSC_INDEX_CHECK) 00323 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00324 #else 00325 throw() 00326 #endif 00327 { return _vsvassign(*this,rv); } 00328 INLINE l_ivector_slice & l_ivector_slice::operator =(const l_interval &r) throw() { return _vssassign<l_ivector_slice,l_interval>(*this,r); } 00329 INLINE l_ivector_slice::operator void*() throw() { return _vsvoid(*this); } 00330 00331 //======================================================================= 00332 //======================== Vector Functions ============================= 00333 00334 00335 INLINE l_ivector &SetInf(l_ivector &iv,const l_rvector &rv) 00336 #if(CXSC_INDEX_CHECK) 00337 throw(ERROR_LIVECTOR_OP_WITH_WRONG_DIM) 00338 #else 00339 throw() 00340 #endif 00341 { return _vvsetinf(iv,rv); } 00342 INLINE l_ivector_slice &SetInf(l_ivector_slice &iv,const l_rvector &rv) 00343 #if(CXSC_INDEX_CHECK) 00344 throw(ERROR_LIVECTOR_OP_WITH_WRONG_DIM) 00345 #else 00346 throw() 00347 #endif 00348 { return _vsvsetinf(iv,rv); } 00349 INLINE l_ivector &SetInf(l_ivector &iv,const l_rvector_slice &rv) 00350 #if(CXSC_INDEX_CHECK) 00351 throw(ERROR_LIVECTOR_OP_WITH_WRONG_DIM) 00352 #else 00353 throw() 00354 #endif 00355 { return _vvssetinf(iv,rv); } 00356 INLINE l_ivector_slice &SetInf(l_ivector_slice &iv,const l_rvector_slice &rv) 00357 #if(CXSC_INDEX_CHECK) 00358 throw(ERROR_LIVECTOR_OP_WITH_WRONG_DIM) 00359 #else 00360 throw() 00361 #endif 00362 { return _vsvssetinf(iv,rv); } 00363 INLINE l_ivector &UncheckedSetInf(l_ivector &iv,const l_rvector &rv) 00364 #if(CXSC_INDEX_CHECK) 00365 throw(ERROR_LIVECTOR_OP_WITH_WRONG_DIM) 00366 #else 00367 throw() 00368 #endif 00369 { return _vvusetinf(iv,rv); } 00370 INLINE l_ivector_slice &UncheckedSetInf(l_ivector_slice &iv,const l_rvector &rv) 00371 #if(CXSC_INDEX_CHECK) 00372 throw(ERROR_LIVECTOR_OP_WITH_WRONG_DIM) 00373 #else 00374 throw() 00375 #endif 00376 { return _vsvusetinf(iv,rv); } 00377 INLINE l_ivector &UncheckedSetInf(l_ivector &iv,const l_rvector_slice &rv) 00378 #if(CXSC_INDEX_CHECK) 00379 throw(ERROR_LIVECTOR_OP_WITH_WRONG_DIM) 00380 #else 00381 throw() 00382 #endif 00383 { return _vvsusetinf(iv,rv); } 00384 INLINE l_ivector_slice &UncheckedSetInf(l_ivector_slice &iv,const l_rvector_slice &rv) 00385 #if(CXSC_INDEX_CHECK) 00386 throw(ERROR_LIVECTOR_OP_WITH_WRONG_DIM) 00387 #else 00388 throw() 00389 #endif 00390 { return _vsvsusetinf(iv,rv); } 00391 00392 INLINE l_ivector &SetSup(l_ivector &iv,const l_rvector &rv) 00393 #if(CXSC_INDEX_CHECK) 00394 throw(ERROR_LIVECTOR_OP_WITH_WRONG_DIM) 00395 #else 00396 throw() 00397 #endif 00398 { return _vvsetsup(iv,rv); } 00399 INLINE l_ivector_slice &SetSup(l_ivector_slice &iv,const l_rvector &rv) 00400 #if(CXSC_INDEX_CHECK) 00401 throw(ERROR_LIVECTOR_OP_WITH_WRONG_DIM) 00402 #else 00403 throw() 00404 #endif 00405 { return _vsvsetsup(iv,rv); } 00406 INLINE l_ivector &SetSup(l_ivector &iv,const l_rvector_slice &rv) 00407 #if(CXSC_INDEX_CHECK) 00408 throw(ERROR_LIVECTOR_OP_WITH_WRONG_DIM) 00409 #else 00410 throw() 00411 #endif 00412 { return _vvssetsup(iv,rv); } 00413 INLINE l_ivector_slice &SetSup(l_ivector_slice &iv,const l_rvector_slice &rv) 00414 #if(CXSC_INDEX_CHECK) 00415 throw(ERROR_LIVECTOR_OP_WITH_WRONG_DIM) 00416 #else 00417 throw() 00418 #endif 00419 { return _vsvssetsup(iv,rv); } 00420 INLINE l_ivector &UncheckedSetSup(l_ivector &iv,const l_rvector &rv) 00421 #if(CXSC_INDEX_CHECK) 00422 throw(ERROR_LIVECTOR_OP_WITH_WRONG_DIM) 00423 #else 00424 throw() 00425 #endif 00426 { return _vvusetsup(iv,rv); } 00427 INLINE l_ivector_slice &UncheckedSetSup(l_ivector_slice &iv,const l_rvector &rv) 00428 #if(CXSC_INDEX_CHECK) 00429 throw(ERROR_LIVECTOR_OP_WITH_WRONG_DIM) 00430 #else 00431 throw() 00432 #endif 00433 { return _vsvusetsup(iv,rv); } 00434 INLINE l_ivector &UncheckedSetSup(l_ivector &iv,const l_rvector_slice &rv) 00435 #if(CXSC_INDEX_CHECK) 00436 throw(ERROR_LIVECTOR_OP_WITH_WRONG_DIM) 00437 #else 00438 throw() 00439 #endif 00440 { return _vvsusetsup(iv,rv); } 00441 INLINE l_ivector_slice &UncheckedSetSup(l_ivector_slice &iv,const l_rvector_slice &rv) 00442 #if(CXSC_INDEX_CHECK) 00443 throw(ERROR_LIVECTOR_OP_WITH_WRONG_DIM) 00444 #else 00445 throw() 00446 #endif 00447 { return _vsvsusetsup(iv,rv); } 00448 00449 INLINE l_ivector &SetSup(l_ivector &iv,const l_real &r) throw() { return _vssetsup(iv,r); } 00450 INLINE l_ivector &SetInf(l_ivector &iv,const l_real &r) throw() { return _vssetinf(iv,r); } 00451 INLINE l_ivector &UncheckedSetSup(l_ivector &iv,const l_real &r) throw() { return _vsusetsup(iv,r); } 00452 INLINE l_ivector &SetUncheckedInf(l_ivector &iv,const l_real &r) throw() { return _vsusetinf(iv,r); } 00453 00454 INLINE l_ivector_slice &SetSup(l_ivector_slice &iv,const l_real &r) throw() { return _vsssetsup(iv,r); } 00455 INLINE l_ivector_slice &SetInf(l_ivector_slice &iv,const l_real &r) throw() { return _vsssetinf(iv,r); } 00456 INLINE l_ivector_slice &UncheckedSetSup(l_ivector_slice &iv,const l_real &r) throw() { return _vssusetsup(iv,r); } 00457 INLINE l_ivector_slice &SetUncheckedInf(l_ivector_slice &iv,const l_real &r) throw() { return _vssusetinf(iv,r); } 00458 00459 INLINE void Resize(l_ivector &rv) throw() { _vresize(rv); } 00460 INLINE void Resize(l_ivector &rv, const int &len) 00461 #if(CXSC_INDEX_CHECK) 00462 throw(ERROR__WRONG_BOUNDARIES<l_ivector>) 00463 #else 00464 throw() 00465 #endif 00466 { _vresize<class l_ivector,class l_interval>(rv,len); } 00467 INLINE void Resize(l_ivector &rv, const int &lb, const int &ub) 00468 #if(CXSC_INDEX_CHECK) 00469 throw(ERROR__WRONG_BOUNDARIES<l_ivector>) 00470 #else 00471 throw() 00472 #endif 00473 { _vresize<class l_ivector,class l_interval>(rv,lb,ub); } 00474 00475 INLINE l_ivector abs(const l_ivector &rv) throw() { return _vabs<l_ivector,l_ivector>(rv); } 00476 INLINE l_ivector abs(const l_ivector_slice &sl) throw() { return _vsabs<l_ivector_slice,l_ivector>(sl); } 00477 INLINE l_rvector diam(const l_ivector &v) throw() { return _vdiam<l_ivector,l_rvector>(v); } 00478 INLINE l_rvector diam(const l_ivector_slice &v) throw() { return _vsdiam<l_ivector_slice,l_rvector>(v); } 00479 INLINE l_rvector mid(const l_ivector &v) throw() { return _vmid<l_ivector,l_rvector>(v); } 00480 INLINE l_rvector mid(const l_ivector_slice &v) throw() { return _vsmid<l_ivector_slice,l_rvector>(v); } 00481 INLINE l_rvector Inf(const l_ivector &v) throw() { return _vinf<l_ivector,l_rvector>(v); } 00482 INLINE l_rvector Inf(const l_ivector_slice &v) throw() { return _vsinf<l_ivector_slice,l_rvector>(v); } 00483 INLINE l_rvector Sup(const l_ivector &v) throw() { return _vsup<l_ivector,l_rvector>(v); } 00484 INLINE l_rvector Sup(const l_ivector_slice &v) throw() { return _vssup<l_ivector_slice,l_rvector>(v); } 00485 INLINE bool operator !(const l_ivector &rv) throw() { return _vnot(rv); } 00486 INLINE bool operator !(const l_ivector_slice &sl) throw() { return _vsnot(sl); } 00487 00488 //======================= Vector / Scalar =============================== 00489 00490 //----------------------------- l_interval --------------------------- 00491 00492 INLINE l_ivector operator *(const l_ivector &rv, const l_interval &s) throw() { return _vsmult<l_ivector,l_interval,l_ivector>(rv,s); } 00493 INLINE l_ivector operator *(const l_ivector_slice &sl, const l_interval &s) throw() { return _vssmult<l_ivector_slice,l_interval,l_ivector>(sl,s); } 00494 INLINE l_ivector operator *(const l_interval &s, const l_ivector &rv) throw() { return _vsmult<l_ivector,l_interval,l_ivector>(rv,s); } 00495 INLINE l_ivector operator *(const l_interval &s, const l_ivector_slice &sl) throw() { return _vssmult<l_ivector_slice,l_interval,l_ivector>(sl,s); } 00496 INLINE l_ivector &operator *=(l_ivector &rv,const l_interval &r) throw() { return _vsmultassign(rv,r); } 00497 INLINE l_ivector_slice &l_ivector_slice::operator *=(const l_interval &r) throw() { return _vssmultassign(*this,r); } 00498 00499 INLINE l_ivector operator /(const l_ivector &rv, const l_interval &s) throw() { return _vsdiv<l_ivector,l_interval,l_ivector>(rv,s); } 00500 INLINE l_ivector operator /(const l_ivector_slice &sl, const l_interval &s) throw() { return _vssdiv<l_ivector_slice,l_interval,l_ivector>(sl,s); } 00501 INLINE l_ivector &operator /=(l_ivector &rv,const l_interval &r) throw() { return _vsdivassign(rv,r); } 00502 INLINE l_ivector_slice &l_ivector_slice::operator /=(const l_interval &r) throw() { return _vssdivassign(*this,r); } 00503 00504 //---------------------------- Real -------------------------------------- 00505 00506 INLINE l_ivector operator *(const l_ivector &rv, const real &s) throw() { return _vsmult<l_ivector,real,l_ivector>(rv,s); } 00507 INLINE l_ivector operator *(const l_ivector_slice &sl, const real &s) throw() { return _vssmult<l_ivector_slice,real,l_ivector>(sl,s); } 00508 INLINE l_ivector operator *(const real &s, const l_ivector &rv) throw() { return _vsmult<l_ivector,real,l_ivector>(rv,s); } 00509 INLINE l_ivector operator *(const real &s, const l_ivector_slice &sl) throw() { return _vssmult<l_ivector_slice,real,l_ivector>(sl,s); } 00510 INLINE l_ivector &operator *=(l_ivector &rv,const real &r) throw() { return _vsmultassign(rv,r); } 00511 INLINE l_ivector_slice &l_ivector_slice::operator *=(const real &r) throw() { return _vssmultassign(*this,r); } 00512 00513 INLINE l_ivector operator /(const l_ivector &rv, const real &s) throw() { return _vsdiv<l_ivector,real,l_ivector>(rv,s); } 00514 INLINE l_ivector operator /(const l_ivector_slice &sl, const real &s) throw() { return _vssdiv<l_ivector_slice,real,l_ivector>(sl,s); } 00515 INLINE l_ivector &operator /=(l_ivector &rv,const real &r) throw() { return _vsdivassign(rv,r); } 00516 INLINE l_ivector_slice &l_ivector_slice::operator /=(const real &r) throw() { return _vssdivassign(*this,r); } 00517 00518 INLINE l_ivector operator *(const rvector &rv, const l_interval &s) throw() { return _vsmult<rvector,l_interval,l_ivector>(rv,s); } 00519 INLINE l_ivector operator *(const rvector_slice &sl, const l_interval &s) throw() { return _vssmult<rvector_slice,l_interval,l_ivector>(sl,s); } 00520 INLINE l_ivector operator *(const l_interval &s, const rvector &rv) throw() { return _vsmult<rvector,l_interval,l_ivector>(rv,s); } 00521 INLINE l_ivector operator *(const l_interval &s, const rvector_slice &sl) throw() { return _vssmult<rvector_slice,l_interval,l_ivector>(sl,s); } 00522 00523 INLINE l_ivector operator /(const rvector &rv, const l_interval &s) throw() { return _vsdiv<rvector,l_interval,l_ivector>(rv,s); } 00524 INLINE l_ivector operator /(const rvector_slice &sl, const l_interval &s) throw() { return _vssdiv<rvector_slice,l_interval,l_ivector>(sl,s); } 00525 00526 //---------------------------- l_real -------------------------------------- 00527 00528 INLINE l_ivector operator *(const l_ivector &rv, const l_real &s) throw() { return _vsmult<l_ivector,l_real,l_ivector>(rv,s); } 00529 INLINE l_ivector operator *(const l_ivector_slice &sl, const l_real &s) throw() { return _vssmult<l_ivector_slice,l_real,l_ivector>(sl,s); } 00530 INLINE l_ivector operator *(const l_real &s, const l_ivector &rv) throw() { return _vsmult<l_ivector,l_real,l_ivector>(rv,s); } 00531 INLINE l_ivector operator *(const l_real &s, const l_ivector_slice &sl) throw() { return _vssmult<l_ivector_slice,l_real,l_ivector>(sl,s); } 00532 INLINE l_ivector &operator *=(l_ivector &rv,const l_real &r) throw() { return _vsmultassign(rv,r); } 00533 INLINE l_ivector_slice &l_ivector_slice::operator *=(const l_real &r) throw() { return _vssmultassign(*this,r); } 00534 00535 INLINE l_ivector operator /(const l_ivector &rv, const l_real &s) throw() { return _vsdiv<l_ivector,l_real,l_ivector>(rv,s); } 00536 INLINE l_ivector operator /(const l_ivector_slice &sl, const l_real &s) throw() { return _vssdiv<l_ivector_slice,l_real,l_ivector>(sl,s); } 00537 INLINE l_ivector &operator /=(l_ivector &rv,const l_real &r) throw() { return _vsdivassign(rv,r); } 00538 INLINE l_ivector_slice &l_ivector_slice::operator /=(const l_real &r) throw() { return _vssdivassign(*this,r); } 00539 00540 INLINE l_ivector operator *(const l_rvector &rv, const l_interval &s) throw() { return _vsmult<l_rvector,l_interval,l_ivector>(rv,s); } 00541 INLINE l_ivector operator *(const l_rvector_slice &sl, const l_interval &s) throw() { return _vssmult<l_rvector_slice,l_interval,l_ivector>(sl,s); } 00542 INLINE l_ivector operator *(const l_interval &s, const l_rvector &rv) throw() { return _vsmult<l_rvector,l_interval,l_ivector>(rv,s); } 00543 INLINE l_ivector operator *(const l_interval &s, const l_rvector_slice &sl) throw() { return _vssmult<l_rvector_slice,l_interval,l_ivector>(sl,s); } 00544 00545 INLINE l_ivector operator /(const l_rvector &rv, const l_interval &s) throw() { return _vsdiv<l_rvector,l_interval,l_ivector>(rv,s); } 00546 INLINE l_ivector operator /(const l_rvector_slice &sl, const l_interval &s) throw() { return _vssdiv<l_rvector_slice,l_interval,l_ivector>(sl,s); } 00547 00548 //---------------------------- interval -------------------------------------- 00549 00550 INLINE l_ivector operator *(const l_ivector &rv, const interval &s) throw() { return _vsmult<l_ivector,interval,l_ivector>(rv,s); } 00551 INLINE l_ivector operator *(const l_ivector_slice &sl, const interval &s) throw() { return _vssmult<l_ivector_slice,interval,l_ivector>(sl,s); } 00552 INLINE l_ivector operator *(const interval &s, const l_ivector &rv) throw() { return _vsmult<l_ivector,interval,l_ivector>(rv,s); } 00553 INLINE l_ivector operator *(const interval &s, const l_ivector_slice &sl) throw() { return _vssmult<l_ivector_slice,interval,l_ivector>(sl,s); } 00554 INLINE l_ivector &operator *=(l_ivector &rv,const interval &r) throw() { return _vsmultassign(rv,r); } 00555 INLINE l_ivector_slice &l_ivector_slice::operator *=(const interval &r) throw() { return _vssmultassign(*this,r); } 00556 00557 INLINE l_ivector operator /(const l_ivector &rv, const interval &s) throw() { return _vsdiv<l_ivector,interval,l_ivector>(rv,s); } 00558 INLINE l_ivector operator /(const l_ivector_slice &sl, const interval &s) throw() { return _vssdiv<l_ivector_slice,interval,l_ivector>(sl,s); } 00559 INLINE l_ivector &operator /=(l_ivector &rv,const interval &r) throw() { return _vsdivassign(rv,r); } 00560 INLINE l_ivector_slice &l_ivector_slice::operator /=(const interval &r) throw() { return _vssdivassign(*this,r); } 00561 00562 INLINE l_ivector operator *(const ivector &rv, const l_interval &s) throw() { return _vsmult<ivector,l_interval,l_ivector>(rv,s); } 00563 INLINE l_ivector operator *(const ivector_slice &sl, const l_interval &s) throw() { return _vssmult<ivector_slice,l_interval,l_ivector>(sl,s); } 00564 INLINE l_ivector operator *(const l_interval &s, const ivector &rv) throw() { return _vsmult<ivector,l_interval,l_ivector>(rv,s); } 00565 INLINE l_ivector operator *(const l_interval &s, const ivector_slice &sl) throw() { return _vssmult<ivector_slice,l_interval,l_ivector>(sl,s); } 00566 00567 INLINE l_ivector operator /(const ivector &rv, const l_interval &s) throw() { return _vsdiv<ivector,l_interval,l_ivector>(rv,s); } 00568 INLINE l_ivector operator /(const ivector_slice &sl, const l_interval &s) throw() { return _vssdiv<ivector_slice,l_interval,l_ivector>(sl,s); } 00569 00570 //======================= Vector / Vector =============================== 00571 00572 00573 INLINE std::ostream &operator <<(std::ostream &s, const l_ivector &rv) throw() { return _vout(s,rv); } 00574 INLINE std::ostream &operator <<(std::ostream &o, const l_ivector_slice &sl) throw() { return _vsout(o,sl); } 00575 INLINE std::istream &operator >>(std::istream &s, l_ivector &rv) throw() { return _vin(s,rv); } 00576 INLINE std::istream &operator >>(std::istream &s, l_ivector_slice &rv) throw() { return _vsin(s,rv); } 00577 00578 //----------------------- l_interval / l_interval --------------------------- 00579 INLINE l_ivector & l_ivector::operator =(const l_ivector_slice &sl) throw() { return _vvsassign<l_ivector,l_ivector_slice,l_interval>(*this,sl); } 00580 00581 INLINE void accumulate(idotprecision &dp, const l_ivector & rv1, const l_ivector &rv2) 00582 #if(CXSC_INDEX_CHECK) 00583 throw(OP_WITH_WRONG_DIM) 00584 #else 00585 throw() 00586 #endif 00587 { _vvaccu(dp,rv1,rv2); } 00588 INLINE void accumulate(idotprecision &dp, const l_ivector_slice & sl, const l_ivector &rv) 00589 #if(CXSC_INDEX_CHECK) 00590 throw(OP_WITH_WRONG_DIM) 00591 #else 00592 throw() 00593 #endif 00594 { _vsvaccu(dp,sl,rv); } 00595 INLINE void accumulate(idotprecision &dp, const l_ivector &rv, const l_ivector_slice &sl) 00596 #if(CXSC_INDEX_CHECK) 00597 throw(OP_WITH_WRONG_DIM) 00598 #else 00599 throw() 00600 #endif 00601 { _vsvaccu(dp,sl,rv); } 00602 INLINE void accumulate(idotprecision &dp, const l_ivector & rv1, const l_imatrix_subv &rv2) 00603 #if(CXSC_INDEX_CHECK) 00604 throw(OP_WITH_WRONG_DIM) 00605 #else 00606 throw() 00607 #endif 00608 ; 00609 INLINE void accumulate(idotprecision &dp, const l_imatrix_subv & rv1, const l_ivector &rv2) 00610 #if(CXSC_INDEX_CHECK) 00611 throw(OP_WITH_WRONG_DIM) 00612 #else 00613 throw() 00614 #endif 00615 ; 00616 INLINE void accumulate(idotprecision &dp, const l_ivector_slice & sl1, const l_ivector_slice &sl2) 00617 #if(CXSC_INDEX_CHECK) 00618 throw(OP_WITH_WRONG_DIM) 00619 #else 00620 throw() 00621 #endif 00622 { _vsvsaccu(dp,sl1,sl2); } 00623 00624 INLINE l_interval operator *(const l_ivector & rv1, const l_ivector &rv2) 00625 #if(CXSC_INDEX_CHECK) 00626 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00627 #else 00628 throw() 00629 #endif 00630 { return _vvlimult<l_ivector,l_ivector,l_interval>(rv1,rv2); } 00631 INLINE l_interval operator *(const l_ivector_slice &sl, const l_ivector &rv) 00632 #if(CXSC_INDEX_CHECK) 00633 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00634 #else 00635 throw() 00636 #endif 00637 { return _vsvlimult<l_ivector_slice,l_ivector,l_interval>(sl,rv); } 00638 INLINE l_interval operator *(const l_ivector &rv, const l_ivector_slice &sl) 00639 #if(CXSC_INDEX_CHECK) 00640 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00641 #else 00642 throw() 00643 #endif 00644 { return _vsvlimult<l_ivector_slice,l_ivector,l_interval>(sl,rv); } 00645 INLINE l_interval operator *(const l_ivector_slice & sl1, const l_ivector_slice &sl2) 00646 #if(CXSC_INDEX_CHECK) 00647 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00648 #else 00649 throw() 00650 #endif 00651 { return _vsvslimult<l_ivector_slice,l_ivector_slice,l_interval>(sl1,sl2); } 00652 00653 INLINE const l_ivector &operator +(const l_ivector &rv) throw() { return rv; } 00654 INLINE l_ivector operator +(const l_ivector_slice &sl) throw() { return sl; } 00655 INLINE l_ivector operator +(const l_ivector &rv1, const l_ivector &rv2) 00656 #if(CXSC_INDEX_CHECK) 00657 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00658 #else 00659 throw() 00660 #endif 00661 { return _vvplus<l_ivector,l_ivector,l_ivector>(rv1,rv2); } 00662 INLINE l_ivector operator +(const l_ivector &rv, const l_ivector_slice &sl) 00663 #if(CXSC_INDEX_CHECK) 00664 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00665 #else 00666 throw() 00667 #endif 00668 { return _vvsplus<l_ivector,l_ivector_slice,l_ivector>(rv,sl); } 00669 INLINE l_ivector operator +(const l_ivector_slice &sl, const l_ivector &rv) 00670 #if(CXSC_INDEX_CHECK) 00671 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00672 #else 00673 throw() 00674 #endif 00675 { return _vvsplus<l_ivector,l_ivector_slice,l_ivector>(rv,sl); } 00676 INLINE l_ivector operator +(const l_ivector_slice &sl1, const l_ivector_slice &sl2) 00677 #if(CXSC_INDEX_CHECK) 00678 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00679 #else 00680 throw() 00681 #endif 00682 { return _vsvsplus<l_ivector_slice,l_ivector_slice,l_ivector>(sl1,sl2); } 00683 INLINE l_ivector & operator +=(l_ivector &rv1, const l_ivector &rv2) 00684 #if(CXSC_INDEX_CHECK) 00685 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00686 #else 00687 throw() 00688 #endif 00689 { return _vvplusassign(rv1,rv2); } 00690 INLINE l_ivector &operator +=(l_ivector &rv, const l_ivector_slice &sl) 00691 #if(CXSC_INDEX_CHECK) 00692 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00693 #else 00694 throw() 00695 #endif 00696 { return _vvsplusassign(rv,sl); } 00697 INLINE l_ivector_slice &l_ivector_slice::operator +=(const l_ivector &rv) 00698 #if(CXSC_INDEX_CHECK) 00699 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00700 #else 00701 throw() 00702 #endif 00703 { return _vsvplusassign(*this,rv); } 00704 INLINE l_ivector_slice &l_ivector_slice::operator +=(const l_ivector_slice &sl2) 00705 #if(CXSC_INDEX_CHECK) 00706 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00707 #else 00708 throw() 00709 #endif 00710 { return _vsvsplusassign(*this,sl2); } 00711 00712 INLINE l_ivector operator -(const l_ivector &rv) throw() { return _vminus(rv); } 00713 INLINE l_ivector operator -(const l_ivector_slice &sl) throw() { return _vsminus<l_ivector_slice,l_ivector>(sl); } 00714 INLINE l_ivector operator -(const l_ivector &rv1, const l_ivector &rv2) 00715 #if(CXSC_INDEX_CHECK) 00716 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00717 #else 00718 throw() 00719 #endif 00720 { return _vvminus<l_ivector,l_ivector,l_ivector>(rv1,rv2); } 00721 INLINE l_ivector operator -(const l_ivector &rv, const l_ivector_slice &sl) 00722 #if(CXSC_INDEX_CHECK) 00723 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00724 #else 00725 throw() 00726 #endif 00727 { return _vvsminus<l_ivector,l_ivector_slice,l_ivector>(rv,sl); } 00728 INLINE l_ivector operator -(const l_ivector_slice &sl, const l_ivector &rv) 00729 #if(CXSC_INDEX_CHECK) 00730 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00731 #else 00732 throw() 00733 #endif 00734 { return _vsvminus<l_ivector_slice,l_ivector,l_ivector>(sl,rv); } 00735 INLINE l_ivector operator -(const l_ivector_slice &sl1, const l_ivector_slice &sl2) 00736 #if(CXSC_INDEX_CHECK) 00737 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00738 #else 00739 throw() 00740 #endif 00741 { return _vsvsminus<l_ivector_slice,l_ivector_slice,l_ivector>(sl1,sl2); } 00742 INLINE l_ivector & operator -=(l_ivector &rv1, const l_ivector &rv2) 00743 #if(CXSC_INDEX_CHECK) 00744 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00745 #else 00746 throw() 00747 #endif 00748 { return _vvminusassign(rv1,rv2); } 00749 INLINE l_ivector &operator -=(l_ivector &rv, const l_ivector_slice &sl) 00750 #if(CXSC_INDEX_CHECK) 00751 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00752 #else 00753 throw() 00754 #endif 00755 { return _vvsminusassign(rv,sl); } 00756 INLINE l_ivector_slice &l_ivector_slice::operator -=(const l_ivector &rv) 00757 #if(CXSC_INDEX_CHECK) 00758 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00759 #else 00760 throw() 00761 #endif 00762 { return _vsvminusassign(*this,rv); } 00763 INLINE l_ivector_slice &l_ivector_slice::operator -=(const l_ivector_slice &sl2) 00764 #if(CXSC_INDEX_CHECK) 00765 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00766 #else 00767 throw() 00768 #endif 00769 { return _vsvsminusassign(*this,sl2); } 00770 00771 INLINE l_ivector operator |(const l_ivector &rv1, const l_ivector &rv2) 00772 #if(CXSC_INDEX_CHECK) 00773 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00774 #else 00775 throw() 00776 #endif 00777 { return _vvconv<l_ivector,l_ivector,l_ivector>(rv1,rv2); } 00778 INLINE l_ivector operator |(const l_ivector &rv, const l_ivector_slice &sl) 00779 #if(CXSC_INDEX_CHECK) 00780 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00781 #else 00782 throw() 00783 #endif 00784 { return _vvsconv<l_ivector,l_ivector_slice,l_ivector>(rv,sl); } 00785 INLINE l_ivector operator |(const l_ivector_slice &sl, const l_ivector &rv) 00786 #if(CXSC_INDEX_CHECK) 00787 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00788 #else 00789 throw() 00790 #endif 00791 { return _vvsconv<l_ivector,l_ivector_slice,l_ivector>(rv,sl); } 00792 INLINE l_ivector operator |(const l_ivector_slice &sl1, const l_ivector_slice &sl2) 00793 #if(CXSC_INDEX_CHECK) 00794 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00795 #else 00796 throw() 00797 #endif 00798 { return _vsvsconv<l_ivector_slice,l_ivector_slice,l_ivector>(sl1,sl2); } 00799 INLINE l_ivector & operator |=(l_ivector &rv1, const l_ivector &rv2) 00800 #if(CXSC_INDEX_CHECK) 00801 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00802 #else 00803 throw() 00804 #endif 00805 { return _vvconvassign(rv1,rv2); } 00806 INLINE l_ivector &operator |=(l_ivector &rv, const l_ivector_slice &sl) 00807 #if(CXSC_INDEX_CHECK) 00808 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00809 #else 00810 throw() 00811 #endif 00812 { return _vvsconvassign(rv,sl); } 00813 INLINE l_ivector_slice &l_ivector_slice::operator |=(const l_ivector &rv) 00814 #if(CXSC_INDEX_CHECK) 00815 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00816 #else 00817 throw() 00818 #endif 00819 { return _vsvconvassign(*this,rv); } 00820 INLINE l_ivector_slice &l_ivector_slice::operator |=(const l_ivector_slice &sl2) 00821 #if(CXSC_INDEX_CHECK) 00822 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00823 #else 00824 throw() 00825 #endif 00826 { return _vsvsconvassign(*this,sl2); } 00827 00828 INLINE l_ivector operator &(const l_ivector &rv1, const l_ivector &rv2) 00829 #if(CXSC_INDEX_CHECK) 00830 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00831 #else 00832 throw() 00833 #endif 00834 { return _vvsect<l_ivector,l_ivector,l_ivector>(rv1,rv2); } 00835 INLINE l_ivector operator &(const l_ivector &rv, const l_ivector_slice &sl) 00836 #if(CXSC_INDEX_CHECK) 00837 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00838 #else 00839 throw() 00840 #endif 00841 { return _vvssect<l_ivector,l_ivector_slice,l_ivector>(rv,sl); } 00842 INLINE l_ivector operator &(const l_ivector_slice &sl, const l_ivector &rv) 00843 #if(CXSC_INDEX_CHECK) 00844 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00845 #else 00846 throw() 00847 #endif 00848 { return _vvssect<l_ivector,l_ivector_slice,l_ivector>(rv,sl); } 00849 INLINE l_ivector operator &(const l_ivector_slice &sl1, const l_ivector_slice &sl2) 00850 #if(CXSC_INDEX_CHECK) 00851 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00852 #else 00853 throw() 00854 #endif 00855 { return _vsvssect<l_ivector_slice,l_ivector_slice,l_ivector>(sl1,sl2); } 00856 INLINE l_ivector & operator &=(l_ivector &rv1, const l_ivector &rv2) 00857 #if(CXSC_INDEX_CHECK) 00858 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00859 #else 00860 throw() 00861 #endif 00862 { return _vvsectassign(rv1,rv2); } 00863 INLINE l_ivector &operator &=(l_ivector &rv, const l_ivector_slice &sl) 00864 #if(CXSC_INDEX_CHECK) 00865 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00866 #else 00867 throw() 00868 #endif 00869 { return _vvssectassign(rv,sl); } 00870 INLINE l_ivector_slice &l_ivector_slice::operator &=(const l_ivector &rv) 00871 #if(CXSC_INDEX_CHECK) 00872 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00873 #else 00874 throw() 00875 #endif 00876 { return _vsvsectassign(*this,rv); } 00877 INLINE l_ivector_slice &l_ivector_slice::operator &=(const l_ivector_slice &sl2) 00878 #if(CXSC_INDEX_CHECK) 00879 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00880 #else 00881 throw() 00882 #endif 00883 { return _vsvssectassign(*this,sl2); } 00884 00885 INLINE bool operator ==(const l_ivector &rv1, const l_ivector &rv2) throw() { return _vveq(rv1,rv2); } 00886 INLINE bool operator ==(const l_ivector_slice &sl1, const l_ivector_slice &sl2) throw() { return _vsvseq(sl1,sl2); } 00887 INLINE bool operator ==(const l_ivector_slice &sl, const l_ivector &rv) throw() { return _vsveq(sl,rv); } 00888 INLINE bool operator ==(const l_ivector &rv, const l_ivector_slice &sl) throw() { return _vsveq(sl,rv); } 00889 INLINE bool operator !=(const l_ivector &rv1, const l_ivector &rv2) throw() { return _vvneq(rv1,rv2); } 00890 INLINE bool operator !=(const l_ivector_slice &sl1, const l_ivector_slice &sl2) throw() { return _vsvsneq(sl1,sl2); } 00891 INLINE bool operator !=(const l_ivector_slice &sl, const l_ivector &rv) throw() { return _vsvneq(sl,rv); } 00892 INLINE bool operator !=(const l_ivector &rv, const l_ivector_slice &sl) throw() { return _vsvneq(sl,rv); } 00893 INLINE bool operator <(const l_ivector &rv1, const l_ivector &rv2) throw() { return _vvless(rv1,rv2); } 00894 INLINE bool operator <(const l_ivector_slice &sl1, const l_ivector_slice &sl2) throw() { return _vsvsless(sl1,sl2); } 00895 INLINE bool operator < (const l_ivector_slice &sl, const l_ivector &rv) throw() { return _vsvless(sl,rv); } 00896 INLINE bool operator < (const l_ivector &rv, const l_ivector_slice &sl) throw() { return _vvsless(rv,sl); } 00897 INLINE bool operator <=(const l_ivector &rv1, const l_ivector &rv2) throw() { return _vvleq(rv1,rv2); } 00898 INLINE bool operator <=(const l_ivector_slice &sl1, const l_ivector_slice &sl2) throw() { return _vsvsleq(sl1,sl2); } 00899 INLINE bool operator <=(const l_ivector_slice &sl, const l_ivector &rv) throw() { return _vsvleq(sl,rv); } 00900 INLINE bool operator <=(const l_ivector &rv, const l_ivector_slice &sl) throw() { return _vvsleq(rv,sl); } 00901 INLINE bool operator >(const l_ivector &rv1, const l_ivector &rv2) throw() { return _vvless(rv2,rv1); } 00902 INLINE bool operator >(const l_ivector_slice &sl1, const l_ivector_slice &sl2) throw() { return _vsvsless(sl2,sl1); } 00903 INLINE bool operator >(const l_ivector_slice &sl, const l_ivector &rv) throw() { return _vvsless(rv,sl); } 00904 INLINE bool operator >(const l_ivector &rv, const l_ivector_slice &sl) throw() { return _vsvless(sl,rv); } 00905 INLINE bool operator >=(const l_ivector &rv1, const l_ivector &rv2) throw() { return _vvleq(rv2,rv1); } 00906 INLINE bool operator >=(const l_ivector_slice &sl1, const l_ivector_slice &sl2) throw() { return _vsvsleq(sl2,sl1); } 00907 INLINE bool operator >=(const l_ivector_slice &sl, const l_ivector &rv) throw() { return _vvsleq(rv,sl); } 00908 INLINE bool operator >=(const l_ivector &rv, const l_ivector_slice &sl) throw() { return _vsvleq(sl,rv); } 00909 00910 //-------------------------------- l_interval / Real -------------------------------- 00911 00912 INLINE l_ivector &l_ivector::operator =(const rvector &rv) throw() { return _vvassign<l_ivector,rvector,l_interval>(*this,rv); } 00913 INLINE l_ivector &l_ivector::operator =(const real &r) throw() { return _vsassign<l_ivector,real>(*this,r); } 00914 INLINE l_ivector & l_ivector::operator =(const rvector_slice &sl) throw() { return _vvsassign<l_ivector,rvector_slice,l_interval>(*this,sl); } 00915 INLINE l_ivector_slice &l_ivector_slice::operator =(const rvector &rv) 00916 #if(CXSC_INDEX_CHECK) 00917 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00918 #else 00919 throw() 00920 #endif 00921 { return _vsvassign(*this,rv); } 00922 INLINE l_ivector_slice &l_ivector_slice::operator =(const real &r) throw() { return _vssassign<l_ivector_slice,real>(*this,r); } 00923 INLINE l_ivector_slice & l_ivector_slice::operator =(const rvector_slice &sl) 00924 #if(CXSC_INDEX_CHECK) 00925 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 00926 #else 00927 throw() 00928 #endif 00929 { return _vsvsassign(*this,sl); } 00930 00931 INLINE void accumulate(idotprecision &dp, const rvector & rv1, const l_ivector &rv2) 00932 #if(CXSC_INDEX_CHECK) 00933 throw(OP_WITH_WRONG_DIM) 00934 #else 00935 throw() 00936 #endif 00937 { _vvaccu(dp,rv1,rv2); } 00938 INLINE void accumulate(idotprecision &dp, const l_ivector & rv1, const rvector &rv2) 00939 #if(CXSC_INDEX_CHECK) 00940 throw(OP_WITH_WRONG_DIM) 00941 #else 00942 throw() 00943 #endif 00944 { _vvaccu(dp,rv2,rv1); } 00945 INLINE void accumulate(idotprecision &dp, const rvector_slice & sl, const l_ivector &rv) 00946 #if(CXSC_INDEX_CHECK) 00947 throw(OP_WITH_WRONG_DIM) 00948 #else 00949 throw() 00950 #endif 00951 { _vsvaccu(dp,sl,rv); } 00952 INLINE void accumulate(idotprecision &dp,const l_ivector_slice &sl,const rvector &rv) 00953 #if(CXSC_INDEX_CHECK) 00954 throw(OP_WITH_WRONG_DIM) 00955 #else 00956 throw() 00957 #endif 00958 { _vsvaccu(dp,sl,rv); } 00959 INLINE void accumulate(idotprecision &dp, const rvector &rv, const l_ivector_slice &sl) 00960 #if(CXSC_INDEX_CHECK) 00961 throw(OP_WITH_WRONG_DIM) 00962 #else 00963 throw() 00964 #endif 00965 { _vsvaccu(dp,sl,rv); } 00966 INLINE void accumulate(idotprecision &dp, const rvector & rv1, const l_imatrix_subv &rv2) 00967 #if(CXSC_INDEX_CHECK) 00968 throw(OP_WITH_WRONG_DIM) 00969 #else 00970 throw() 00971 #endif 00972 ; 00973 INLINE void accumulate(idotprecision &dp, const l_ivector & rv1, const rmatrix_subv &rv2) 00974 #if(CXSC_INDEX_CHECK) 00975 throw(OP_WITH_WRONG_DIM) 00976 #else 00977 throw() 00978 #endif 00979 ; 00980 INLINE void accumulate(idotprecision &dp,const l_ivector &rv,const rvector_slice &sl) 00981 #if(CXSC_INDEX_CHECK) 00982 throw(OP_WITH_WRONG_DIM) 00983 #else 00984 throw() 00985 #endif 00986 { _vsvaccu(dp,sl,rv); } 00987 INLINE void accumulate(idotprecision &dp, const rmatrix_subv & rv1, const l_ivector &rv2) 00988 #if(CXSC_INDEX_CHECK) 00989 throw(OP_WITH_WRONG_DIM) 00990 #else 00991 throw() 00992 #endif 00993 ; 00994 INLINE void accumulate(idotprecision &dp, const l_imatrix_subv & rv1, const rvector &rv2) 00995 #if(CXSC_INDEX_CHECK) 00996 throw(OP_WITH_WRONG_DIM) 00997 #else 00998 throw() 00999 #endif 01000 ; 01001 INLINE void accumulate(idotprecision &dp, const l_ivector_slice & sl1, const rvector_slice &sl2) 01002 #if(CXSC_INDEX_CHECK) 01003 throw(OP_WITH_WRONG_DIM) 01004 #else 01005 throw() 01006 #endif 01007 { _vsvsaccu(dp,sl2,sl1); } 01008 INLINE void accumulate(idotprecision &dp, const rvector_slice & sl1, const l_ivector_slice &sl2) 01009 #if(CXSC_INDEX_CHECK) 01010 throw(OP_WITH_WRONG_DIM) 01011 #else 01012 throw() 01013 #endif 01014 { _vsvsaccu(dp,sl1,sl2); } 01015 01016 INLINE l_interval operator *(const rvector & rv1, const l_ivector &rv2) 01017 #if(CXSC_INDEX_CHECK) 01018 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01019 #else 01020 throw() 01021 #endif 01022 { return _vvlimult<rvector,l_ivector,l_interval>(rv1,rv2); } 01023 INLINE l_interval operator *(const rvector_slice &sl, const l_ivector &rv) 01024 #if(CXSC_INDEX_CHECK) 01025 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01026 #else 01027 throw() 01028 #endif 01029 { return _vsvlimult<rvector_slice,l_ivector,l_interval>(sl,rv); } 01030 INLINE l_interval operator *(const rvector &rv, const l_ivector_slice &sl) 01031 #if(CXSC_INDEX_CHECK) 01032 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01033 #else 01034 throw() 01035 #endif 01036 { return _vsvlimult<l_ivector_slice,rvector,l_interval>(sl,rv); } 01037 INLINE l_interval operator *(const rvector_slice & sl1, const l_ivector_slice &sl2) 01038 #if(CXSC_INDEX_CHECK) 01039 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01040 #else 01041 throw() 01042 #endif 01043 { return _vsvslimult<rvector_slice,l_ivector_slice,l_interval>(sl1,sl2); } 01044 01045 INLINE l_interval operator *(const l_ivector & rv1, const rvector &rv2) 01046 #if(CXSC_INDEX_CHECK) 01047 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01048 #else 01049 throw() 01050 #endif 01051 { return _vvlimult<rvector,l_ivector,l_interval>(rv2,rv1); } 01052 INLINE l_interval operator *(const l_ivector_slice &sl, const rvector &rv) 01053 #if(CXSC_INDEX_CHECK) 01054 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01055 #else 01056 throw() 01057 #endif 01058 { return _vsvlimult<l_ivector_slice,rvector,l_interval>(sl,rv); } 01059 INLINE l_interval operator *(const l_ivector &rv, const rvector_slice &sl) 01060 #if(CXSC_INDEX_CHECK) 01061 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01062 #else 01063 throw() 01064 #endif 01065 { return _vsvlimult<rvector_slice,l_ivector,l_interval>(sl,rv); } 01066 INLINE l_interval operator *(const l_ivector_slice & sl1, const rvector_slice &sl2) 01067 #if(CXSC_INDEX_CHECK) 01068 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01069 #else 01070 throw() 01071 #endif 01072 { return _vsvslimult<rvector_slice,l_ivector_slice,l_interval>(sl2,sl1); } 01073 01074 INLINE l_ivector operator +(const rvector &rv1, const l_ivector &rv2) 01075 #if(CXSC_INDEX_CHECK) 01076 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01077 #else 01078 throw() 01079 #endif 01080 { return _vvplus<rvector,l_ivector,l_ivector>(rv1,rv2); } 01081 INLINE l_ivector operator +(const rvector &rv, const l_ivector_slice &sl) 01082 #if(CXSC_INDEX_CHECK) 01083 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01084 #else 01085 throw() 01086 #endif 01087 { return _vvsplus<rvector,l_ivector_slice,l_ivector>(rv,sl); } 01088 INLINE l_ivector operator +(const rvector_slice &sl, const l_ivector &rv) 01089 #if(CXSC_INDEX_CHECK) 01090 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01091 #else 01092 throw() 01093 #endif 01094 { return _vvsplus<l_ivector,rvector_slice,l_ivector>(rv,sl); } 01095 INLINE l_ivector operator +(const rvector_slice &sl1, const l_ivector_slice &sl2) 01096 #if(CXSC_INDEX_CHECK) 01097 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01098 #else 01099 throw() 01100 #endif 01101 { return _vsvsplus<rvector_slice,l_ivector_slice,l_ivector>(sl1,sl2); } 01102 01103 INLINE l_ivector operator +(const l_ivector &rv1, const rvector &rv2) 01104 #if(CXSC_INDEX_CHECK) 01105 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01106 #else 01107 throw() 01108 #endif 01109 { return _vvplus<rvector,l_ivector,l_ivector>(rv2,rv1); } 01110 INLINE l_ivector operator +(const l_ivector &rv, const rvector_slice &sl) 01111 #if(CXSC_INDEX_CHECK) 01112 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01113 #else 01114 throw() 01115 #endif 01116 { return _vvsplus<l_ivector,rvector_slice,l_ivector>(rv,sl); } 01117 INLINE l_ivector operator +(const l_ivector_slice &sl, const rvector &rv) 01118 #if(CXSC_INDEX_CHECK) 01119 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01120 #else 01121 throw() 01122 #endif 01123 { return _vvsplus<rvector,l_ivector_slice,l_ivector>(rv,sl); } 01124 INLINE l_ivector operator +(const l_ivector_slice &sl1, const rvector_slice &sl2) 01125 #if(CXSC_INDEX_CHECK) 01126 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01127 #else 01128 throw() 01129 #endif 01130 { return _vsvsplus<rvector_slice,l_ivector_slice,l_ivector>(sl2,sl1); } 01131 01132 INLINE l_ivector & operator +=(l_ivector &rv1, const rvector &rv2) 01133 #if(CXSC_INDEX_CHECK) 01134 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01135 #else 01136 throw() 01137 #endif 01138 { return _vvplusassign(rv1,rv2); } 01139 INLINE l_ivector &operator +=(l_ivector &rv, const rvector_slice &sl) 01140 #if(CXSC_INDEX_CHECK) 01141 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01142 #else 01143 throw() 01144 #endif 01145 { return _vvsplusassign(rv,sl); } 01146 INLINE l_ivector_slice &l_ivector_slice::operator +=(const rvector &rv) 01147 #if(CXSC_INDEX_CHECK) 01148 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01149 #else 01150 throw() 01151 #endif 01152 { return _vsvplusassign(*this,rv); } 01153 INLINE l_ivector_slice &l_ivector_slice::operator +=(const rvector_slice &sl2) 01154 #if(CXSC_INDEX_CHECK) 01155 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01156 #else 01157 throw() 01158 #endif 01159 { return _vsvsplusassign(*this,sl2); } 01160 01161 INLINE l_ivector operator -(const rvector &rv1, const l_ivector &rv2) 01162 #if(CXSC_INDEX_CHECK) 01163 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01164 #else 01165 throw() 01166 #endif 01167 { return _vvminus<rvector,l_ivector,l_ivector>(rv1,rv2); } 01168 INLINE l_ivector operator -(const rvector &rv, const l_ivector_slice &sl) 01169 #if(CXSC_INDEX_CHECK) 01170 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01171 #else 01172 throw() 01173 #endif 01174 { return _vvsminus<rvector,l_ivector_slice,l_ivector>(rv,sl); } 01175 INLINE l_ivector operator -(const rvector_slice &sl, const l_ivector &rv) 01176 #if(CXSC_INDEX_CHECK) 01177 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01178 #else 01179 throw() 01180 #endif 01181 { return _vsvminus<rvector_slice,l_ivector,l_ivector>(sl,rv); } 01182 INLINE l_ivector operator -(const rvector_slice &sl1, const l_ivector_slice &sl2) 01183 #if(CXSC_INDEX_CHECK) 01184 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01185 #else 01186 throw() 01187 #endif 01188 { return _vsvsminus<rvector_slice,l_ivector_slice,l_ivector>(sl1,sl2); } 01189 01190 INLINE l_ivector operator -(const l_ivector &rv1, const rvector &rv2) 01191 #if(CXSC_INDEX_CHECK) 01192 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01193 #else 01194 throw() 01195 #endif 01196 { return _vvminus<l_ivector,rvector,l_ivector>(rv1,rv2); } 01197 INLINE l_ivector operator -(const l_ivector &rv, const rvector_slice &sl) 01198 #if(CXSC_INDEX_CHECK) 01199 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01200 #else 01201 throw() 01202 #endif 01203 { return _vvsminus<l_ivector,rvector_slice,l_ivector>(rv,sl); } 01204 INLINE l_ivector operator -(const l_ivector_slice &sl, const rvector &rv) 01205 #if(CXSC_INDEX_CHECK) 01206 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01207 #else 01208 throw() 01209 #endif 01210 { return _vsvminus<l_ivector_slice,rvector,l_ivector>(sl,rv); } 01211 INLINE l_ivector operator -(const l_ivector_slice &sl1, const rvector_slice &sl2) 01212 #if(CXSC_INDEX_CHECK) 01213 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01214 #else 01215 throw() 01216 #endif 01217 { return _vsvsminus<l_ivector_slice,rvector_slice,l_ivector>(sl1,sl2); } 01218 01219 INLINE l_ivector & operator -=(l_ivector &rv1, const rvector &rv2) 01220 #if(CXSC_INDEX_CHECK) 01221 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01222 #else 01223 throw() 01224 #endif 01225 { return _vvminusassign(rv1,rv2); } 01226 INLINE l_ivector &operator -=(l_ivector &rv, const rvector_slice &sl) 01227 #if(CXSC_INDEX_CHECK) 01228 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01229 #else 01230 throw() 01231 #endif 01232 { return _vvsminusassign(rv,sl); } 01233 INLINE l_ivector_slice &l_ivector_slice::operator -=(const rvector &rv) 01234 #if(CXSC_INDEX_CHECK) 01235 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01236 #else 01237 throw() 01238 #endif 01239 { return _vsvminusassign(*this,rv); } 01240 INLINE l_ivector_slice &l_ivector_slice::operator -=(const rvector_slice &sl2) 01241 #if(CXSC_INDEX_CHECK) 01242 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01243 #else 01244 throw() 01245 #endif 01246 { return _vsvsminusassign(*this,sl2); } 01247 01248 INLINE l_ivector operator |(const rvector &rv1, const l_ivector &rv2) 01249 #if(CXSC_INDEX_CHECK) 01250 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01251 #else 01252 throw() 01253 #endif 01254 { return _vvconv<rvector,l_ivector,l_ivector>(rv1,rv2); } 01255 INLINE l_ivector operator |(const rvector &rv, const l_ivector_slice &sl) 01256 #if(CXSC_INDEX_CHECK) 01257 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01258 #else 01259 throw() 01260 #endif 01261 { return _vvsconv<rvector,l_ivector_slice,l_ivector>(rv,sl); } 01262 INLINE l_ivector operator |(const rvector_slice &sl, const l_ivector &rv) 01263 #if(CXSC_INDEX_CHECK) 01264 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01265 #else 01266 throw() 01267 #endif 01268 { return _vvsconv<l_ivector,rvector_slice,l_ivector>(rv,sl); } 01269 INLINE l_ivector operator |(const rvector_slice &sl1, const l_ivector_slice &sl2) 01270 #if(CXSC_INDEX_CHECK) 01271 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01272 #else 01273 throw() 01274 #endif 01275 { return _vsvsconv<rvector_slice,l_ivector_slice,l_ivector>(sl1,sl2); } 01276 01277 INLINE l_ivector operator |(const l_ivector &rv1, const rvector &rv2) 01278 #if(CXSC_INDEX_CHECK) 01279 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01280 #else 01281 throw() 01282 #endif 01283 { return _vvconv<rvector,l_ivector,l_ivector>(rv2,rv1); } 01284 INLINE l_ivector operator |(const l_ivector &rv, const rvector_slice &sl) 01285 #if(CXSC_INDEX_CHECK) 01286 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01287 #else 01288 throw() 01289 #endif 01290 { return _vvsconv<l_ivector,rvector_slice,l_ivector>(rv,sl); } 01291 INLINE l_ivector operator |(const l_ivector_slice &sl, const rvector &rv) 01292 #if(CXSC_INDEX_CHECK) 01293 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01294 #else 01295 throw() 01296 #endif 01297 { return _vvsconv<rvector,l_ivector_slice,l_ivector>(rv,sl); } 01298 INLINE l_ivector operator |(const l_ivector_slice &sl1, const rvector_slice &sl2) 01299 #if(CXSC_INDEX_CHECK) 01300 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01301 #else 01302 throw() 01303 #endif 01304 { return _vsvsconv<rvector_slice,l_ivector_slice,l_ivector>(sl2,sl1); } 01305 01306 INLINE l_ivector & operator |=(l_ivector &rv1, const rvector &rv2) 01307 #if(CXSC_INDEX_CHECK) 01308 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01309 #else 01310 throw() 01311 #endif 01312 { return _vvconvassign(rv1,rv2); } 01313 INLINE l_ivector &operator |=(l_ivector &rv, const rvector_slice &sl) 01314 #if(CXSC_INDEX_CHECK) 01315 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01316 #else 01317 throw() 01318 #endif 01319 { return _vvsconvassign(rv,sl); } 01320 INLINE l_ivector_slice &l_ivector_slice::operator |=(const rvector &rv) 01321 #if(CXSC_INDEX_CHECK) 01322 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01323 #else 01324 throw() 01325 #endif 01326 { return _vsvconvassign(*this,rv); } 01327 INLINE l_ivector_slice &l_ivector_slice::operator |=(const rvector_slice &sl2) 01328 #if(CXSC_INDEX_CHECK) 01329 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01330 #else 01331 throw() 01332 #endif 01333 { return _vsvsconvassign(*this,sl2); } 01334 01335 INLINE l_ivector operator &(const rvector &rv1, const l_ivector &rv2) 01336 #if(CXSC_INDEX_CHECK) 01337 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01338 #else 01339 throw() 01340 #endif 01341 { return _vvsect<rvector,l_ivector,l_ivector>(rv1,rv2); } 01342 INLINE l_ivector operator &(const rvector &rv, const l_ivector_slice &sl) 01343 #if(CXSC_INDEX_CHECK) 01344 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01345 #else 01346 throw() 01347 #endif 01348 { return _vvssect<rvector,l_ivector_slice,l_ivector>(rv,sl); } 01349 INLINE l_ivector operator &(const rvector_slice &sl, const l_ivector &rv) 01350 #if(CXSC_INDEX_CHECK) 01351 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01352 #else 01353 throw() 01354 #endif 01355 { return _vvssect<l_ivector,rvector_slice,l_ivector>(rv,sl); } 01356 INLINE l_ivector operator &(const rvector_slice &sl1, const l_ivector_slice &sl2) 01357 #if(CXSC_INDEX_CHECK) 01358 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01359 #else 01360 throw() 01361 #endif 01362 { return _vsvssect<rvector_slice,l_ivector_slice,l_ivector>(sl1,sl2); } 01363 01364 INLINE l_ivector operator &(const l_ivector &rv1, const rvector &rv2) 01365 #if(CXSC_INDEX_CHECK) 01366 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01367 #else 01368 throw() 01369 #endif 01370 { return _vvsect<rvector,l_ivector,l_ivector>(rv2,rv1); } 01371 INLINE l_ivector operator &(const l_ivector &rv, const rvector_slice &sl) 01372 #if(CXSC_INDEX_CHECK) 01373 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01374 #else 01375 throw() 01376 #endif 01377 { return _vvssect<l_ivector,rvector_slice,l_ivector>(rv,sl); } 01378 INLINE l_ivector operator &(const l_ivector_slice &sl, const rvector &rv) 01379 #if(CXSC_INDEX_CHECK) 01380 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01381 #else 01382 throw() 01383 #endif 01384 { return _vvssect<rvector,l_ivector_slice,l_ivector>(rv,sl); } 01385 INLINE l_ivector operator &(const l_ivector_slice &sl1, const rvector_slice &sl2) 01386 #if(CXSC_INDEX_CHECK) 01387 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01388 #else 01389 throw() 01390 #endif 01391 { return _vsvssect<rvector_slice,l_ivector_slice,l_ivector>(sl2,sl1); } 01392 01393 INLINE l_ivector & operator &=(l_ivector &rv1, const rvector &rv2) 01394 #if(CXSC_INDEX_CHECK) 01395 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01396 #else 01397 throw() 01398 #endif 01399 { return _vvsectassign(rv1,rv2); } 01400 INLINE l_ivector &operator &=(l_ivector &rv, const rvector_slice &sl) 01401 #if(CXSC_INDEX_CHECK) 01402 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01403 #else 01404 throw() 01405 #endif 01406 { return _vvssectassign(rv,sl); } 01407 INLINE l_ivector_slice &l_ivector_slice::operator &=(const rvector &rv) 01408 #if(CXSC_INDEX_CHECK) 01409 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01410 #else 01411 throw() 01412 #endif 01413 { return _vsvsectassign(*this,rv); } 01414 INLINE l_ivector_slice &l_ivector_slice::operator &=(const rvector_slice &sl2) 01415 #if(CXSC_INDEX_CHECK) 01416 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01417 #else 01418 throw() 01419 #endif 01420 { return _vsvssectassign(*this,sl2); } 01421 01422 //-------------------------------- l_interval / l_real -------------------------------- 01423 01424 INLINE l_ivector &l_ivector::operator =(const l_rvector &rv) throw() { return _vvassign<l_ivector,l_rvector,l_interval>(*this,rv); } 01425 INLINE l_ivector &l_ivector::operator =(const l_real &r) throw() { return _vsassign<l_ivector,l_real>(*this,r); } 01426 INLINE l_ivector & l_ivector::operator =(const l_rvector_slice &sl) throw() { return _vvsassign<l_ivector,l_rvector_slice,l_interval>(*this,sl); } 01427 INLINE l_ivector_slice &l_ivector_slice::operator =(const l_rvector &rv) 01428 #if(CXSC_INDEX_CHECK) 01429 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01430 #else 01431 throw() 01432 #endif 01433 { return _vsvassign(*this,rv); } 01434 INLINE l_ivector_slice &l_ivector_slice::operator =(const l_real &r) throw() { return _vssassign<l_ivector_slice,l_real>(*this,r); } 01435 INLINE l_ivector_slice & l_ivector_slice::operator =(const l_rvector_slice &sl) 01436 #if(CXSC_INDEX_CHECK) 01437 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01438 #else 01439 throw() 01440 #endif 01441 { return _vsvsassign(*this,sl); } 01442 01443 INLINE void accumulate(idotprecision &dp, const l_rvector & rv1, const l_ivector &rv2) 01444 #if(CXSC_INDEX_CHECK) 01445 throw(OP_WITH_WRONG_DIM) 01446 #else 01447 throw() 01448 #endif 01449 { _vvaccu(dp,rv1,rv2); } 01450 INLINE void accumulate(idotprecision &dp, const l_ivector & rv1, const l_rvector &rv2) 01451 #if(CXSC_INDEX_CHECK) 01452 throw(OP_WITH_WRONG_DIM) 01453 #else 01454 throw() 01455 #endif 01456 { _vvaccu(dp,rv2,rv1); } 01457 INLINE void accumulate(idotprecision &dp, const l_rvector_slice & sl, const l_ivector &rv) 01458 #if(CXSC_INDEX_CHECK) 01459 throw(OP_WITH_WRONG_DIM) 01460 #else 01461 throw() 01462 #endif 01463 { _vsvaccu(dp,sl,rv); } 01464 INLINE void accumulate(idotprecision &dp,const l_ivector_slice &sl,const l_rvector &rv) 01465 #if(CXSC_INDEX_CHECK) 01466 throw(OP_WITH_WRONG_DIM) 01467 #else 01468 throw() 01469 #endif 01470 { _vsvaccu(dp,sl,rv); } 01471 INLINE void accumulate(idotprecision &dp, const l_rvector &rv, const l_ivector_slice &sl) 01472 #if(CXSC_INDEX_CHECK) 01473 throw(OP_WITH_WRONG_DIM) 01474 #else 01475 throw() 01476 #endif 01477 { _vsvaccu(dp,sl,rv); } 01478 INLINE void accumulate(idotprecision &dp, const l_rvector & rv1, const l_imatrix_subv &rv2) 01479 #if(CXSC_INDEX_CHECK) 01480 throw(OP_WITH_WRONG_DIM) 01481 #else 01482 throw() 01483 #endif 01484 ; 01485 INLINE void accumulate(idotprecision &dp, const l_ivector & rv1, const rmatrix_subv &rv2) 01486 #if(CXSC_INDEX_CHECK) 01487 throw(OP_WITH_WRONG_DIM) 01488 #else 01489 throw() 01490 #endif 01491 ; 01492 INLINE void accumulate(idotprecision &dp,const l_ivector &rv,const l_rvector_slice &sl) 01493 #if(CXSC_INDEX_CHECK) 01494 throw(OP_WITH_WRONG_DIM) 01495 #else 01496 throw() 01497 #endif 01498 { _vsvaccu(dp,sl,rv); } 01499 INLINE void accumulate(idotprecision &dp, const rmatrix_subv & rv1, const l_ivector &rv2) 01500 #if(CXSC_INDEX_CHECK) 01501 throw(OP_WITH_WRONG_DIM) 01502 #else 01503 throw() 01504 #endif 01505 ; 01506 INLINE void accumulate(idotprecision &dp, const l_imatrix_subv & rv1, const l_rvector &rv2) 01507 #if(CXSC_INDEX_CHECK) 01508 throw(OP_WITH_WRONG_DIM) 01509 #else 01510 throw() 01511 #endif 01512 ; 01513 INLINE void accumulate(idotprecision &dp, const l_ivector_slice & sl1, const l_rvector_slice &sl2) 01514 #if(CXSC_INDEX_CHECK) 01515 throw(OP_WITH_WRONG_DIM) 01516 #else 01517 throw() 01518 #endif 01519 { _vsvsaccu(dp,sl2,sl1); } 01520 INLINE void accumulate(idotprecision &dp, const l_rvector_slice & sl1, const l_ivector_slice &sl2) 01521 #if(CXSC_INDEX_CHECK) 01522 throw(OP_WITH_WRONG_DIM) 01523 #else 01524 throw() 01525 #endif 01526 { _vsvsaccu(dp,sl1,sl2); } 01527 01528 INLINE l_interval operator *(const l_rvector & rv1, const l_ivector &rv2) 01529 #if(CXSC_INDEX_CHECK) 01530 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01531 #else 01532 throw() 01533 #endif 01534 { return _vvlimult<l_rvector,l_ivector,l_interval>(rv1,rv2); } 01535 INLINE l_interval operator *(const l_rvector_slice &sl, const l_ivector &rv) 01536 #if(CXSC_INDEX_CHECK) 01537 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01538 #else 01539 throw() 01540 #endif 01541 { return _vsvlimult<l_rvector_slice,l_ivector,l_interval>(sl,rv); } 01542 INLINE l_interval operator *(const l_rvector &rv, const l_ivector_slice &sl) 01543 #if(CXSC_INDEX_CHECK) 01544 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01545 #else 01546 throw() 01547 #endif 01548 { return _vsvlimult<l_ivector_slice,l_rvector,l_interval>(sl,rv); } 01549 INLINE l_interval operator *(const l_rvector_slice & sl1, const l_ivector_slice &sl2) 01550 #if(CXSC_INDEX_CHECK) 01551 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01552 #else 01553 throw() 01554 #endif 01555 { return _vsvslimult<l_rvector_slice,l_ivector_slice,l_interval>(sl1,sl2); } 01556 01557 INLINE l_interval operator *(const l_ivector & rv1, const l_rvector &rv2) 01558 #if(CXSC_INDEX_CHECK) 01559 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01560 #else 01561 throw() 01562 #endif 01563 { return _vvlimult<l_rvector,l_ivector,l_interval>(rv2,rv1); } 01564 INLINE l_interval operator *(const l_ivector_slice &sl, const l_rvector &rv) 01565 #if(CXSC_INDEX_CHECK) 01566 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01567 #else 01568 throw() 01569 #endif 01570 { return _vsvlimult<l_ivector_slice,l_rvector,l_interval>(sl,rv); } 01571 INLINE l_interval operator *(const l_ivector &rv, const l_rvector_slice &sl) 01572 #if(CXSC_INDEX_CHECK) 01573 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01574 #else 01575 throw() 01576 #endif 01577 { return _vsvlimult<l_rvector_slice,l_ivector,l_interval>(sl,rv); } 01578 INLINE l_interval operator *(const l_ivector_slice & sl1, const l_rvector_slice &sl2) 01579 #if(CXSC_INDEX_CHECK) 01580 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01581 #else 01582 throw() 01583 #endif 01584 { return _vsvslimult<l_rvector_slice,l_ivector_slice,l_interval>(sl2,sl1); } 01585 01586 INLINE l_ivector operator +(const l_rvector &rv1, const l_ivector &rv2) 01587 #if(CXSC_INDEX_CHECK) 01588 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01589 #else 01590 throw() 01591 #endif 01592 { return _vvplus<l_rvector,l_ivector,l_ivector>(rv1,rv2); } 01593 INLINE l_ivector operator +(const l_rvector &rv, const l_ivector_slice &sl) 01594 #if(CXSC_INDEX_CHECK) 01595 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01596 #else 01597 throw() 01598 #endif 01599 { return _vvsplus<l_rvector,l_ivector_slice,l_ivector>(rv,sl); } 01600 INLINE l_ivector operator +(const l_rvector_slice &sl, const l_ivector &rv) 01601 #if(CXSC_INDEX_CHECK) 01602 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01603 #else 01604 throw() 01605 #endif 01606 { return _vvsplus<l_ivector,l_rvector_slice,l_ivector>(rv,sl); } 01607 INLINE l_ivector operator +(const l_rvector_slice &sl1, const l_ivector_slice &sl2) 01608 #if(CXSC_INDEX_CHECK) 01609 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01610 #else 01611 throw() 01612 #endif 01613 { return _vsvsplus<l_rvector_slice,l_ivector_slice,l_ivector>(sl1,sl2); } 01614 01615 INLINE l_ivector operator +(const l_ivector &rv1, const l_rvector &rv2) 01616 #if(CXSC_INDEX_CHECK) 01617 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01618 #else 01619 throw() 01620 #endif 01621 { return _vvplus<l_rvector,l_ivector,l_ivector>(rv2,rv1); } 01622 INLINE l_ivector operator +(const l_ivector &rv, const l_rvector_slice &sl) 01623 #if(CXSC_INDEX_CHECK) 01624 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01625 #else 01626 throw() 01627 #endif 01628 { return _vvsplus<l_ivector,l_rvector_slice,l_ivector>(rv,sl); } 01629 INLINE l_ivector operator +(const l_ivector_slice &sl, const l_rvector &rv) 01630 #if(CXSC_INDEX_CHECK) 01631 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01632 #else 01633 throw() 01634 #endif 01635 { return _vvsplus<l_rvector,l_ivector_slice,l_ivector>(rv,sl); } 01636 INLINE l_ivector operator +(const l_ivector_slice &sl1, const l_rvector_slice &sl2) 01637 #if(CXSC_INDEX_CHECK) 01638 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01639 #else 01640 throw() 01641 #endif 01642 { return _vsvsplus<l_rvector_slice,l_ivector_slice,l_ivector>(sl2,sl1); } 01643 01644 INLINE l_ivector & operator +=(l_ivector &rv1, const l_rvector &rv2) 01645 #if(CXSC_INDEX_CHECK) 01646 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01647 #else 01648 throw() 01649 #endif 01650 { return _vvplusassign(rv1,rv2); } 01651 INLINE l_ivector &operator +=(l_ivector &rv, const l_rvector_slice &sl) 01652 #if(CXSC_INDEX_CHECK) 01653 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01654 #else 01655 throw() 01656 #endif 01657 { return _vvsplusassign(rv,sl); } 01658 INLINE l_ivector_slice &l_ivector_slice::operator +=(const l_rvector &rv) 01659 #if(CXSC_INDEX_CHECK) 01660 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01661 #else 01662 throw() 01663 #endif 01664 { return _vsvplusassign(*this,rv); } 01665 INLINE l_ivector_slice &l_ivector_slice::operator +=(const l_rvector_slice &sl2) 01666 #if(CXSC_INDEX_CHECK) 01667 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01668 #else 01669 throw() 01670 #endif 01671 { return _vsvsplusassign(*this,sl2); } 01672 01673 INLINE l_ivector operator -(const l_rvector &rv1, const l_ivector &rv2) 01674 #if(CXSC_INDEX_CHECK) 01675 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01676 #else 01677 throw() 01678 #endif 01679 { return _vvminus<l_rvector,l_ivector,l_ivector>(rv1,rv2); } 01680 INLINE l_ivector operator -(const l_rvector &rv, const l_ivector_slice &sl) 01681 #if(CXSC_INDEX_CHECK) 01682 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01683 #else 01684 throw() 01685 #endif 01686 { return _vvsminus<l_rvector,l_ivector_slice,l_ivector>(rv,sl); } 01687 INLINE l_ivector operator -(const l_rvector_slice &sl, const l_ivector &rv) 01688 #if(CXSC_INDEX_CHECK) 01689 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01690 #else 01691 throw() 01692 #endif 01693 { return _vsvminus<l_rvector_slice,l_ivector,l_ivector>(sl,rv); } 01694 INLINE l_ivector operator -(const l_rvector_slice &sl1, const l_ivector_slice &sl2) 01695 #if(CXSC_INDEX_CHECK) 01696 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01697 #else 01698 throw() 01699 #endif 01700 { return _vsvsminus<l_rvector_slice,l_ivector_slice,l_ivector>(sl1,sl2); } 01701 01702 INLINE l_ivector operator -(const l_ivector &rv1, const l_rvector &rv2) 01703 #if(CXSC_INDEX_CHECK) 01704 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01705 #else 01706 throw() 01707 #endif 01708 { return _vvminus<l_ivector,l_rvector,l_ivector>(rv1,rv2); } 01709 INLINE l_ivector operator -(const l_ivector &rv, const l_rvector_slice &sl) 01710 #if(CXSC_INDEX_CHECK) 01711 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01712 #else 01713 throw() 01714 #endif 01715 { return _vvsminus<l_ivector,l_rvector_slice,l_ivector>(rv,sl); } 01716 INLINE l_ivector operator -(const l_ivector_slice &sl, const l_rvector &rv) 01717 #if(CXSC_INDEX_CHECK) 01718 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01719 #else 01720 throw() 01721 #endif 01722 { return _vsvminus<l_ivector_slice,l_rvector,l_ivector>(sl,rv); } 01723 INLINE l_ivector operator -(const l_ivector_slice &sl1, const l_rvector_slice &sl2) 01724 #if(CXSC_INDEX_CHECK) 01725 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01726 #else 01727 throw() 01728 #endif 01729 { return _vsvsminus<l_ivector_slice,l_rvector_slice,l_ivector>(sl1,sl2); } 01730 01731 INLINE l_ivector & operator -=(l_ivector &rv1, const l_rvector &rv2) 01732 #if(CXSC_INDEX_CHECK) 01733 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01734 #else 01735 throw() 01736 #endif 01737 { return _vvminusassign(rv1,rv2); } 01738 INLINE l_ivector &operator -=(l_ivector &rv, const l_rvector_slice &sl) 01739 #if(CXSC_INDEX_CHECK) 01740 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01741 #else 01742 throw() 01743 #endif 01744 { return _vvsminusassign(rv,sl); } 01745 INLINE l_ivector_slice &l_ivector_slice::operator -=(const l_rvector &rv) 01746 #if(CXSC_INDEX_CHECK) 01747 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01748 #else 01749 throw() 01750 #endif 01751 { return _vsvminusassign(*this,rv); } 01752 INLINE l_ivector_slice &l_ivector_slice::operator -=(const l_rvector_slice &sl2) 01753 #if(CXSC_INDEX_CHECK) 01754 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01755 #else 01756 throw() 01757 #endif 01758 { return _vsvsminusassign(*this,sl2); } 01759 01760 INLINE l_ivector operator |(const l_rvector &rv1, const l_ivector &rv2) 01761 #if(CXSC_INDEX_CHECK) 01762 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01763 #else 01764 throw() 01765 #endif 01766 { return _vvconv<l_rvector,l_ivector,l_ivector>(rv1,rv2); } 01767 INLINE l_ivector operator |(const l_rvector &rv, const l_ivector_slice &sl) 01768 #if(CXSC_INDEX_CHECK) 01769 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01770 #else 01771 throw() 01772 #endif 01773 { return _vvsconv<l_rvector,l_ivector_slice,l_ivector>(rv,sl); } 01774 INLINE l_ivector operator |(const l_rvector_slice &sl, const l_ivector &rv) 01775 #if(CXSC_INDEX_CHECK) 01776 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01777 #else 01778 throw() 01779 #endif 01780 { return _vvsconv<l_ivector,l_rvector_slice,l_ivector>(rv,sl); } 01781 INLINE l_ivector operator |(const l_rvector_slice &sl1, const l_ivector_slice &sl2) 01782 #if(CXSC_INDEX_CHECK) 01783 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01784 #else 01785 throw() 01786 #endif 01787 { return _vsvsconv<l_rvector_slice,l_ivector_slice,l_ivector>(sl1,sl2); } 01788 01789 INLINE l_ivector operator |(const l_ivector &rv1, const l_rvector &rv2) 01790 #if(CXSC_INDEX_CHECK) 01791 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01792 #else 01793 throw() 01794 #endif 01795 { return _vvconv<l_rvector,l_ivector,l_ivector>(rv2,rv1); } 01796 INLINE l_ivector operator |(const l_ivector &rv, const l_rvector_slice &sl) 01797 #if(CXSC_INDEX_CHECK) 01798 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01799 #else 01800 throw() 01801 #endif 01802 { return _vvsconv<l_ivector,l_rvector_slice,l_ivector>(rv,sl); } 01803 INLINE l_ivector operator |(const l_ivector_slice &sl, const l_rvector &rv) 01804 #if(CXSC_INDEX_CHECK) 01805 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01806 #else 01807 throw() 01808 #endif 01809 { return _vvsconv<l_rvector,l_ivector_slice,l_ivector>(rv,sl); } 01810 INLINE l_ivector operator |(const l_ivector_slice &sl1, const l_rvector_slice &sl2) 01811 #if(CXSC_INDEX_CHECK) 01812 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01813 #else 01814 throw() 01815 #endif 01816 { return _vsvsconv<l_rvector_slice,l_ivector_slice,l_ivector>(sl2,sl1); } 01817 01818 INLINE l_ivector & operator |=(l_ivector &rv1, const l_rvector &rv2) 01819 #if(CXSC_INDEX_CHECK) 01820 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01821 #else 01822 throw() 01823 #endif 01824 { return _vvconvassign(rv1,rv2); } 01825 INLINE l_ivector &operator |=(l_ivector &rv, const l_rvector_slice &sl) 01826 #if(CXSC_INDEX_CHECK) 01827 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01828 #else 01829 throw() 01830 #endif 01831 { return _vvsconvassign(rv,sl); } 01832 INLINE l_ivector_slice &l_ivector_slice::operator |=(const l_rvector &rv) 01833 #if(CXSC_INDEX_CHECK) 01834 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01835 #else 01836 throw() 01837 #endif 01838 { return _vsvconvassign(*this,rv); } 01839 INLINE l_ivector_slice &l_ivector_slice::operator |=(const l_rvector_slice &sl2) 01840 #if(CXSC_INDEX_CHECK) 01841 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01842 #else 01843 throw() 01844 #endif 01845 { return _vsvsconvassign(*this,sl2); } 01846 01847 INLINE l_ivector operator &(const l_rvector &rv1, const l_ivector &rv2) 01848 #if(CXSC_INDEX_CHECK) 01849 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01850 #else 01851 throw() 01852 #endif 01853 { return _vvsect<l_rvector,l_ivector,l_ivector>(rv1,rv2); } 01854 INLINE l_ivector operator &(const l_rvector &rv, const l_ivector_slice &sl) 01855 #if(CXSC_INDEX_CHECK) 01856 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01857 #else 01858 throw() 01859 #endif 01860 { return _vvssect<l_rvector,l_ivector_slice,l_ivector>(rv,sl); } 01861 INLINE l_ivector operator &(const l_rvector_slice &sl, const l_ivector &rv) 01862 #if(CXSC_INDEX_CHECK) 01863 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01864 #else 01865 throw() 01866 #endif 01867 { return _vvssect<l_ivector,l_rvector_slice,l_ivector>(rv,sl); } 01868 INLINE l_ivector operator &(const l_rvector_slice &sl1, const l_ivector_slice &sl2) 01869 #if(CXSC_INDEX_CHECK) 01870 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01871 #else 01872 throw() 01873 #endif 01874 { return _vsvssect<l_rvector_slice,l_ivector_slice,l_ivector>(sl1,sl2); } 01875 01876 INLINE l_ivector operator &(const l_ivector &rv1, const l_rvector &rv2) 01877 #if(CXSC_INDEX_CHECK) 01878 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01879 #else 01880 throw() 01881 #endif 01882 { return _vvsect<l_rvector,l_ivector,l_ivector>(rv2,rv1); } 01883 INLINE l_ivector operator &(const l_ivector &rv, const l_rvector_slice &sl) 01884 #if(CXSC_INDEX_CHECK) 01885 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01886 #else 01887 throw() 01888 #endif 01889 { return _vvssect<l_ivector,l_rvector_slice,l_ivector>(rv,sl); } 01890 INLINE l_ivector operator &(const l_ivector_slice &sl, const l_rvector &rv) 01891 #if(CXSC_INDEX_CHECK) 01892 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01893 #else 01894 throw() 01895 #endif 01896 { return _vvssect<l_rvector,l_ivector_slice,l_ivector>(rv,sl); } 01897 INLINE l_ivector operator &(const l_ivector_slice &sl1, const l_rvector_slice &sl2) 01898 #if(CXSC_INDEX_CHECK) 01899 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01900 #else 01901 throw() 01902 #endif 01903 { return _vsvssect<l_rvector_slice,l_ivector_slice,l_ivector>(sl2,sl1); } 01904 01905 INLINE l_ivector & operator &=(l_ivector &rv1, const l_rvector &rv2) 01906 #if(CXSC_INDEX_CHECK) 01907 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01908 #else 01909 throw() 01910 #endif 01911 { return _vvsectassign(rv1,rv2); } 01912 INLINE l_ivector &operator &=(l_ivector &rv, const l_rvector_slice &sl) 01913 #if(CXSC_INDEX_CHECK) 01914 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01915 #else 01916 throw() 01917 #endif 01918 { return _vvssectassign(rv,sl); } 01919 INLINE l_ivector_slice &l_ivector_slice::operator &=(const l_rvector &rv) 01920 #if(CXSC_INDEX_CHECK) 01921 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01922 #else 01923 throw() 01924 #endif 01925 { return _vsvsectassign(*this,rv); } 01926 INLINE l_ivector_slice &l_ivector_slice::operator &=(const l_rvector_slice &sl2) 01927 #if(CXSC_INDEX_CHECK) 01928 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01929 #else 01930 throw() 01931 #endif 01932 { return _vsvssectassign(*this,sl2); } 01933 01934 //-------------------------------- l_interval / interval -------------------------------- 01935 01936 INLINE l_ivector &l_ivector::operator =(const ivector &rv) throw() { return _vvassign<l_ivector,ivector,l_interval>(*this,rv); } 01937 INLINE l_ivector &l_ivector::operator =(const interval &r) throw() { return _vsassign<l_ivector,interval>(*this,r); } 01938 INLINE l_ivector & l_ivector::operator =(const ivector_slice &sl) throw() { return _vvsassign<l_ivector,ivector_slice,l_interval>(*this,sl); } 01939 INLINE l_ivector_slice &l_ivector_slice::operator =(const ivector &rv) 01940 #if(CXSC_INDEX_CHECK) 01941 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01942 #else 01943 throw() 01944 #endif 01945 { return _vsvassign(*this,rv); } 01946 INLINE l_ivector_slice &l_ivector_slice::operator =(const interval &r) throw() { return _vssassign<l_ivector_slice,interval>(*this,r); } 01947 INLINE l_ivector_slice & l_ivector_slice::operator =(const ivector_slice &sl) 01948 #if(CXSC_INDEX_CHECK) 01949 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 01950 #else 01951 throw() 01952 #endif 01953 { return _vsvsassign(*this,sl); } 01954 01955 INLINE void accumulate(idotprecision &dp, const ivector & rv1, const l_ivector &rv2) 01956 #if(CXSC_INDEX_CHECK) 01957 throw(OP_WITH_WRONG_DIM) 01958 #else 01959 throw() 01960 #endif 01961 { _vvaccu(dp,rv1,rv2); } 01962 INLINE void accumulate(idotprecision &dp, const l_ivector & rv1, const ivector &rv2) 01963 #if(CXSC_INDEX_CHECK) 01964 throw(OP_WITH_WRONG_DIM) 01965 #else 01966 throw() 01967 #endif 01968 { _vvaccu(dp,rv2,rv1); } 01969 INLINE void accumulate(idotprecision &dp, const ivector_slice & sl, const l_ivector &rv) 01970 #if(CXSC_INDEX_CHECK) 01971 throw(OP_WITH_WRONG_DIM) 01972 #else 01973 throw() 01974 #endif 01975 { _vsvaccu(dp,sl,rv); } 01976 INLINE void accumulate(idotprecision &dp,const l_ivector_slice &sl,const ivector &rv) 01977 #if(CXSC_INDEX_CHECK) 01978 throw(OP_WITH_WRONG_DIM) 01979 #else 01980 throw() 01981 #endif 01982 { _vsvaccu(dp,sl,rv); } 01983 INLINE void accumulate(idotprecision &dp, const ivector &rv, const l_ivector_slice &sl) 01984 #if(CXSC_INDEX_CHECK) 01985 throw(OP_WITH_WRONG_DIM) 01986 #else 01987 throw() 01988 #endif 01989 { _vsvaccu(dp,sl,rv); } 01990 INLINE void accumulate(idotprecision &dp, const ivector & rv1, const l_imatrix_subv &rv2) 01991 #if(CXSC_INDEX_CHECK) 01992 throw(OP_WITH_WRONG_DIM) 01993 #else 01994 throw() 01995 #endif 01996 ; 01997 INLINE void accumulate(idotprecision &dp, const l_ivector & rv1, const rmatrix_subv &rv2) 01998 #if(CXSC_INDEX_CHECK) 01999 throw(OP_WITH_WRONG_DIM) 02000 #else 02001 throw() 02002 #endif 02003 ; 02004 INLINE void accumulate(idotprecision &dp,const l_ivector &rv,const ivector_slice &sl) 02005 #if(CXSC_INDEX_CHECK) 02006 throw(OP_WITH_WRONG_DIM) 02007 #else 02008 throw() 02009 #endif 02010 { _vsvaccu(dp,sl,rv); } 02011 INLINE void accumulate(idotprecision &dp, const rmatrix_subv & rv1, const l_ivector &rv2) 02012 #if(CXSC_INDEX_CHECK) 02013 throw(OP_WITH_WRONG_DIM) 02014 #else 02015 throw() 02016 #endif 02017 ; 02018 INLINE void accumulate(idotprecision &dp, const l_imatrix_subv & rv1, const ivector &rv2) 02019 #if(CXSC_INDEX_CHECK) 02020 throw(OP_WITH_WRONG_DIM) 02021 #else 02022 throw() 02023 #endif 02024 ; 02025 INLINE void accumulate(idotprecision &dp, const l_ivector_slice & sl1, const ivector_slice &sl2) 02026 #if(CXSC_INDEX_CHECK) 02027 throw(OP_WITH_WRONG_DIM) 02028 #else 02029 throw() 02030 #endif 02031 { _vsvsaccu(dp,sl2,sl1); } 02032 INLINE void accumulate(idotprecision &dp, const ivector_slice & sl1, const l_ivector_slice &sl2) 02033 #if(CXSC_INDEX_CHECK) 02034 throw(OP_WITH_WRONG_DIM) 02035 #else 02036 throw() 02037 #endif 02038 { _vsvsaccu(dp,sl1,sl2); } 02039 02040 INLINE l_interval operator *(const ivector & rv1, const l_ivector &rv2) 02041 #if(CXSC_INDEX_CHECK) 02042 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02043 #else 02044 throw() 02045 #endif 02046 { return _vvlimult<ivector,l_ivector,l_interval>(rv1,rv2); } 02047 INLINE l_interval operator *(const ivector_slice &sl, const l_ivector &rv) 02048 #if(CXSC_INDEX_CHECK) 02049 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02050 #else 02051 throw() 02052 #endif 02053 { return _vsvlimult<ivector_slice,l_ivector,l_interval>(sl,rv); } 02054 INLINE l_interval operator *(const ivector &rv, const l_ivector_slice &sl) 02055 #if(CXSC_INDEX_CHECK) 02056 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02057 #else 02058 throw() 02059 #endif 02060 { return _vsvlimult<l_ivector_slice,ivector,l_interval>(sl,rv); } 02061 INLINE l_interval operator *(const ivector_slice & sl1, const l_ivector_slice &sl2) 02062 #if(CXSC_INDEX_CHECK) 02063 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02064 #else 02065 throw() 02066 #endif 02067 { return _vsvslimult<ivector_slice,l_ivector_slice,l_interval>(sl1,sl2); } 02068 02069 INLINE l_interval operator *(const l_ivector & rv1, const ivector &rv2) 02070 #if(CXSC_INDEX_CHECK) 02071 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02072 #else 02073 throw() 02074 #endif 02075 { return _vvlimult<ivector,l_ivector,l_interval>(rv2,rv1); } 02076 INLINE l_interval operator *(const l_ivector_slice &sl, const ivector &rv) 02077 #if(CXSC_INDEX_CHECK) 02078 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02079 #else 02080 throw() 02081 #endif 02082 { return _vsvlimult<l_ivector_slice,ivector,l_interval>(sl,rv); } 02083 INLINE l_interval operator *(const l_ivector &rv, const ivector_slice &sl) 02084 #if(CXSC_INDEX_CHECK) 02085 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02086 #else 02087 throw() 02088 #endif 02089 { return _vsvlimult<ivector_slice,l_ivector,l_interval>(sl,rv); } 02090 INLINE l_interval operator *(const l_ivector_slice & sl1, const ivector_slice &sl2) 02091 #if(CXSC_INDEX_CHECK) 02092 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02093 #else 02094 throw() 02095 #endif 02096 { return _vsvslimult<ivector_slice,l_ivector_slice,l_interval>(sl2,sl1); } 02097 02098 INLINE l_ivector operator +(const ivector &rv1, const l_ivector &rv2) 02099 #if(CXSC_INDEX_CHECK) 02100 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02101 #else 02102 throw() 02103 #endif 02104 { return _vvplus<ivector,l_ivector,l_ivector>(rv1,rv2); } 02105 INLINE l_ivector operator +(const ivector &rv, const l_ivector_slice &sl) 02106 #if(CXSC_INDEX_CHECK) 02107 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02108 #else 02109 throw() 02110 #endif 02111 { return _vvsplus<ivector,l_ivector_slice,l_ivector>(rv,sl); } 02112 INLINE l_ivector operator +(const ivector_slice &sl, const l_ivector &rv) 02113 #if(CXSC_INDEX_CHECK) 02114 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02115 #else 02116 throw() 02117 #endif 02118 { return _vvsplus<l_ivector,ivector_slice,l_ivector>(rv,sl); } 02119 INLINE l_ivector operator +(const ivector_slice &sl1, const l_ivector_slice &sl2) 02120 #if(CXSC_INDEX_CHECK) 02121 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02122 #else 02123 throw() 02124 #endif 02125 { return _vsvsplus<ivector_slice,l_ivector_slice,l_ivector>(sl1,sl2); } 02126 02127 INLINE l_ivector operator +(const l_ivector &rv1, const ivector &rv2) 02128 #if(CXSC_INDEX_CHECK) 02129 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02130 #else 02131 throw() 02132 #endif 02133 { return _vvplus<ivector,l_ivector,l_ivector>(rv2,rv1); } 02134 INLINE l_ivector operator +(const l_ivector &rv, const ivector_slice &sl) 02135 #if(CXSC_INDEX_CHECK) 02136 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02137 #else 02138 throw() 02139 #endif 02140 { return _vvsplus<l_ivector,ivector_slice,l_ivector>(rv,sl); } 02141 INLINE l_ivector operator +(const l_ivector_slice &sl, const ivector &rv) 02142 #if(CXSC_INDEX_CHECK) 02143 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02144 #else 02145 throw() 02146 #endif 02147 { return _vvsplus<ivector,l_ivector_slice,l_ivector>(rv,sl); } 02148 INLINE l_ivector operator +(const l_ivector_slice &sl1, const ivector_slice &sl2) 02149 #if(CXSC_INDEX_CHECK) 02150 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02151 #else 02152 throw() 02153 #endif 02154 { return _vsvsplus<ivector_slice,l_ivector_slice,l_ivector>(sl2,sl1); } 02155 02156 INLINE l_ivector & operator +=(l_ivector &rv1, const ivector &rv2) 02157 #if(CXSC_INDEX_CHECK) 02158 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02159 #else 02160 throw() 02161 #endif 02162 { return _vvplusassign(rv1,rv2); } 02163 INLINE l_ivector &operator +=(l_ivector &rv, const ivector_slice &sl) 02164 #if(CXSC_INDEX_CHECK) 02165 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02166 #else 02167 throw() 02168 #endif 02169 { return _vvsplusassign(rv,sl); } 02170 INLINE l_ivector_slice &l_ivector_slice::operator +=(const ivector &rv) 02171 #if(CXSC_INDEX_CHECK) 02172 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02173 #else 02174 throw() 02175 #endif 02176 { return _vsvplusassign(*this,rv); } 02177 INLINE l_ivector_slice &l_ivector_slice::operator +=(const ivector_slice &sl2) 02178 #if(CXSC_INDEX_CHECK) 02179 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02180 #else 02181 throw() 02182 #endif 02183 { return _vsvsplusassign(*this,sl2); } 02184 02185 INLINE l_ivector operator -(const ivector &rv1, const l_ivector &rv2) 02186 #if(CXSC_INDEX_CHECK) 02187 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02188 #else 02189 throw() 02190 #endif 02191 { return _vvminus<ivector,l_ivector,l_ivector>(rv1,rv2); } 02192 INLINE l_ivector operator -(const ivector &rv, const l_ivector_slice &sl) 02193 #if(CXSC_INDEX_CHECK) 02194 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02195 #else 02196 throw() 02197 #endif 02198 { return _vvsminus<ivector,l_ivector_slice,l_ivector>(rv,sl); } 02199 INLINE l_ivector operator -(const ivector_slice &sl, const l_ivector &rv) 02200 #if(CXSC_INDEX_CHECK) 02201 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02202 #else 02203 throw() 02204 #endif 02205 { return _vsvminus<ivector_slice,l_ivector,l_ivector>(sl,rv); } 02206 INLINE l_ivector operator -(const ivector_slice &sl1, const l_ivector_slice &sl2) 02207 #if(CXSC_INDEX_CHECK) 02208 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02209 #else 02210 throw() 02211 #endif 02212 { return _vsvsminus<ivector_slice,l_ivector_slice,l_ivector>(sl1,sl2); } 02213 02214 INLINE l_ivector operator -(const l_ivector &rv1, const ivector &rv2) 02215 #if(CXSC_INDEX_CHECK) 02216 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02217 #else 02218 throw() 02219 #endif 02220 { return _vvminus<l_ivector,ivector,l_ivector>(rv1,rv2); } 02221 INLINE l_ivector operator -(const l_ivector &rv, const ivector_slice &sl) 02222 #if(CXSC_INDEX_CHECK) 02223 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02224 #else 02225 throw() 02226 #endif 02227 { return _vvsminus<l_ivector,ivector_slice,l_ivector>(rv,sl); } 02228 INLINE l_ivector operator -(const l_ivector_slice &sl, const ivector &rv) 02229 #if(CXSC_INDEX_CHECK) 02230 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02231 #else 02232 throw() 02233 #endif 02234 { return _vsvminus<l_ivector_slice,ivector,l_ivector>(sl,rv); } 02235 INLINE l_ivector operator -(const l_ivector_slice &sl1, const ivector_slice &sl2) 02236 #if(CXSC_INDEX_CHECK) 02237 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02238 #else 02239 throw() 02240 #endif 02241 { return _vsvsminus<l_ivector_slice,ivector_slice,l_ivector>(sl1,sl2); } 02242 02243 INLINE l_ivector & operator -=(l_ivector &rv1, const ivector &rv2) 02244 #if(CXSC_INDEX_CHECK) 02245 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02246 #else 02247 throw() 02248 #endif 02249 { return _vvminusassign(rv1,rv2); } 02250 INLINE l_ivector &operator -=(l_ivector &rv, const ivector_slice &sl) 02251 #if(CXSC_INDEX_CHECK) 02252 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02253 #else 02254 throw() 02255 #endif 02256 { return _vvsminusassign(rv,sl); } 02257 INLINE l_ivector_slice &l_ivector_slice::operator -=(const ivector &rv) 02258 #if(CXSC_INDEX_CHECK) 02259 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02260 #else 02261 throw() 02262 #endif 02263 { return _vsvminusassign(*this,rv); } 02264 INLINE l_ivector_slice &l_ivector_slice::operator -=(const ivector_slice &sl2) 02265 #if(CXSC_INDEX_CHECK) 02266 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02267 #else 02268 throw() 02269 #endif 02270 { return _vsvsminusassign(*this,sl2); } 02271 02272 INLINE l_ivector operator |(const ivector &rv1, const l_ivector &rv2) 02273 #if(CXSC_INDEX_CHECK) 02274 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02275 #else 02276 throw() 02277 #endif 02278 { return _vvconv<ivector,l_ivector,l_ivector>(rv1,rv2); } 02279 INLINE l_ivector operator |(const ivector &rv, const l_ivector_slice &sl) 02280 #if(CXSC_INDEX_CHECK) 02281 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02282 #else 02283 throw() 02284 #endif 02285 { return _vvsconv<ivector,l_ivector_slice,l_ivector>(rv,sl); } 02286 INLINE l_ivector operator |(const ivector_slice &sl, const l_ivector &rv) 02287 #if(CXSC_INDEX_CHECK) 02288 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02289 #else 02290 throw() 02291 #endif 02292 { return _vvsconv<l_ivector,ivector_slice,l_ivector>(rv,sl); } 02293 INLINE l_ivector operator |(const ivector_slice &sl1, const l_ivector_slice &sl2) 02294 #if(CXSC_INDEX_CHECK) 02295 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02296 #else 02297 throw() 02298 #endif 02299 { return _vsvsconv<ivector_slice,l_ivector_slice,l_ivector>(sl1,sl2); } 02300 02301 INLINE l_ivector operator |(const l_ivector &rv1, const ivector &rv2) 02302 #if(CXSC_INDEX_CHECK) 02303 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02304 #else 02305 throw() 02306 #endif 02307 { return _vvconv<ivector,l_ivector,l_ivector>(rv2,rv1); } 02308 INLINE l_ivector operator |(const l_ivector &rv, const ivector_slice &sl) 02309 #if(CXSC_INDEX_CHECK) 02310 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02311 #else 02312 throw() 02313 #endif 02314 { return _vvsconv<l_ivector,ivector_slice,l_ivector>(rv,sl); } 02315 INLINE l_ivector operator |(const l_ivector_slice &sl, const ivector &rv) 02316 #if(CXSC_INDEX_CHECK) 02317 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02318 #else 02319 throw() 02320 #endif 02321 { return _vvsconv<ivector,l_ivector_slice,l_ivector>(rv,sl); } 02322 INLINE l_ivector operator |(const l_ivector_slice &sl1, const ivector_slice &sl2) 02323 #if(CXSC_INDEX_CHECK) 02324 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02325 #else 02326 throw() 02327 #endif 02328 { return _vsvsconv<ivector_slice,l_ivector_slice,l_ivector>(sl2,sl1); } 02329 02330 INLINE l_ivector & operator |=(l_ivector &rv1, const ivector &rv2) 02331 #if(CXSC_INDEX_CHECK) 02332 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02333 #else 02334 throw() 02335 #endif 02336 { return _vvconvassign(rv1,rv2); } 02337 INLINE l_ivector &operator |=(l_ivector &rv, const ivector_slice &sl) 02338 #if(CXSC_INDEX_CHECK) 02339 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02340 #else 02341 throw() 02342 #endif 02343 { return _vvsconvassign(rv,sl); } 02344 INLINE l_ivector_slice &l_ivector_slice::operator |=(const ivector &rv) 02345 #if(CXSC_INDEX_CHECK) 02346 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02347 #else 02348 throw() 02349 #endif 02350 { return _vsvconvassign(*this,rv); } 02351 INLINE l_ivector_slice &l_ivector_slice::operator |=(const ivector_slice &sl2) 02352 #if(CXSC_INDEX_CHECK) 02353 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02354 #else 02355 throw() 02356 #endif 02357 { return _vsvsconvassign(*this,sl2); } 02358 02359 INLINE l_ivector operator &(const ivector &rv1, const l_ivector &rv2) 02360 #if(CXSC_INDEX_CHECK) 02361 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02362 #else 02363 throw() 02364 #endif 02365 { return _vvsect<ivector,l_ivector,l_ivector>(rv1,rv2); } 02366 INLINE l_ivector operator &(const ivector &rv, const l_ivector_slice &sl) 02367 #if(CXSC_INDEX_CHECK) 02368 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02369 #else 02370 throw() 02371 #endif 02372 { return _vvssect<ivector,l_ivector_slice,l_ivector>(rv,sl); } 02373 INLINE l_ivector operator &(const ivector_slice &sl, const l_ivector &rv) 02374 #if(CXSC_INDEX_CHECK) 02375 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02376 #else 02377 throw() 02378 #endif 02379 { return _vvssect<l_ivector,ivector_slice,l_ivector>(rv,sl); } 02380 INLINE l_ivector operator &(const ivector_slice &sl1, const l_ivector_slice &sl2) 02381 #if(CXSC_INDEX_CHECK) 02382 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02383 #else 02384 throw() 02385 #endif 02386 { return _vsvssect<ivector_slice,l_ivector_slice,l_ivector>(sl1,sl2); } 02387 02388 INLINE l_ivector operator &(const l_ivector &rv1, const ivector &rv2) 02389 #if(CXSC_INDEX_CHECK) 02390 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02391 #else 02392 throw() 02393 #endif 02394 { return _vvsect<ivector,l_ivector,l_ivector>(rv2,rv1); } 02395 INLINE l_ivector operator &(const l_ivector &rv, const ivector_slice &sl) 02396 #if(CXSC_INDEX_CHECK) 02397 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02398 #else 02399 throw() 02400 #endif 02401 { return _vvssect<l_ivector,ivector_slice,l_ivector>(rv,sl); } 02402 INLINE l_ivector operator &(const l_ivector_slice &sl, const ivector &rv) 02403 #if(CXSC_INDEX_CHECK) 02404 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02405 #else 02406 throw() 02407 #endif 02408 { return _vvssect<ivector,l_ivector_slice,l_ivector>(rv,sl); } 02409 INLINE l_ivector operator &(const l_ivector_slice &sl1, const ivector_slice &sl2) 02410 #if(CXSC_INDEX_CHECK) 02411 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02412 #else 02413 throw() 02414 #endif 02415 { return _vsvssect<ivector_slice,l_ivector_slice,l_ivector>(sl2,sl1); } 02416 02417 INLINE l_ivector & operator &=(l_ivector &rv1, const ivector &rv2) 02418 #if(CXSC_INDEX_CHECK) 02419 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02420 #else 02421 throw() 02422 #endif 02423 { return _vvsectassign(rv1,rv2); } 02424 INLINE l_ivector &operator &=(l_ivector &rv, const ivector_slice &sl) 02425 #if(CXSC_INDEX_CHECK) 02426 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02427 #else 02428 throw() 02429 #endif 02430 { return _vvssectassign(rv,sl); } 02431 INLINE l_ivector_slice &l_ivector_slice::operator &=(const ivector &rv) 02432 #if(CXSC_INDEX_CHECK) 02433 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02434 #else 02435 throw() 02436 #endif 02437 { return _vsvsectassign(*this,rv); } 02438 INLINE l_ivector_slice &l_ivector_slice::operator &=(const ivector_slice &sl2) 02439 #if(CXSC_INDEX_CHECK) 02440 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02441 #else 02442 throw() 02443 #endif 02444 { return _vsvssectassign(*this,sl2); } 02445 02446 //------------- real x l_real ------------------------ 02447 INLINE l_ivector operator |(const rvector &rv1, const l_rvector &rv2) 02448 #if(CXSC_INDEX_CHECK) 02449 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02450 #else 02451 throw() 02452 #endif 02453 { return _vvconv<rvector,l_rvector,l_ivector>(rv1,rv2); } 02454 INLINE l_ivector operator |(const l_rvector &rv1, const rvector &rv2) 02455 #if(CXSC_INDEX_CHECK) 02456 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02457 #else 02458 throw() 02459 #endif 02460 { return _vvconv<rvector,l_rvector,l_ivector>(rv2,rv1); } 02461 INLINE l_ivector operator |(const l_rvector &rv, const rvector_slice &sl) 02462 #if(CXSC_INDEX_CHECK) 02463 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02464 #else 02465 throw() 02466 #endif 02467 { return _vvsconv<l_rvector,rvector_slice,l_ivector>(rv,sl); } 02468 INLINE l_ivector operator |(const rvector_slice &sl,const l_rvector &rv) 02469 #if(CXSC_INDEX_CHECK) 02470 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02471 #else 02472 throw() 02473 #endif 02474 { return _vvsconv<l_rvector,rvector_slice,l_ivector>(rv,sl); } 02475 INLINE l_ivector operator |(const l_rvector_slice &sl, const rvector &rv) 02476 #if(CXSC_INDEX_CHECK) 02477 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02478 #else 02479 throw() 02480 #endif 02481 { return _vvsconv<rvector,l_rvector_slice,l_ivector>(rv,sl); } 02482 INLINE l_ivector operator |(const rvector &rv,const l_rvector_slice &sl) 02483 #if(CXSC_INDEX_CHECK) 02484 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02485 #else 02486 throw() 02487 #endif 02488 { return _vvsconv<rvector,l_rvector_slice,l_ivector>(rv,sl); } 02489 INLINE l_ivector operator |(const l_rvector_slice &sl1, const rvector_slice &sl2) 02490 #if(CXSC_INDEX_CHECK) 02491 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02492 #else 02493 throw() 02494 #endif 02495 { return _vsvsconv<rvector_slice,l_rvector_slice,l_ivector>(sl2,sl1); } 02496 INLINE l_ivector operator |(const rvector_slice &sl1, const l_rvector_slice &sl2) 02497 #if(CXSC_INDEX_CHECK) 02498 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02499 #else 02500 throw() 02501 #endif 02502 { return _vsvsconv<rvector_slice,l_rvector_slice,l_ivector>(sl1,sl2); } 02503 02504 //------------- l_real x l_real ------------------------ 02505 INLINE l_ivector operator |(const l_rvector &rv1, const l_rvector &rv2) 02506 #if(CXSC_INDEX_CHECK) 02507 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02508 #else 02509 throw() 02510 #endif 02511 { return _vvconv<l_rvector,l_rvector,l_ivector>(rv2,rv1); } 02512 INLINE l_ivector operator |(const l_rvector &rv, const l_rvector_slice &sl) 02513 #if(CXSC_INDEX_CHECK) 02514 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02515 #else 02516 throw() 02517 #endif 02518 { return _vvsconv<l_rvector,l_rvector_slice,l_ivector>(rv,sl); } 02519 INLINE l_ivector operator |(const l_rvector_slice &sl,const l_rvector &rv) 02520 #if(CXSC_INDEX_CHECK) 02521 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02522 #else 02523 throw() 02524 #endif 02525 { return _vvsconv<l_rvector,l_rvector_slice,l_ivector>(rv,sl); } 02526 INLINE l_ivector operator |(const l_rvector_slice &sl1, const l_rvector_slice &sl2) 02527 #if(CXSC_INDEX_CHECK) 02528 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02529 #else 02530 throw() 02531 #endif 02532 { return _vsvsconv<l_rvector_slice,l_rvector_slice,l_ivector>(sl1,sl2); } 02533 02534 //-------------------------------- interval / l_real -------------------------------- 02535 02536 02537 INLINE l_ivector operator +(const l_rvector &rv1, const ivector &rv2) 02538 #if(CXSC_INDEX_CHECK) 02539 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02540 #else 02541 throw() 02542 #endif 02543 { return _vvplus<l_rvector,ivector,l_ivector>(rv1,rv2); } 02544 INLINE l_ivector operator +(const l_rvector &rv, const ivector_slice &sl) 02545 #if(CXSC_INDEX_CHECK) 02546 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02547 #else 02548 throw() 02549 #endif 02550 { return _vvsplus<l_rvector,ivector_slice,l_ivector>(rv,sl); } 02551 INLINE l_ivector operator +(const l_rvector_slice &sl, const ivector &rv) 02552 #if(CXSC_INDEX_CHECK) 02553 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02554 #else 02555 throw() 02556 #endif 02557 { return _vvsplus<ivector,l_rvector_slice,l_ivector>(rv,sl); } 02558 INLINE l_ivector operator +(const l_rvector_slice &sl1, const ivector_slice &sl2) 02559 #if(CXSC_INDEX_CHECK) 02560 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02561 #else 02562 throw() 02563 #endif 02564 { return _vsvsplus<l_rvector_slice,ivector_slice,l_ivector>(sl1,sl2); } 02565 02566 INLINE l_ivector operator +(const ivector &rv1, const l_rvector &rv2) 02567 #if(CXSC_INDEX_CHECK) 02568 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02569 #else 02570 throw() 02571 #endif 02572 { return _vvplus<l_rvector,ivector,l_ivector>(rv2,rv1); } 02573 INLINE l_ivector operator +(const ivector &rv, const l_rvector_slice &sl) 02574 #if(CXSC_INDEX_CHECK) 02575 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02576 #else 02577 throw() 02578 #endif 02579 { return _vvsplus<ivector,l_rvector_slice,l_ivector>(rv,sl); } 02580 INLINE l_ivector operator +(const ivector_slice &sl, const l_rvector &rv) 02581 #if(CXSC_INDEX_CHECK) 02582 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02583 #else 02584 throw() 02585 #endif 02586 { return _vvsplus<l_rvector,ivector_slice,l_ivector>(rv,sl); } 02587 INLINE l_ivector operator +(const ivector_slice &sl1, const l_rvector_slice &sl2) 02588 #if(CXSC_INDEX_CHECK) 02589 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02590 #else 02591 throw() 02592 #endif 02593 { return _vsvsplus<l_rvector_slice,ivector_slice,l_ivector>(sl2,sl1); } 02594 02595 INLINE l_ivector operator -(const l_rvector &rv1, const ivector &rv2) 02596 #if(CXSC_INDEX_CHECK) 02597 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02598 #else 02599 throw() 02600 #endif 02601 { return _vvminus<l_rvector,ivector,l_ivector>(rv1,rv2); } 02602 INLINE l_ivector operator -(const l_rvector &rv, const ivector_slice &sl) 02603 #if(CXSC_INDEX_CHECK) 02604 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02605 #else 02606 throw() 02607 #endif 02608 { return _vvsminus<l_rvector,ivector_slice,l_ivector>(rv,sl); } 02609 INLINE l_ivector operator -(const l_rvector_slice &sl, const ivector &rv) 02610 #if(CXSC_INDEX_CHECK) 02611 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02612 #else 02613 throw() 02614 #endif 02615 { return _vsvminus<l_rvector_slice,ivector,l_ivector>(sl,rv); } 02616 INLINE l_ivector operator -(const l_rvector_slice &sl1, const ivector_slice &sl2) 02617 #if(CXSC_INDEX_CHECK) 02618 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02619 #else 02620 throw() 02621 #endif 02622 { return _vsvsminus<l_rvector_slice,ivector_slice,l_ivector>(sl1,sl2); } 02623 02624 INLINE l_ivector operator -(const ivector &rv1, const l_rvector &rv2) 02625 #if(CXSC_INDEX_CHECK) 02626 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02627 #else 02628 throw() 02629 #endif 02630 { return _vvminus<ivector,l_rvector,l_ivector>(rv1,rv2); } 02631 INLINE l_ivector operator -(const ivector &rv, const l_rvector_slice &sl) 02632 #if(CXSC_INDEX_CHECK) 02633 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02634 #else 02635 throw() 02636 #endif 02637 { return _vvsminus<ivector,l_rvector_slice,l_ivector>(rv,sl); } 02638 INLINE l_ivector operator -(const ivector_slice &sl, const l_rvector &rv) 02639 #if(CXSC_INDEX_CHECK) 02640 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02641 #else 02642 throw() 02643 #endif 02644 { return _vsvminus<ivector_slice,l_rvector,l_ivector>(sl,rv); } 02645 INLINE l_ivector operator -(const ivector_slice &sl1, const l_rvector_slice &sl2) 02646 #if(CXSC_INDEX_CHECK) 02647 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02648 #else 02649 throw() 02650 #endif 02651 { return _vsvsminus<ivector_slice,l_rvector_slice,l_ivector>(sl1,sl2); } 02652 02653 INLINE l_ivector operator |(const l_rvector &rv1, const ivector &rv2) 02654 #if(CXSC_INDEX_CHECK) 02655 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02656 #else 02657 throw() 02658 #endif 02659 { return _vvconv<l_rvector,ivector,l_ivector>(rv1,rv2); } 02660 INLINE l_ivector operator |(const l_rvector &rv, const ivector_slice &sl) 02661 #if(CXSC_INDEX_CHECK) 02662 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02663 #else 02664 throw() 02665 #endif 02666 { return _vvsconv<l_rvector,ivector_slice,l_ivector>(rv,sl); } 02667 INLINE l_ivector operator |(const l_rvector_slice &sl, const ivector &rv) 02668 #if(CXSC_INDEX_CHECK) 02669 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02670 #else 02671 throw() 02672 #endif 02673 { return _vvsconv<ivector,l_rvector_slice,l_ivector>(rv,sl); } 02674 INLINE l_ivector operator |(const l_rvector_slice &sl1, const ivector_slice &sl2) 02675 #if(CXSC_INDEX_CHECK) 02676 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02677 #else 02678 throw() 02679 #endif 02680 { return _vsvsconv<l_rvector_slice,ivector_slice,l_ivector>(sl1,sl2); } 02681 02682 INLINE l_ivector operator |(const ivector &rv1, const l_rvector &rv2) 02683 #if(CXSC_INDEX_CHECK) 02684 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02685 #else 02686 throw() 02687 #endif 02688 { return _vvconv<l_rvector,ivector,l_ivector>(rv2,rv1); } 02689 INLINE l_ivector operator |(const ivector &rv, const l_rvector_slice &sl) 02690 #if(CXSC_INDEX_CHECK) 02691 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02692 #else 02693 throw() 02694 #endif 02695 { return _vvsconv<ivector,l_rvector_slice,l_ivector>(rv,sl); } 02696 INLINE l_ivector operator |(const ivector_slice &sl, const l_rvector &rv) 02697 #if(CXSC_INDEX_CHECK) 02698 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02699 #else 02700 throw() 02701 #endif 02702 { return _vvsconv<l_rvector,ivector_slice,l_ivector>(rv,sl); } 02703 INLINE l_ivector operator |(const ivector_slice &sl1, const l_rvector_slice &sl2) 02704 #if(CXSC_INDEX_CHECK) 02705 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02706 #else 02707 throw() 02708 #endif 02709 { return _vsvsconv<l_rvector_slice,ivector_slice,l_ivector>(sl2,sl1); } 02710 02711 INLINE l_ivector operator &(const l_rvector &rv1, const ivector &rv2) 02712 #if(CXSC_INDEX_CHECK) 02713 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02714 #else 02715 throw() 02716 #endif 02717 { return _vvsect<l_rvector,ivector,l_ivector>(rv1,rv2); } 02718 INLINE l_ivector operator &(const l_rvector &rv, const ivector_slice &sl) 02719 #if(CXSC_INDEX_CHECK) 02720 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02721 #else 02722 throw() 02723 #endif 02724 { return _vvssect<l_rvector,ivector_slice,l_ivector>(rv,sl); } 02725 INLINE l_ivector operator &(const l_rvector_slice &sl, const ivector &rv) 02726 #if(CXSC_INDEX_CHECK) 02727 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02728 #else 02729 throw() 02730 #endif 02731 { return _vvssect<ivector,l_rvector_slice,l_ivector>(rv,sl); } 02732 INLINE l_ivector operator &(const l_rvector_slice &sl1, const ivector_slice &sl2) 02733 #if(CXSC_INDEX_CHECK) 02734 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02735 #else 02736 throw() 02737 #endif 02738 { return _vsvssect<l_rvector_slice,ivector_slice,l_ivector>(sl1,sl2); } 02739 02740 INLINE l_ivector operator &(const ivector &rv1, const l_rvector &rv2) 02741 #if(CXSC_INDEX_CHECK) 02742 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02743 #else 02744 throw() 02745 #endif 02746 { return _vvsect<l_rvector,ivector,l_ivector>(rv2,rv1); } 02747 INLINE l_ivector operator &(const ivector &rv, const l_rvector_slice &sl) 02748 #if(CXSC_INDEX_CHECK) 02749 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02750 #else 02751 throw() 02752 #endif 02753 { return _vvssect<ivector,l_rvector_slice,l_ivector>(rv,sl); } 02754 INLINE l_ivector operator &(const ivector_slice &sl, const l_rvector &rv) 02755 #if(CXSC_INDEX_CHECK) 02756 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02757 #else 02758 throw() 02759 #endif 02760 { return _vvssect<l_rvector,ivector_slice,l_ivector>(rv,sl); } 02761 INLINE l_ivector operator &(const ivector_slice &sl1, const l_rvector_slice &sl2) 02762 #if(CXSC_INDEX_CHECK) 02763 throw(ERROR__OP_WITH_WRONG_DIM<l_ivector>) 02764 #else 02765 throw() 02766 #endif 02767 { return _vsvssect<l_rvector_slice,ivector_slice,l_ivector>(sl2,sl1); } 02768 02769 } // namespace cxsc 02770 02771 #endif // _CXSC_LIVECTOR_INL_INCLUDED