00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00028 #ifndef matpackVII_h
00029 #define matpackVII_h
00030
00031 #include "matpackVI.h"
00032
00035 class Iterator7D {
00036 public:
00037
00039 Iterator7D() : msv(), mstride(0) { }
00040
00042 Iterator7D(const Iterator7D& o) : msv(o.msv), mstride(o.mstride)
00043 { }
00044
00046 Iterator7D(const Tensor6View& x, Index stride) : msv(x), mstride(stride)
00047 { }
00048
00049
00051 Iterator7D& operator++() { msv.mdata += mstride; return *this; }
00052
00057 bool operator!=(const Iterator7D& other) const
00058 { if ( msv.mdata +
00059 msv.mvr.mstart +
00060 msv.msr.mstart +
00061 msv.mbr.mstart +
00062 msv.mpr.mstart +
00063 msv.mrr.mstart +
00064 msv.mcr.mstart
00065 !=
00066 other.msv.mdata +
00067 other.msv.mvr.mstart +
00068 other.msv.msr.mstart +
00069 other.msv.mbr.mstart +
00070 other.msv.mpr.mstart +
00071 other.msv.mrr.mstart +
00072 other.msv.mcr.mstart )
00073 return true;
00074 else
00075 return false;
00076 }
00077
00080 Tensor6View* operator->() { return &msv; }
00081
00083 Tensor6View& operator*() { return msv; }
00084
00085 private:
00087 Tensor6View msv;
00089 Index mstride;
00090 };
00091
00093 class ConstIterator7D {
00094 public:
00095
00097 ConstIterator7D() : msv(), mstride(0) { }
00098
00100 ConstIterator7D(const ConstIterator7D& o) : msv(o.msv), mstride(o.mstride)
00101 { }
00102
00104 ConstIterator7D(const ConstTensor6View& x, Index stride)
00105 : msv(x), mstride(stride)
00106 { }
00107
00108
00110 ConstIterator7D& operator++() { msv.mdata += mstride; return *this; }
00111
00116 bool operator!=(const ConstIterator7D& other) const
00117 { if ( msv.mdata +
00118 msv.mvr.mstart +
00119 msv.msr.mstart +
00120 msv.mbr.mstart +
00121 msv.mpr.mstart +
00122 msv.mrr.mstart +
00123 msv.mcr.mstart
00124 !=
00125 other.msv.mdata +
00126 other.msv.mvr.mstart +
00127 other.msv.msr.mstart +
00128 other.msv.mbr.mstart +
00129 other.msv.mpr.mstart +
00130 other.msv.mrr.mstart +
00131 other.msv.mcr.mstart )
00132 return true;
00133 else
00134 return false;
00135 }
00136
00139 const ConstTensor6View* operator->() const { return &msv; }
00140
00142 const ConstTensor6View& operator*() const { return msv; }
00143
00144 private:
00146 ConstTensor6View msv;
00148 Index mstride;
00149 };
00150
00151
00152
00153 class Tensor7;
00154
00155
00169 class ConstTensor7View {
00170 public:
00171
00172 Index nlibraries() const;
00173 Index nvitrines() const;
00174 Index nshelves() const;
00175 Index nbooks() const;
00176 Index npages() const;
00177 Index nrows() const;
00178 Index ncols() const;
00179
00180
00181
00182
00183
00184 ConstTensor7View operator()( const Range& l,
00185 const Range& v, const Range& s, const Range& b,
00186 const Range& p, const Range& r, const Range& c) const;
00187
00188
00189
00190 ConstTensor6View operator()( const Range& l,
00191 const Range& v, const Range& s, const Range& b,
00192 const Range& p, const Range& r, Index c) const;
00193
00194 ConstTensor6View operator()( const Range& l,
00195 const Range& v, const Range& s, const Range& b,
00196 const Range& p, Index r, const Range& c) const;
00197
00198 ConstTensor6View operator()( const Range& l,
00199 const Range& v, const Range& s, const Range& b,
00200 Index p, const Range& r, const Range& c) const;
00201
00202 ConstTensor6View operator()( const Range& l,
00203 const Range& v, const Range& s, Index b,
00204 const Range& p, const Range& r, const Range& c) const;
00205
00206 ConstTensor6View operator()( const Range& l,
00207 const Range& v, Index s, const Range& b,
00208 const Range& p, const Range& r, const Range& c) const;
00209
00210 ConstTensor6View operator()( const Range& l,
00211 Index v, const Range& s, const Range& b,
00212 const Range& p, const Range& r, const Range& c) const;
00213
00214 ConstTensor6View operator()( Index l,
00215 const Range& v, const Range& s, const Range& b,
00216 const Range& p, const Range& r, const Range& c) const;
00217
00218
00219
00220 ConstTensor5View operator()( const Range& l,
00221 const Range& v, const Range& s, const Range& b,
00222 const Range& p, Index r, Index c) const;
00223
00224 ConstTensor5View operator()( const Range& l,
00225 const Range& v, const Range& s, const Range& b,
00226 Index p, const Range& r, Index c) const;
00227
00228 ConstTensor5View operator()( const Range& l,
00229 const Range& v, const Range& s, Index b,
00230 const Range& p, const Range& r, Index c) const;
00231
00232 ConstTensor5View operator()( const Range& l,
00233 const Range& v, Index s, const Range& b,
00234 const Range& p, const Range& r, Index c) const;
00235
00236 ConstTensor5View operator()( const Range& l,
00237 Index v, const Range& s, const Range& b,
00238 const Range& p, const Range& r, Index c) const;
00239
00240 ConstTensor5View operator()( Index l,
00241 const Range& v, const Range& s, const Range& b,
00242 const Range& p, const Range& r, Index c) const;
00243
00244 ConstTensor5View operator()( const Range& l,
00245 const Range& v, const Range& s, const Range& b,
00246 Index p, Index r, const Range& c) const;
00247
00248 ConstTensor5View operator()( const Range& l,
00249 const Range& v, const Range& s, Index b,
00250 const Range& p, Index r, const Range& c) const;
00251
00252 ConstTensor5View operator()( const Range& l,
00253 const Range& v, Index s, const Range& b,
00254 const Range& p, Index r, const Range& c) const;
00255
00256 ConstTensor5View operator()( const Range& l,
00257 Index v, const Range& s, const Range& b,
00258 const Range& p, Index r, const Range& c) const;
00259
00260 ConstTensor5View operator()( Index l,
00261 const Range& v, const Range& s, const Range& b,
00262 const Range& p, Index r, const Range& c) const;
00263
00264 ConstTensor5View operator()( const Range& l,
00265 const Range& v, const Range& s, Index b,
00266 Index p, const Range& r, const Range& c) const;
00267
00268 ConstTensor5View operator()( const Range& l,
00269 const Range& v, Index s, const Range& b,
00270 Index p, const Range& r, const Range& c) const;
00271
00272 ConstTensor5View operator()( const Range& l,
00273 Index v, const Range& s, const Range& b,
00274 Index p, const Range& r, const Range& c) const;
00275
00276 ConstTensor5View operator()( Index l,
00277 const Range& v, const Range& s, const Range& b,
00278 Index p, const Range& r, const Range& c) const;
00279
00280 ConstTensor5View operator()( const Range& l,
00281 const Range& v, Index s, Index b,
00282 const Range& p, const Range& r, const Range& c) const;
00283
00284 ConstTensor5View operator()( const Range& l,
00285 Index v, const Range& s, Index b,
00286 const Range& p, const Range& r, const Range& c) const;
00287
00288 ConstTensor5View operator()( Index l,
00289 const Range& v, const Range& s, Index b,
00290 const Range& p, const Range& r, const Range& c) const;
00291
00292 ConstTensor5View operator()( const Range& l,
00293 Index v, Index s, const Range& b,
00294 const Range& p, const Range& r, const Range& c) const;
00295
00296 ConstTensor5View operator()( Index l,
00297 const Range& v, Index s, const Range& b,
00298 const Range& p, const Range& r, const Range& c) const;
00299
00300 ConstTensor5View operator()( Index l,
00301 Index v, const Range& s, const Range& b,
00302 const Range& p, const Range& r, const Range& c) const;
00303
00304
00305
00306 ConstTensor4View operator()( const Range& l,
00307 const Range& v, const Range& s, const Range& b,
00308 Index p, Index r, Index c) const;
00309
00310 ConstTensor4View operator()( const Range& l,
00311 const Range& v, const Range& s, Index b,
00312 const Range& p, Index r, Index c) const;
00313
00314 ConstTensor4View operator()( const Range& l,
00315 const Range& v, Index s, const Range& b,
00316 const Range& p, Index r, Index c) const;
00317
00318 ConstTensor4View operator()( const Range& l,
00319 Index v, const Range& s, const Range& b,
00320 const Range& p, Index r, Index c) const;
00321
00322 ConstTensor4View operator()( Index l,
00323 const Range& v, const Range& s, const Range& b,
00324 const Range& p, Index r, Index c) const;
00325
00326 ConstTensor4View operator()( const Range& l,
00327 const Range& v, const Range& s, Index b,
00328 Index p, const Range& r, Index c) const;
00329
00330 ConstTensor4View operator()( const Range& l,
00331 const Range& v, Index s, const Range& b,
00332 Index p, const Range& r, Index c) const;
00333
00334 ConstTensor4View operator()( const Range& l,
00335 Index v, const Range& s, const Range& b,
00336 Index p, const Range& r, Index c) const;
00337
00338 ConstTensor4View operator()( Index l,
00339 const Range& v, const Range& s, const Range& b,
00340 Index p, const Range& r, Index c) const;
00341
00342 ConstTensor4View operator()( const Range& l,
00343 const Range& v, Index s, Index b,
00344 const Range& p, const Range& r, Index c) const;
00345
00346 ConstTensor4View operator()( const Range& l,
00347 Index v, const Range& s, Index b,
00348 const Range& p, const Range& r, Index c) const;
00349
00350 ConstTensor4View operator()( Index l,
00351 const Range& v, const Range& s, Index b,
00352 const Range& p, const Range& r, Index c) const;
00353
00354 ConstTensor4View operator()( const Range& l,
00355 Index v, Index s, const Range& b,
00356 const Range& p, const Range& r, Index c) const;
00357
00358 ConstTensor4View operator()( Index l,
00359 const Range& v, Index s, const Range& b,
00360 const Range& p, const Range& r, Index c) const;
00361
00362 ConstTensor4View operator()( Index l,
00363 Index v, const Range& s, const Range& b,
00364 const Range& p, const Range& r, Index c) const;
00365
00366 ConstTensor4View operator()( const Range& l,
00367 const Range& v, const Range& s, Index b,
00368 Index p, Index r, const Range& c) const;
00369
00370 ConstTensor4View operator()( const Range& l,
00371 const Range& v, Index s, const Range& b,
00372 Index p, Index r, const Range& c) const;
00373
00374 ConstTensor4View operator()( const Range& l,
00375 Index v, const Range& s, const Range& b,
00376 Index p, Index r, const Range& c) const;
00377
00378 ConstTensor4View operator()( Index l,
00379 const Range& v, const Range& s, const Range& b,
00380 Index p, Index r, const Range& c) const;
00381
00382 ConstTensor4View operator()( const Range& l,
00383 const Range& v, Index s, Index b,
00384 const Range& p, Index r, const Range& c) const;
00385
00386 ConstTensor4View operator()( const Range& l,
00387 Index v, const Range& s, Index b,
00388 const Range& p, Index r, const Range& c) const;
00389
00390 ConstTensor4View operator()( Index l,
00391 const Range& v, const Range& s, Index b,
00392 const Range& p, Index r, const Range& c) const;
00393
00394 ConstTensor4View operator()( const Range& l,
00395 Index v, Index s, const Range& b,
00396 const Range& p, Index r, const Range& c) const;
00397
00398 ConstTensor4View operator()( Index l,
00399 const Range& v, Index s, const Range& b,
00400 const Range& p, Index r, const Range& c) const;
00401
00402 ConstTensor4View operator()( Index l,
00403 Index v, const Range& s, const Range& b,
00404 const Range& p, Index r, const Range& c) const;
00405
00406 ConstTensor4View operator()( const Range& l,
00407 const Range& v, Index s, Index b,
00408 Index p, const Range& r, const Range& c) const;
00409
00410 ConstTensor4View operator()( const Range& l,
00411 Index v, const Range& s, Index b,
00412 Index p, const Range& r, const Range& c) const;
00413
00414 ConstTensor4View operator()( Index l,
00415 const Range& v, const Range& s, Index b,
00416 Index p, const Range& r, const Range& c) const;
00417
00418 ConstTensor4View operator()( const Range& l,
00419 Index v, Index s, const Range& b,
00420 Index p, const Range& r, const Range& c) const;
00421
00422 ConstTensor4View operator()( Index l,
00423 const Range& v, Index s, const Range& b,
00424 Index p, const Range& r, const Range& c) const;
00425
00426 ConstTensor4View operator()( Index l,
00427 Index v, const Range& s, const Range& b,
00428 Index p, const Range& r, const Range& c) const;
00429
00430 ConstTensor4View operator()( const Range& l,
00431 Index v, Index s, Index b,
00432 const Range& p, const Range& r, const Range& c) const;
00433
00434 ConstTensor4View operator()( Index l,
00435 const Range& v, Index s, Index b,
00436 const Range& p, const Range& r, const Range& c) const;
00437
00438 ConstTensor4View operator()( Index l,
00439 Index v, const Range& s, Index b,
00440 const Range& p, const Range& r, const Range& c) const;
00441
00442 ConstTensor4View operator()( Index l,
00443 Index v, Index s, const Range& b,
00444 const Range& p, const Range& r, const Range& c) const;
00445
00446
00447
00448 ConstTensor3View operator()( Index l,
00449 Index v, Index s, Index b,
00450 const Range& p, const Range& r, const Range& c) const;
00451
00452 ConstTensor3View operator()( Index l,
00453 Index v, Index s, const Range& b,
00454 Index p, const Range& r, const Range& c) const;
00455
00456 ConstTensor3View operator()( Index l,
00457 Index v, const Range& s, Index b,
00458 Index p, const Range& r, const Range& c) const;
00459
00460 ConstTensor3View operator()( Index l,
00461 const Range& v, Index s, Index b,
00462 Index p, const Range& r, const Range& c) const;
00463
00464 ConstTensor3View operator()( const Range& l,
00465 Index v, Index s, Index b,
00466 Index p, const Range& r, const Range& c) const;
00467
00468 ConstTensor3View operator()( Index l,
00469 Index v, Index s, const Range& b,
00470 const Range& p, Index r, const Range& c) const;
00471
00472 ConstTensor3View operator()( Index l,
00473 Index v, const Range& s, Index b,
00474 const Range& p, Index r, const Range& c) const;
00475
00476 ConstTensor3View operator()( Index l,
00477 const Range& v, Index s, Index b,
00478 const Range& p, Index r, const Range& c) const;
00479
00480 ConstTensor3View operator()( const Range& l,
00481 Index v, Index s, Index b,
00482 const Range& p, Index r, const Range& c) const;
00483
00484 ConstTensor3View operator()( Index l,
00485 Index v, const Range& s, const Range& b,
00486 Index p, Index r, const Range& c) const;
00487
00488 ConstTensor3View operator()( Index l,
00489 const Range& v, Index s, const Range& b,
00490 Index p, Index r, const Range& c) const;
00491
00492 ConstTensor3View operator()( const Range& l,
00493 Index v, Index s, const Range& b,
00494 Index p, Index r, const Range& c) const;
00495
00496 ConstTensor3View operator()( Index l,
00497 const Range& v, const Range& s, Index b,
00498 Index p, Index r, const Range& c) const;
00499
00500 ConstTensor3View operator()( const Range& l,
00501 Index v, const Range& s, Index b,
00502 Index p, Index r, const Range& c) const;
00503
00504 ConstTensor3View operator()( const Range& l,
00505 const Range& v, Index s, Index b,
00506 Index p, Index r, const Range& c) const;
00507
00508 ConstTensor3View operator()( Index l,
00509 Index v, Index s, const Range& b,
00510 const Range& p, const Range& r, Index c) const;
00511
00512 ConstTensor3View operator()( Index l,
00513 Index v, const Range& s, Index b,
00514 const Range& p, const Range& r, Index c) const;
00515
00516 ConstTensor3View operator()( Index l,
00517 const Range& v, Index s, Index b,
00518 const Range& p, const Range& r, Index c) const;
00519
00520 ConstTensor3View operator()( const Range& l,
00521 Index v, Index s, Index b,
00522 const Range& p, const Range& r, Index c) const;
00523
00524 ConstTensor3View operator()( Index l,
00525 Index v, const Range& s, const Range& b,
00526 Index p, const Range& r, Index c) const;
00527
00528 ConstTensor3View operator()( Index l,
00529 const Range& v, Index s, const Range& b,
00530 Index p, const Range& r, Index c) const;
00531
00532 ConstTensor3View operator()( const Range& l,
00533 Index v, Index s, const Range& b,
00534 Index p, const Range& r, Index c) const;
00535
00536 ConstTensor3View operator()( Index l,
00537 const Range& v, const Range& s, Index b,
00538 Index p, const Range& r, Index c) const;
00539
00540 ConstTensor3View operator()( const Range& l,
00541 Index v, const Range& s, Index b,
00542 Index p, const Range& r, Index c) const;
00543
00544 ConstTensor3View operator()( const Range& l,
00545 const Range& v, Index s, Index b,
00546 Index p, const Range& r, Index c) const;
00547
00548 ConstTensor3View operator()( Index l,
00549 Index v, const Range& s, const Range& b,
00550 const Range& p, Index r, Index c) const;
00551
00552 ConstTensor3View operator()( Index l,
00553 const Range& v, Index s, const Range& b,
00554 const Range& p, Index r, Index c) const;
00555
00556 ConstTensor3View operator()( const Range& l,
00557 Index v, Index s, const Range& b,
00558 const Range& p, Index r, Index c) const;
00559
00560 ConstTensor3View operator()( Index l,
00561 const Range& v, const Range& s, Index b,
00562 const Range& p, Index r, Index c) const;
00563
00564 ConstTensor3View operator()( const Range& l,
00565 Index v, const Range& s, Index b,
00566 const Range& p, Index r, Index c) const;
00567
00568 ConstTensor3View operator()( const Range& l,
00569 const Range& v, Index s, Index b,
00570 const Range& p, Index r, Index c) const;
00571
00572 ConstTensor3View operator()( Index l,
00573 const Range& v, const Range& s, const Range& b,
00574 Index p, Index r, Index c) const;
00575
00576 ConstTensor3View operator()( const Range& l,
00577 Index v, const Range& s, const Range& b,
00578 Index p, Index r, Index c) const;
00579
00580 ConstTensor3View operator()( const Range& l,
00581 const Range& v, Index s, const Range& b,
00582 Index p, Index r, Index c) const;
00583
00584 ConstTensor3View operator()( const Range& l,
00585 const Range& v, const Range& s, Index b,
00586 Index p, Index r, Index c) const;
00587
00588
00589
00590 ConstMatrixView operator()( Index l,
00591 Index v, Index s, Index b,
00592 Index p, const Range& r, const Range& c) const;
00593
00594 ConstMatrixView operator()( Index l,
00595 Index v, Index s, Index b,
00596 const Range& p, Index r, const Range& c) const;
00597
00598 ConstMatrixView operator()( Index l,
00599 Index v, Index s, const Range& b,
00600 Index p, Index r, const Range& c) const;
00601
00602 ConstMatrixView operator()( Index l,
00603 Index v, const Range& s, Index b,
00604 Index p, Index r, const Range& c) const;
00605
00606 ConstMatrixView operator()( Index l,
00607 const Range& v, Index s, Index b,
00608 Index p, Index r, const Range& c) const;
00609
00610 ConstMatrixView operator()( const Range& l,
00611 Index v, Index s, Index b,
00612 Index p, Index r, const Range& c) const;
00613
00614 ConstMatrixView operator()( Index l,
00615 Index v, Index s, Index b,
00616 const Range& p, const Range& r, Index c) const;
00617
00618 ConstMatrixView operator()( Index l,
00619 Index v, Index s, const Range& b,
00620 Index p, const Range& r, Index c) const;
00621
00622 ConstMatrixView operator()( Index l,
00623 Index v, const Range& s, Index b,
00624 Index p, const Range& r, Index c) const;
00625
00626 ConstMatrixView operator()( Index l,
00627 const Range& v, Index s, Index b,
00628 Index p, const Range& r, Index c) const;
00629
00630 ConstMatrixView operator()( const Range& l,
00631 Index v, Index s, Index b,
00632 Index p, const Range& r, Index c) const;
00633
00634 ConstMatrixView operator()( Index l,
00635 Index v, Index s, const Range& b,
00636 const Range& p, Index r, Index c) const;
00637
00638 ConstMatrixView operator()( Index l,
00639 Index v, const Range& s, Index b,
00640 const Range& p, Index r, Index c) const;
00641
00642 ConstMatrixView operator()( Index l,
00643 const Range& v, Index s, Index b,
00644 const Range& p, Index r, Index c) const;
00645
00646 ConstMatrixView operator()( const Range& l,
00647 Index v, Index s, Index b,
00648 const Range& p, Index r, Index c) const;
00649
00650 ConstMatrixView operator()( Index l,
00651 Index v, const Range& s, const Range& b,
00652 Index p, Index r, Index c) const;
00653
00654 ConstMatrixView operator()( Index l,
00655 const Range& v, Index s, const Range& b,
00656 Index p, Index r, Index c) const;
00657
00658 ConstMatrixView operator()( const Range& l,
00659 Index v, Index s, const Range& b,
00660 Index p, Index r, Index c) const;
00661
00662 ConstMatrixView operator()( Index l,
00663 const Range& v, const Range& s, Index b,
00664 Index p, Index r, Index c) const;
00665
00666 ConstMatrixView operator()( const Range& l,
00667 Index v, const Range& s, Index b,
00668 Index p, Index r, Index c) const;
00669
00670 ConstMatrixView operator()( const Range& l,
00671 const Range& v, Index s, Index b,
00672 Index p, Index r, Index c) const;
00673
00674
00675
00676 ConstVectorView operator()( Index l,
00677 Index v, Index s, Index b,
00678 Index p, Index r, const Range& c) const;
00679
00680 ConstVectorView operator()( Index l,
00681 Index v, Index s, Index b,
00682 Index p, const Range& r, Index c) const;
00683
00684 ConstVectorView operator()( Index l,
00685 Index v, Index s, Index b,
00686 const Range& p, Index r, Index c) const;
00687
00688 ConstVectorView operator()( Index l,
00689 Index v, Index s, const Range& b,
00690 Index p, Index r, Index c) const;
00691
00692 ConstVectorView operator()( Index l,
00693 Index v, const Range& s, Index b,
00694 Index p, Index r, Index c) const;
00695
00696 ConstVectorView operator()( Index l,
00697 const Range& v, Index s, Index b,
00698 Index p, Index r, Index c) const;
00699
00700 ConstVectorView operator()( const Range& l,
00701 Index v, Index s, Index b,
00702 Index p, Index r, Index c) const;
00703
00704
00705
00706 Numeric operator() ( Index l,
00707 Index v, Index s, Index b,
00708 Index p, Index r, Index c) const
00709 { CHECK(l);
00710 CHECK(v);
00711 CHECK(s);
00712 CHECK(b);
00713 CHECK(p);
00714 CHECK(r);
00715 CHECK(c);
00716 return *(mdata + OFFSET(l) +
00717 OFFSET(v) + OFFSET(s) + OFFSET(b) +
00718 OFFSET(p) + OFFSET(r) + OFFSET(c) );
00719 }
00720
00721
00722
00723 ConstIterator7D begin() const;
00724 ConstIterator7D end() const;
00725
00727 virtual ~ConstTensor7View() {};
00728
00729
00730 friend class Tensor7View;
00731
00732
00733 ConstTensor7View(const ConstTensor6View& a);
00734
00735 protected:
00736
00737 ConstTensor7View();
00738 ConstTensor7View(Numeric *data,
00739 const Range& l,
00740 const Range& v, const Range& s, const Range& b,
00741 const Range& p, const Range& r, const Range& c);
00742 ConstTensor7View(Numeric *data,
00743 const Range& pl,
00744 const Range& pv, const Range& ps, const Range& pb,
00745 const Range& pp, const Range& pr, const Range& pc,
00746 const Range& nl,
00747 const Range& nv, const Range& ns, const Range& nb,
00748 const Range& np, const Range& nr, const Range& nc);
00749
00750
00751
00753 Range mlr;
00755 Range mvr;
00757 Range msr;
00759 Range mbr;
00761 Range mpr;
00763 Range mrr;
00765 Range mcr;
00767 Numeric *mdata;
00768 };
00769
00779 class Tensor7View : public ConstTensor7View {
00780 public:
00781
00782
00783
00784
00785
00786 ConstTensor7View operator()( const Range& l,
00787 const Range& v, const Range& s, const Range& b,
00788 const Range& p, const Range& r, const Range& c) const;
00789
00790
00791
00792 ConstTensor6View operator()( const Range& l,
00793 const Range& v, const Range& s, const Range& b,
00794 const Range& p, const Range& r, Index c) const;
00795
00796 ConstTensor6View operator()( const Range& l,
00797 const Range& v, const Range& s, const Range& b,
00798 const Range& p, Index r, const Range& c) const;
00799
00800 ConstTensor6View operator()( const Range& l,
00801 const Range& v, const Range& s, const Range& b,
00802 Index p, const Range& r, const Range& c) const;
00803
00804 ConstTensor6View operator()( const Range& l,
00805 const Range& v, const Range& s, Index b,
00806 const Range& p, const Range& r, const Range& c) const;
00807
00808 ConstTensor6View operator()( const Range& l,
00809 const Range& v, Index s, const Range& b,
00810 const Range& p, const Range& r, const Range& c) const;
00811
00812 ConstTensor6View operator()( const Range& l,
00813 Index v, const Range& s, const Range& b,
00814 const Range& p, const Range& r, const Range& c) const;
00815
00816 ConstTensor6View operator()( Index l,
00817 const Range& v, const Range& s, const Range& b,
00818 const Range& p, const Range& r, const Range& c) const;
00819
00820
00821
00822 ConstTensor5View operator()( const Range& l,
00823 const Range& v, const Range& s, const Range& b,
00824 const Range& p, Index r, Index c) const;
00825
00826 ConstTensor5View operator()( const Range& l,
00827 const Range& v, const Range& s, const Range& b,
00828 Index p, const Range& r, Index c) const;
00829
00830 ConstTensor5View operator()( const Range& l,
00831 const Range& v, const Range& s, Index b,
00832 const Range& p, const Range& r, Index c) const;
00833
00834 ConstTensor5View operator()( const Range& l,
00835 const Range& v, Index s, const Range& b,
00836 const Range& p, const Range& r, Index c) const;
00837
00838 ConstTensor5View operator()( const Range& l,
00839 Index v, const Range& s, const Range& b,
00840 const Range& p, const Range& r, Index c) const;
00841
00842 ConstTensor5View operator()( Index l,
00843 const Range& v, const Range& s, const Range& b,
00844 const Range& p, const Range& r, Index c) const;
00845
00846 ConstTensor5View operator()( const Range& l,
00847 const Range& v, const Range& s, const Range& b,
00848 Index p, Index r, const Range& c) const;
00849
00850 ConstTensor5View operator()( const Range& l,
00851 const Range& v, const Range& s, Index b,
00852 const Range& p, Index r, const Range& c) const;
00853
00854 ConstTensor5View operator()( const Range& l,
00855 const Range& v, Index s, const Range& b,
00856 const Range& p, Index r, const Range& c) const;
00857
00858 ConstTensor5View operator()( const Range& l,
00859 Index v, const Range& s, const Range& b,
00860 const Range& p, Index r, const Range& c) const;
00861
00862 ConstTensor5View operator()( Index l,
00863 const Range& v, const Range& s, const Range& b,
00864 const Range& p, Index r, const Range& c) const;
00865
00866 ConstTensor5View operator()( const Range& l,
00867 const Range& v, const Range& s, Index b,
00868 Index p, const Range& r, const Range& c) const;
00869
00870 ConstTensor5View operator()( const Range& l,
00871 const Range& v, Index s, const Range& b,
00872 Index p, const Range& r, const Range& c) const;
00873
00874 ConstTensor5View operator()( const Range& l,
00875 Index v, const Range& s, const Range& b,
00876 Index p, const Range& r, const Range& c) const;
00877
00878 ConstTensor5View operator()( Index l,
00879 const Range& v, const Range& s, const Range& b,
00880 Index p, const Range& r, const Range& c) const;
00881
00882 ConstTensor5View operator()( const Range& l,
00883 const Range& v, Index s, Index b,
00884 const Range& p, const Range& r, const Range& c) const;
00885
00886 ConstTensor5View operator()( const Range& l,
00887 Index v, const Range& s, Index b,
00888 const Range& p, const Range& r, const Range& c) const;
00889
00890 ConstTensor5View operator()( Index l,
00891 const Range& v, const Range& s, Index b,
00892 const Range& p, const Range& r, const Range& c) const;
00893
00894 ConstTensor5View operator()( const Range& l,
00895 Index v, Index s, const Range& b,
00896 const Range& p, const Range& r, const Range& c) const;
00897
00898 ConstTensor5View operator()( Index l,
00899 const Range& v, Index s, const Range& b,
00900 const Range& p, const Range& r, const Range& c) const;
00901
00902 ConstTensor5View operator()( Index l,
00903 Index v, const Range& s, const Range& b,
00904 const Range& p, const Range& r, const Range& c) const;
00905
00906
00907
00908 ConstTensor4View operator()( const Range& l,
00909 const Range& v, const Range& s, const Range& b,
00910 Index p, Index r, Index c) const;
00911
00912 ConstTensor4View operator()( const Range& l,
00913 const Range& v, const Range& s, Index b,
00914 const Range& p, Index r, Index c) const;
00915
00916 ConstTensor4View operator()( const Range& l,
00917 const Range& v, Index s, const Range& b,
00918 const Range& p, Index r, Index c) const;
00919
00920 ConstTensor4View operator()( const Range& l,
00921 Index v, const Range& s, const Range& b,
00922 const Range& p, Index r, Index c) const;
00923
00924 ConstTensor4View operator()( Index l,
00925 const Range& v, const Range& s, const Range& b,
00926 const Range& p, Index r, Index c) const;
00927
00928 ConstTensor4View operator()( const Range& l,
00929 const Range& v, const Range& s, Index b,
00930 Index p, const Range& r, Index c) const;
00931
00932 ConstTensor4View operator()( const Range& l,
00933 const Range& v, Index s, const Range& b,
00934 Index p, const Range& r, Index c) const;
00935
00936 ConstTensor4View operator()( const Range& l,
00937 Index v, const Range& s, const Range& b,
00938 Index p, const Range& r, Index c) const;
00939
00940 ConstTensor4View operator()( Index l,
00941 const Range& v, const Range& s, const Range& b,
00942 Index p, const Range& r, Index c) const;
00943
00944 ConstTensor4View operator()( const Range& l,
00945 const Range& v, Index s, Index b,
00946 const Range& p, const Range& r, Index c) const;
00947
00948 ConstTensor4View operator()( const Range& l,
00949 Index v, const Range& s, Index b,
00950 const Range& p, const Range& r, Index c) const;
00951
00952 ConstTensor4View operator()( Index l,
00953 const Range& v, const Range& s, Index b,
00954 const Range& p, const Range& r, Index c) const;
00955
00956 ConstTensor4View operator()( const Range& l,
00957 Index v, Index s, const Range& b,
00958 const Range& p, const Range& r, Index c) const;
00959
00960 ConstTensor4View operator()( Index l,
00961 const Range& v, Index s, const Range& b,
00962 const Range& p, const Range& r, Index c) const;
00963
00964 ConstTensor4View operator()( Index l,
00965 Index v, const Range& s, const Range& b,
00966 const Range& p, const Range& r, Index c) const;
00967
00968 ConstTensor4View operator()( const Range& l,
00969 const Range& v, const Range& s, Index b,
00970 Index p, Index r, const Range& c) const;
00971
00972 ConstTensor4View operator()( const Range& l,
00973 const Range& v, Index s, const Range& b,
00974 Index p, Index r, const Range& c) const;
00975
00976 ConstTensor4View operator()( const Range& l,
00977 Index v, const Range& s, const Range& b,
00978 Index p, Index r, const Range& c) const;
00979
00980 ConstTensor4View operator()( Index l,
00981 const Range& v, const Range& s, const Range& b,
00982 Index p, Index r, const Range& c) const;
00983
00984 ConstTensor4View operator()( const Range& l,
00985 const Range& v, Index s, Index b,
00986 const Range& p, Index r, const Range& c) const;
00987
00988 ConstTensor4View operator()( const Range& l,
00989 Index v, const Range& s, Index b,
00990 const Range& p, Index r, const Range& c) const;
00991
00992 ConstTensor4View operator()( Index l,
00993 const Range& v, const Range& s, Index b,
00994 const Range& p, Index r, const Range& c) const;
00995
00996 ConstTensor4View operator()( const Range& l,
00997 Index v, Index s, const Range& b,
00998 const Range& p, Index r, const Range& c) const;
00999
01000 ConstTensor4View operator()( Index l,
01001 const Range& v, Index s, const Range& b,
01002 const Range& p, Index r, const Range& c) const;
01003
01004 ConstTensor4View operator()( Index l,
01005 Index v, const Range& s, const Range& b,
01006 const Range& p, Index r, const Range& c) const;
01007
01008 ConstTensor4View operator()( const Range& l,
01009 const Range& v, Index s, Index b,
01010 Index p, const Range& r, const Range& c) const;
01011
01012 ConstTensor4View operator()( const Range& l,
01013 Index v, const Range& s, Index b,
01014 Index p, const Range& r, const Range& c) const;
01015
01016 ConstTensor4View operator()( Index l,
01017 const Range& v, const Range& s, Index b,
01018 Index p, const Range& r, const Range& c) const;
01019
01020 ConstTensor4View operator()( const Range& l,
01021 Index v, Index s, const Range& b,
01022 Index p, const Range& r, const Range& c) const;
01023
01024 ConstTensor4View operator()( Index l,
01025 const Range& v, Index s, const Range& b,
01026 Index p, const Range& r, const Range& c) const;
01027
01028 ConstTensor4View operator()( Index l,
01029 Index v, const Range& s, const Range& b,
01030 Index p, const Range& r, const Range& c) const;
01031
01032 ConstTensor4View operator()( const Range& l,
01033 Index v, Index s, Index b,
01034 const Range& p, const Range& r, const Range& c) const;
01035
01036 ConstTensor4View operator()( Index l,
01037 const Range& v, Index s, Index b,
01038 const Range& p, const Range& r, const Range& c) const;
01039
01040 ConstTensor4View operator()( Index l,
01041 Index v, const Range& s, Index b,
01042 const Range& p, const Range& r, const Range& c) const;
01043
01044 ConstTensor4View operator()( Index l,
01045 Index v, Index s, const Range& b,
01046 const Range& p, const Range& r, const Range& c) const;
01047
01048
01049
01050 ConstTensor3View operator()( Index l,
01051 Index v, Index s, Index b,
01052 const Range& p, const Range& r, const Range& c) const;
01053
01054 ConstTensor3View operator()( Index l,
01055 Index v, Index s, const Range& b,
01056 Index p, const Range& r, const Range& c) const;
01057
01058 ConstTensor3View operator()( Index l,
01059 Index v, const Range& s, Index b,
01060 Index p, const Range& r, const Range& c) const;
01061
01062 ConstTensor3View operator()( Index l,
01063 const Range& v, Index s, Index b,
01064 Index p, const Range& r, const Range& c) const;
01065
01066 ConstTensor3View operator()( const Range& l,
01067 Index v, Index s, Index b,
01068 Index p, const Range& r, const Range& c) const;
01069
01070 ConstTensor3View operator()( Index l,
01071 Index v, Index s, const Range& b,
01072 const Range& p, Index r, const Range& c) const;
01073
01074 ConstTensor3View operator()( Index l,
01075 Index v, const Range& s, Index b,
01076 const Range& p, Index r, const Range& c) const;
01077
01078 ConstTensor3View operator()( Index l,
01079 const Range& v, Index s, Index b,
01080 const Range& p, Index r, const Range& c) const;
01081
01082 ConstTensor3View operator()( const Range& l,
01083 Index v, Index s, Index b,
01084 const Range& p, Index r, const Range& c) const;
01085
01086 ConstTensor3View operator()( Index l,
01087 Index v, const Range& s, const Range& b,
01088 Index p, Index r, const Range& c) const;
01089
01090 ConstTensor3View operator()( Index l,
01091 const Range& v, Index s, const Range& b,
01092 Index p, Index r, const Range& c) const;
01093
01094 ConstTensor3View operator()( const Range& l,
01095 Index v, Index s, const Range& b,
01096 Index p, Index r, const Range& c) const;
01097
01098 ConstTensor3View operator()( Index l,
01099 const Range& v, const Range& s, Index b,
01100 Index p, Index r, const Range& c) const;
01101
01102 ConstTensor3View operator()( const Range& l,
01103 Index v, const Range& s, Index b,
01104 Index p, Index r, const Range& c) const;
01105
01106 ConstTensor3View operator()( const Range& l,
01107 const Range& v, Index s, Index b,
01108 Index p, Index r, const Range& c) const;
01109
01110 ConstTensor3View operator()( Index l,
01111 Index v, Index s, const Range& b,
01112 const Range& p, const Range& r, Index c) const;
01113
01114 ConstTensor3View operator()( Index l,
01115 Index v, const Range& s, Index b,
01116 const Range& p, const Range& r, Index c) const;
01117
01118 ConstTensor3View operator()( Index l,
01119 const Range& v, Index s, Index b,
01120 const Range& p, const Range& r, Index c) const;
01121
01122 ConstTensor3View operator()( const Range& l,
01123 Index v, Index s, Index b,
01124 const Range& p, const Range& r, Index c) const;
01125
01126 ConstTensor3View operator()( Index l,
01127 Index v, const Range& s, const Range& b,
01128 Index p, const Range& r, Index c) const;
01129
01130 ConstTensor3View operator()( Index l,
01131 const Range& v, Index s, const Range& b,
01132 Index p, const Range& r, Index c) const;
01133
01134 ConstTensor3View operator()( const Range& l,
01135 Index v, Index s, const Range& b,
01136 Index p, const Range& r, Index c) const;
01137
01138 ConstTensor3View operator()( Index l,
01139 const Range& v, const Range& s, Index b,
01140 Index p, const Range& r, Index c) const;
01141
01142 ConstTensor3View operator()( const Range& l,
01143 Index v, const Range& s, Index b,
01144 Index p, const Range& r, Index c) const;
01145
01146 ConstTensor3View operator()( const Range& l,
01147 const Range& v, Index s, Index b,
01148 Index p, const Range& r, Index c) const;
01149
01150 ConstTensor3View operator()( Index l,
01151 Index v, const Range& s, const Range& b,
01152 const Range& p, Index r, Index c) const;
01153
01154 ConstTensor3View operator()( Index l,
01155 const Range& v, Index s, const Range& b,
01156 const Range& p, Index r, Index c) const;
01157
01158 ConstTensor3View operator()( const Range& l,
01159 Index v, Index s, const Range& b,
01160 const Range& p, Index r, Index c) const;
01161
01162 ConstTensor3View operator()( Index l,
01163 const Range& v, const Range& s, Index b,
01164 const Range& p, Index r, Index c) const;
01165
01166 ConstTensor3View operator()( const Range& l,
01167 Index v, const Range& s, Index b,
01168 const Range& p, Index r, Index c) const;
01169
01170 ConstTensor3View operator()( const Range& l,
01171 const Range& v, Index s, Index b,
01172 const Range& p, Index r, Index c) const;
01173
01174 ConstTensor3View operator()( Index l,
01175 const Range& v, const Range& s, const Range& b,
01176 Index p, Index r, Index c) const;
01177
01178 ConstTensor3View operator()( const Range& l,
01179 Index v, const Range& s, const Range& b,
01180 Index p, Index r, Index c) const;
01181
01182 ConstTensor3View operator()( const Range& l,
01183 const Range& v, Index s, const Range& b,
01184 Index p, Index r, Index c) const;
01185
01186 ConstTensor3View operator()( const Range& l,
01187 const Range& v, const Range& s, Index b,
01188 Index p, Index r, Index c) const;
01189
01190
01191
01192 ConstMatrixView operator()( Index l,
01193 Index v, Index s, Index b,
01194 Index p, const Range& r, const Range& c) const;
01195
01196 ConstMatrixView operator()( Index l,
01197 Index v, Index s, Index b,
01198 const Range& p, Index r, const Range& c) const;
01199
01200 ConstMatrixView operator()( Index l,
01201 Index v, Index s, const Range& b,
01202 Index p, Index r, const Range& c) const;
01203
01204 ConstMatrixView operator()( Index l,
01205 Index v, const Range& s, Index b,
01206 Index p, Index r, const Range& c) const;
01207
01208 ConstMatrixView operator()( Index l,
01209 const Range& v, Index s, Index b,
01210 Index p, Index r, const Range& c) const;
01211
01212 ConstMatrixView operator()( const Range& l,
01213 Index v, Index s, Index b,
01214 Index p, Index r, const Range& c) const;
01215
01216 ConstMatrixView operator()( Index l,
01217 Index v, Index s, Index b,
01218 const Range& p, const Range& r, Index c) const;
01219
01220 ConstMatrixView operator()( Index l,
01221 Index v, Index s, const Range& b,
01222 Index p, const Range& r, Index c) const;
01223
01224 ConstMatrixView operator()( Index l,
01225 Index v, const Range& s, Index b,
01226 Index p, const Range& r, Index c) const;
01227
01228 ConstMatrixView operator()( Index l,
01229 const Range& v, Index s, Index b,
01230 Index p, const Range& r, Index c) const;
01231
01232 ConstMatrixView operator()( const Range& l,
01233 Index v, Index s, Index b,
01234 Index p, const Range& r, Index c) const;
01235
01236 ConstMatrixView operator()( Index l,
01237 Index v, Index s, const Range& b,
01238 const Range& p, Index r, Index c) const;
01239
01240 ConstMatrixView operator()( Index l,
01241 Index v, const Range& s, Index b,
01242 const Range& p, Index r, Index c) const;
01243
01244 ConstMatrixView operator()( Index l,
01245 const Range& v, Index s, Index b,
01246 const Range& p, Index r, Index c) const;
01247
01248 ConstMatrixView operator()( const Range& l,
01249 Index v, Index s, Index b,
01250 const Range& p, Index r, Index c) const;
01251
01252 ConstMatrixView operator()( Index l,
01253 Index v, const Range& s, const Range& b,
01254 Index p, Index r, Index c) const;
01255
01256 ConstMatrixView operator()( Index l,
01257 const Range& v, Index s, const Range& b,
01258 Index p, Index r, Index c) const;
01259
01260 ConstMatrixView operator()( const Range& l,
01261 Index v, Index s, const Range& b,
01262 Index p, Index r, Index c) const;
01263
01264 ConstMatrixView operator()( Index l,
01265 const Range& v, const Range& s, Index b,
01266 Index p, Index r, Index c) const;
01267
01268 ConstMatrixView operator()( const Range& l,
01269 Index v, const Range& s, Index b,
01270 Index p, Index r, Index c) const;
01271
01272 ConstMatrixView operator()( const Range& l,
01273 const Range& v, Index s, Index b,
01274 Index p, Index r, Index c) const;
01275
01276
01277
01278 ConstVectorView operator()( Index l,
01279 Index v, Index s, Index b,
01280 Index p, Index r, const Range& c) const;
01281
01282 ConstVectorView operator()( Index l,
01283 Index v, Index s, Index b,
01284 Index p, const Range& r, Index c) const;
01285
01286 ConstVectorView operator()( Index l,
01287 Index v, Index s, Index b,
01288 const Range& p, Index r, Index c) const;
01289
01290 ConstVectorView operator()( Index l,
01291 Index v, Index s, const Range& b,
01292 Index p, Index r, Index c) const;
01293
01294 ConstVectorView operator()( Index l,
01295 Index v, const Range& s, Index b,
01296 Index p, Index r, Index c) const;
01297
01298 ConstVectorView operator()( Index l,
01299 const Range& v, Index s, Index b,
01300 Index p, Index r, Index c) const;
01301
01302 ConstVectorView operator()( const Range& l,
01303 Index v, Index s, Index b,
01304 Index p, Index r, Index c) const;
01305
01306
01307
01308 Numeric operator() ( Index l,
01309 Index v, Index s, Index b,
01310 Index p, Index r, Index c) const
01311 { return ConstTensor7View::operator()(l,v,s,b,p,r,c); }
01312
01313
01314
01315
01316
01317
01318 Tensor7View operator()( const Range& l,
01319 const Range& v, const Range& s, const Range& b,
01320 const Range& p, const Range& r, const Range& c);
01321
01322
01323
01324 Tensor6View operator()( const Range& l,
01325 const Range& v, const Range& s, const Range& b,
01326 const Range& p, const Range& r, Index c);
01327
01328 Tensor6View operator()( const Range& l,
01329 const Range& v, const Range& s, const Range& b,
01330 const Range& p, Index r, const Range& c);
01331
01332 Tensor6View operator()( const Range& l,
01333 const Range& v, const Range& s, const Range& b,
01334 Index p, const Range& r, const Range& c);
01335
01336 Tensor6View operator()( const Range& l,
01337 const Range& v, const Range& s, Index b,
01338 const Range& p, const Range& r, const Range& c);
01339
01340 Tensor6View operator()( const Range& l,
01341 const Range& v, Index s, const Range& b,
01342 const Range& p, const Range& r, const Range& c);
01343
01344 Tensor6View operator()( const Range& l,
01345 Index v, const Range& s, const Range& b,
01346 const Range& p, const Range& r, const Range& c);
01347
01348 Tensor6View operator()( Index l,
01349 const Range& v, const Range& s, const Range& b,
01350 const Range& p, const Range& r, const Range& c);
01351
01352
01353
01354 Tensor5View operator()( const Range& l,
01355 const Range& v, const Range& s, const Range& b,
01356 const Range& p, Index r, Index c);
01357
01358 Tensor5View operator()( const Range& l,
01359 const Range& v, const Range& s, const Range& b,
01360 Index p, const Range& r, Index c);
01361
01362 Tensor5View operator()( const Range& l,
01363 const Range& v, const Range& s, Index b,
01364 const Range& p, const Range& r, Index c);
01365
01366 Tensor5View operator()( const Range& l,
01367 const Range& v, Index s, const Range& b,
01368 const Range& p, const Range& r, Index c);
01369
01370 Tensor5View operator()( const Range& l,
01371 Index v, const Range& s, const Range& b,
01372 const Range& p, const Range& r, Index c);
01373
01374 Tensor5View operator()( Index l,
01375 const Range& v, const Range& s, const Range& b,
01376 const Range& p, const Range& r, Index c);
01377
01378 Tensor5View operator()( const Range& l,
01379 const Range& v, const Range& s, const Range& b,
01380 Index p, Index r, const Range& c);
01381
01382 Tensor5View operator()( const Range& l,
01383 const Range& v, const Range& s, Index b,
01384 const Range& p, Index r, const Range& c);
01385
01386 Tensor5View operator()( const Range& l,
01387 const Range& v, Index s, const Range& b,
01388 const Range& p, Index r, const Range& c);
01389
01390 Tensor5View operator()( const Range& l,
01391 Index v, const Range& s, const Range& b,
01392 const Range& p, Index r, const Range& c);
01393
01394 Tensor5View operator()( Index l,
01395 const Range& v, const Range& s, const Range& b,
01396 const Range& p, Index r, const Range& c);
01397
01398 Tensor5View operator()( const Range& l,
01399 const Range& v, const Range& s, Index b,
01400 Index p, const Range& r, const Range& c);
01401
01402 Tensor5View operator()( const Range& l,
01403 const Range& v, Index s, const Range& b,
01404 Index p, const Range& r, const Range& c);
01405
01406 Tensor5View operator()( const Range& l,
01407 Index v, const Range& s, const Range& b,
01408 Index p, const Range& r, const Range& c);
01409
01410 Tensor5View operator()( Index l,
01411 const Range& v, const Range& s, const Range& b,
01412 Index p, const Range& r, const Range& c);
01413
01414 Tensor5View operator()( const Range& l,
01415 const Range& v, Index s, Index b,
01416 const Range& p, const Range& r, const Range& c);
01417
01418 Tensor5View operator()( const Range& l,
01419 Index v, const Range& s, Index b,
01420 const Range& p, const Range& r, const Range& c);
01421
01422 Tensor5View operator()( Index l,
01423 const Range& v, const Range& s, Index b,
01424 const Range& p, const Range& r, const Range& c);
01425
01426 Tensor5View operator()( const Range& l,
01427 Index v, Index s, const Range& b,
01428 const Range& p, const Range& r, const Range& c);
01429
01430 Tensor5View operator()( Index l,
01431 const Range& v, Index s, const Range& b,
01432 const Range& p, const Range& r, const Range& c);
01433
01434 Tensor5View operator()( Index l,
01435 Index v, const Range& s, const Range& b,
01436 const Range& p, const Range& r, const Range& c);
01437
01438
01439
01440 Tensor4View operator()( const Range& l,
01441 const Range& v, const Range& s, const Range& b,
01442 Index p, Index r, Index c);
01443
01444 Tensor4View operator()( const Range& l,
01445 const Range& v, const Range& s, Index b,
01446 const Range& p, Index r, Index c);
01447
01448 Tensor4View operator()( const Range& l,
01449 const Range& v, Index s, const Range& b,
01450 const Range& p, Index r, Index c);
01451
01452 Tensor4View operator()( const Range& l,
01453 Index v, const Range& s, const Range& b,
01454 const Range& p, Index r, Index c);
01455
01456 Tensor4View operator()( Index l,
01457 const Range& v, const Range& s, const Range& b,
01458 const Range& p, Index r, Index c);
01459
01460 Tensor4View operator()( const Range& l,
01461 const Range& v, const Range& s, Index b,
01462 Index p, const Range& r, Index c);
01463
01464 Tensor4View operator()( const Range& l,
01465 const Range& v, Index s, const Range& b,
01466 Index p, const Range& r, Index c);
01467
01468 Tensor4View operator()( const Range& l,
01469 Index v, const Range& s, const Range& b,
01470 Index p, const Range& r, Index c);
01471
01472 Tensor4View operator()( Index l,
01473 const Range& v, const Range& s, const Range& b,
01474 Index p, const Range& r, Index c);
01475
01476 Tensor4View operator()( const Range& l,
01477 const Range& v, Index s, Index b,
01478 const Range& p, const Range& r, Index c);
01479
01480 Tensor4View operator()( const Range& l,
01481 Index v, const Range& s, Index b,
01482 const Range& p, const Range& r, Index c);
01483
01484 Tensor4View operator()( Index l,
01485 const Range& v, const Range& s, Index b,
01486 const Range& p, const Range& r, Index c);
01487
01488 Tensor4View operator()( const Range& l,
01489 Index v, Index s, const Range& b,
01490 const Range& p, const Range& r, Index c);
01491
01492 Tensor4View operator()( Index l,
01493 const Range& v, Index s, const Range& b,
01494 const Range& p, const Range& r, Index c);
01495
01496 Tensor4View operator()( Index l,
01497 Index v, const Range& s, const Range& b,
01498 const Range& p, const Range& r, Index c);
01499
01500 Tensor4View operator()( const Range& l,
01501 const Range& v, const Range& s, Index b,
01502 Index p, Index r, const Range& c);
01503
01504 Tensor4View operator()( const Range& l,
01505 const Range& v, Index s, const Range& b,
01506 Index p, Index r, const Range& c);
01507
01508 Tensor4View operator()( const Range& l,
01509 Index v, const Range& s, const Range& b,
01510 Index p, Index r, const Range& c);
01511
01512 Tensor4View operator()( Index l,
01513 const Range& v, const Range& s, const Range& b,
01514 Index p, Index r, const Range& c);
01515
01516 Tensor4View operator()( const Range& l,
01517 const Range& v, Index s, Index b,
01518 const Range& p, Index r, const Range& c);
01519
01520 Tensor4View operator()( const Range& l,
01521 Index v, const Range& s, Index b,
01522 const Range& p, Index r, const Range& c);
01523
01524 Tensor4View operator()( Index l,
01525 const Range& v, const Range& s, Index b,
01526 const Range& p, Index r, const Range& c);
01527
01528 Tensor4View operator()( const Range& l,
01529 Index v, Index s, const Range& b,
01530 const Range& p, Index r, const Range& c);
01531
01532 Tensor4View operator()( Index l,
01533 const Range& v, Index s, const Range& b,
01534 const Range& p, Index r, const Range& c);
01535
01536 Tensor4View operator()( Index l,
01537 Index v, const Range& s, const Range& b,
01538 const Range& p, Index r, const Range& c);
01539
01540 Tensor4View operator()( const Range& l,
01541 const Range& v, Index s, Index b,
01542 Index p, const Range& r, const Range& c);
01543
01544 Tensor4View operator()( const Range& l,
01545 Index v, const Range& s, Index b,
01546 Index p, const Range& r, const Range& c);
01547
01548 Tensor4View operator()( Index l,
01549 const Range& v, const Range& s, Index b,
01550 Index p, const Range& r, const Range& c);
01551
01552 Tensor4View operator()( const Range& l,
01553 Index v, Index s, const Range& b,
01554 Index p, const Range& r, const Range& c);
01555
01556 Tensor4View operator()( Index l,
01557 const Range& v, Index s, const Range& b,
01558 Index p, const Range& r, const Range& c);
01559
01560 Tensor4View operator()( Index l,
01561 Index v, const Range& s, const Range& b,
01562 Index p, const Range& r, const Range& c);
01563
01564 Tensor4View operator()( const Range& l,
01565 Index v, Index s, Index b,
01566 const Range& p, const Range& r, const Range& c);
01567
01568 Tensor4View operator()( Index l,
01569 const Range& v, Index s, Index b,
01570 const Range& p, const Range& r, const Range& c);
01571
01572 Tensor4View operator()( Index l,
01573 Index v, const Range& s, Index b,
01574 const Range& p, const Range& r, const Range& c);
01575
01576 Tensor4View operator()( Index l,
01577 Index v, Index s, const Range& b,
01578 const Range& p, const Range& r, const Range& c);
01579
01580
01581
01582 Tensor3View operator()( Index l,
01583 Index v, Index s, Index b,
01584 const Range& p, const Range& r, const Range& c);
01585
01586 Tensor3View operator()( Index l,
01587 Index v, Index s, const Range& b,
01588 Index p, const Range& r, const Range& c);
01589
01590 Tensor3View operator()( Index l,
01591 Index v, const Range& s, Index b,
01592 Index p, const Range& r, const Range& c);
01593
01594 Tensor3View operator()( Index l,
01595 const Range& v, Index s, Index b,
01596 Index p, const Range& r, const Range& c);
01597
01598 Tensor3View operator()( const Range& l,
01599 Index v, Index s, Index b,
01600 Index p, const Range& r, const Range& c);
01601
01602 Tensor3View operator()( Index l,
01603 Index v, Index s, const Range& b,
01604 const Range& p, Index r, const Range& c);
01605
01606 Tensor3View operator()( Index l,
01607 Index v, const Range& s, Index b,
01608 const Range& p, Index r, const Range& c);
01609
01610 Tensor3View operator()( Index l,
01611 const Range& v, Index s, Index b,
01612 const Range& p, Index r, const Range& c);
01613
01614 Tensor3View operator()( const Range& l,
01615 Index v, Index s, Index b,
01616 const Range& p, Index r, const Range& c);
01617
01618 Tensor3View operator()( Index l,
01619 Index v, const Range& s, const Range& b,
01620 Index p, Index r, const Range& c);
01621
01622 Tensor3View operator()( Index l,
01623 const Range& v, Index s, const Range& b,
01624 Index p, Index r, const Range& c);
01625
01626 Tensor3View operator()( const Range& l,
01627 Index v, Index s, const Range& b,
01628 Index p, Index r, const Range& c);
01629
01630 Tensor3View operator()( Index l,
01631 const Range& v, const Range& s, Index b,
01632 Index p, Index r, const Range& c);
01633
01634 Tensor3View operator()( const Range& l,
01635 Index v, const Range& s, Index b,
01636 Index p, Index r, const Range& c);
01637
01638 Tensor3View operator()( const Range& l,
01639 const Range& v, Index s, Index b,
01640 Index p, Index r, const Range& c);
01641
01642 Tensor3View operator()( Index l,
01643 Index v, Index s, const Range& b,
01644 const Range& p, const Range& r, Index c);
01645
01646 Tensor3View operator()( Index l,
01647 Index v, const Range& s, Index b,
01648 const Range& p, const Range& r, Index c);
01649
01650 Tensor3View operator()( Index l,
01651 const Range& v, Index s, Index b,
01652 const Range& p, const Range& r, Index c);
01653
01654 Tensor3View operator()( const Range& l,
01655 Index v, Index s, Index b,
01656 const Range& p, const Range& r, Index c);
01657
01658 Tensor3View operator()( Index l,
01659 Index v, const Range& s, const Range& b,
01660 Index p, const Range& r, Index c);
01661
01662 Tensor3View operator()( Index l,
01663 const Range& v, Index s, const Range& b,
01664 Index p, const Range& r, Index c);
01665
01666 Tensor3View operator()( const Range& l,
01667 Index v, Index s, const Range& b,
01668 Index p, const Range& r, Index c);
01669
01670 Tensor3View operator()( Index l,
01671 const Range& v, const Range& s, Index b,
01672 Index p, const Range& r, Index c);
01673
01674 Tensor3View operator()( const Range& l,
01675 Index v, const Range& s, Index b,
01676 Index p, const Range& r, Index c);
01677
01678 Tensor3View operator()( const Range& l,
01679 const Range& v, Index s, Index b,
01680 Index p, const Range& r, Index c);
01681
01682 Tensor3View operator()( Index l,
01683 Index v, const Range& s, const Range& b,
01684 const Range& p, Index r, Index c);
01685
01686 Tensor3View operator()( Index l,
01687 const Range& v, Index s, const Range& b,
01688 const Range& p, Index r, Index c);
01689
01690 Tensor3View operator()( const Range& l,
01691 Index v, Index s, const Range& b,
01692 const Range& p, Index r, Index c);
01693
01694 Tensor3View operator()( Index l,
01695 const Range& v, const Range& s, Index b,
01696 const Range& p, Index r, Index c);
01697
01698 Tensor3View operator()( const Range& l,
01699 Index v, const Range& s, Index b,
01700 const Range& p, Index r, Index c);
01701
01702 Tensor3View operator()( const Range& l,
01703 const Range& v, Index s, Index b,
01704 const Range& p, Index r, Index c);
01705
01706 Tensor3View operator()( Index l,
01707 const Range& v, const Range& s, const Range& b,
01708 Index p, Index r, Index c);
01709
01710 Tensor3View operator()( const Range& l,
01711 Index v, const Range& s, const Range& b,
01712 Index p, Index r, Index c);
01713
01714 Tensor3View operator()( const Range& l,
01715 const Range& v, Index s, const Range& b,
01716 Index p, Index r, Index c);
01717
01718 Tensor3View operator()( const Range& l,
01719 const Range& v, const Range& s, Index b,
01720 Index p, Index r, Index c);
01721
01722
01723
01724 MatrixView operator()( Index l,
01725 Index v, Index s, Index b,
01726 Index p, const Range& r, const Range& c);
01727
01728 MatrixView operator()( Index l,
01729 Index v, Index s, Index b,
01730 const Range& p, Index r, const Range& c);
01731
01732 MatrixView operator()( Index l,
01733 Index v, Index s, const Range& b,
01734 Index p, Index r, const Range& c);
01735
01736 MatrixView operator()( Index l,
01737 Index v, const Range& s, Index b,
01738 Index p, Index r, const Range& c);
01739
01740 MatrixView operator()( Index l,
01741 const Range& v, Index s, Index b,
01742 Index p, Index r, const Range& c);
01743
01744 MatrixView operator()( const Range& l,
01745 Index v, Index s, Index b,
01746 Index p, Index r, const Range& c);
01747
01748 MatrixView operator()( Index l,
01749 Index v, Index s, Index b,
01750 const Range& p, const Range& r, Index c);
01751
01752 MatrixView operator()( Index l,
01753 Index v, Index s, const Range& b,
01754 Index p, const Range& r, Index c);
01755
01756 MatrixView operator()( Index l,
01757 Index v, const Range& s, Index b,
01758 Index p, const Range& r, Index c);
01759
01760 MatrixView operator()( Index l,
01761 const Range& v, Index s, Index b,
01762 Index p, const Range& r, Index c);
01763
01764 MatrixView operator()( const Range& l,
01765 Index v, Index s, Index b,
01766 Index p, const Range& r, Index c);
01767
01768 MatrixView operator()( Index l,
01769 Index v, Index s, const Range& b,
01770 const Range& p, Index r, Index c);
01771
01772 MatrixView operator()( Index l,
01773 Index v, const Range& s, Index b,
01774 const Range& p, Index r, Index c);
01775
01776 MatrixView operator()( Index l,
01777 const Range& v, Index s, Index b,
01778 const Range& p, Index r, Index c);
01779
01780 MatrixView operator()( const Range& l,
01781 Index v, Index s, Index b,
01782 const Range& p, Index r, Index c);
01783
01784 MatrixView operator()( Index l,
01785 Index v, const Range& s, const Range& b,
01786 Index p, Index r, Index c);
01787
01788 MatrixView operator()( Index l,
01789 const Range& v, Index s, const Range& b,
01790 Index p, Index r, Index c);
01791
01792 MatrixView operator()( const Range& l,
01793 Index v, Index s, const Range& b,
01794 Index p, Index r, Index c);
01795
01796 MatrixView operator()( Index l,
01797 const Range& v, const Range& s, Index b,
01798 Index p, Index r, Index c);
01799
01800 MatrixView operator()( const Range& l,
01801 Index v, const Range& s, Index b,
01802 Index p, Index r, Index c);
01803
01804 MatrixView operator()( const Range& l,
01805 const Range& v, Index s, Index b,
01806 Index p, Index r, Index c);
01807
01808
01809
01810 VectorView operator()( Index l,
01811 Index v, Index s, Index b,
01812 Index p, Index r, const Range& c);
01813
01814 VectorView operator()( Index l,
01815 Index v, Index s, Index b,
01816 Index p, const Range& r, Index c);
01817
01818 VectorView operator()( Index l,
01819 Index v, Index s, Index b,
01820 const Range& p, Index r, Index c);
01821
01822 VectorView operator()( Index l,
01823 Index v, Index s, const Range& b,
01824 Index p, Index r, Index c);
01825
01826 VectorView operator()( Index l,
01827 Index v, const Range& s, Index b,
01828 Index p, Index r, Index c);
01829
01830 VectorView operator()( Index l,
01831 const Range& v, Index s, Index b,
01832 Index p, Index r, Index c);
01833
01834 VectorView operator()( const Range& l,
01835 Index v, Index s, Index b,
01836 Index p, Index r, Index c);
01837
01838
01839
01840 Numeric& operator() ( Index l,
01841 Index v, Index s, Index b,
01842 Index p, Index r, Index c)
01843 { CHECK(l);
01844 CHECK(v);
01845 CHECK(s);
01846 CHECK(b);
01847 CHECK(p);
01848 CHECK(r);
01849 CHECK(c);
01850 return *(mdata + OFFSET(l) +
01851 OFFSET(v) + OFFSET(s) + OFFSET(b) +
01852 OFFSET(p) + OFFSET(r) + OFFSET(c) );
01853 }
01854
01855
01856
01857 ConstIterator7D begin() const;
01858 ConstIterator7D end() const;
01859
01860 Iterator7D begin();
01861 Iterator7D end();
01862
01863
01864 Tensor7View& operator=(const ConstTensor7View& v);
01865 Tensor7View& operator=(const Tensor7View& v);
01866 Tensor7View& operator=(const Tensor7& v);
01867 Tensor7View& operator=(Numeric x);
01868
01869
01870 Tensor7View& operator*=(Numeric x);
01871 Tensor7View& operator/=(Numeric x);
01872 Tensor7View& operator+=(Numeric x);
01873 Tensor7View& operator-=(Numeric x);
01874
01875 Tensor7View& operator*=(const ConstTensor7View& x);
01876 Tensor7View& operator/=(const ConstTensor7View& x);
01877 Tensor7View& operator+=(const ConstTensor7View& x);
01878 Tensor7View& operator-=(const ConstTensor7View& x);
01879
01881 virtual ~Tensor7View() {};
01882
01883
01884
01885
01886 Tensor7View(const Tensor6View& a);
01887
01888 protected:
01889
01890 Tensor7View();
01891 Tensor7View(Numeric *data,
01892 const Range& l,
01893 const Range& v, const Range& s, const Range& b,
01894 const Range& p, const Range& r, const Range& c);
01895 Tensor7View(Numeric *data,
01896 const Range& pl,
01897 const Range& pv, const Range& ps, const Range& pb,
01898 const Range& pp, const Range& pr, const Range& pc,
01899 const Range& nl,
01900 const Range& nv, const Range& ns, const Range& nb,
01901 const Range& np, const Range& nr, const Range& nc);
01902 };
01903
01912 class Tensor7 : public Tensor7View {
01913 public:
01914
01915 Tensor7();
01916 Tensor7(Index l,
01917 Index v, Index s, Index b,
01918 Index p, Index r, Index c);
01919 Tensor7(Index l,
01920 Index v, Index s, Index b,
01921 Index p, Index r, Index c,
01922 Numeric fill);
01923 Tensor7(const ConstTensor7View& v);
01924 Tensor7(const Tensor7& v);
01925
01926
01927 Tensor7& operator=(const Tensor7& x);
01928 Tensor7& operator=(Numeric x);
01929
01930
01931 void resize(Index l,
01932 Index v, Index s, Index b,
01933 Index p, Index r, Index c);
01934
01935
01936 virtual ~Tensor7();
01937 };
01938
01939
01940
01941
01942
01943 void copy(ConstIterator7D origin,
01944 const ConstIterator7D& end,
01945 Iterator7D target);
01946
01947 void copy(Numeric x,
01948 Iterator7D target,
01949 const Iterator7D& end);
01950
01951 void transform( Tensor7View y,
01952 double (&my_func)(double),
01953 ConstTensor7View x );
01954
01955 Numeric max(const ConstTensor7View& x);
01956
01957 Numeric min(const ConstTensor7View& x);
01958
01959 ostream& operator<<(ostream& os, const ConstTensor7View& v);
01960
01962
01963 #ifndef NDEBUG
01964
01965 Numeric debug_tensor7view_get_elem (Tensor7View& tv, Index l, Index v, Index s,
01966 Index b, Index p, Index r, Index c);
01967
01968 #endif
01970
01971 #endif // matpackVII_h