00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00025 #include "matpackVII.h"
00026
00027
00028
00029
00031 Index ConstTensor7View::nlibraries() const
00032 {
00033 return mlr.mextent;
00034 }
00035
00037 Index ConstTensor7View::nvitrines() const
00038 {
00039 return mvr.mextent;
00040 }
00041
00043 Index ConstTensor7View::nshelves() const
00044 {
00045 return msr.mextent;
00046 }
00047
00049 Index ConstTensor7View::nbooks() const
00050 {
00051 return mbr.mextent;
00052 }
00053
00055 Index ConstTensor7View::npages() const
00056 {
00057 return mpr.mextent;
00058 }
00059
00061 Index ConstTensor7View::nrows() const
00062 {
00063 return mrr.mextent;
00064 }
00065
00067 Index ConstTensor7View::ncols() const
00068 {
00069 return mcr.mextent;
00070 }
00071
00072
00073
00074
00075 ConstTensor7View ConstTensor7View::operator()
00076 ( const Range& l,
00077 const Range& v, const Range& s, const Range& b,
00078 const Range& p, const Range& r, const Range& c) const
00079 {
00080 return ConstTensor7View(mdata,
00081 mlr, mvr, msr, mbr, mpr, mrr, mcr,
00082 l, v, s, b, p, r, c);
00083 }
00084
00085 ConstTensor6View ConstTensor7View::operator()
00086 ( Index l,
00087 const Range& v, const Range& s, const Range& b,
00088 const Range& p, const Range& r, const Range& c) const
00089 {
00090 CHECK(l);
00091 return ConstTensor6View(mdata + OFFSET(l),
00092 mvr, msr, mbr, mpr, mrr, mcr,
00093 v, s, b, p, r, c);
00094 }
00095
00096
00097 ConstTensor6View ConstTensor7View::operator()
00098 ( const Range& l,
00099 const Range& v, const Range& s, const Range& b,
00100 const Range& p, const Range& r, Index c) const
00101 {
00102 CHECK(c);
00103 return ConstTensor6View(mdata + OFFSET(c),
00104 mlr, mvr, msr, mbr, mpr, mrr,
00105 l, v, s, b, p, r);
00106 }
00107
00108 ConstTensor5View ConstTensor7View::operator()
00109 ( Index l,
00110 const Range& v, const Range& s, const Range& b,
00111 const Range& p, const Range& r, Index c) const
00112 {
00113 CHECK(l);
00114 CHECK(c);
00115 return ConstTensor5View(mdata + OFFSET(l) + OFFSET(c),
00116 mvr, msr, mbr, mpr, mrr,
00117 v, s, b, p, r);
00118 }
00119
00120
00121 ConstTensor6View ConstTensor7View::operator()
00122 ( const Range& l,
00123 const Range& v, const Range& s, const Range& b,
00124 const Range& p, Index r, const Range& c) const
00125 {
00126 CHECK(r);
00127 return ConstTensor6View(mdata + OFFSET(r),
00128 mlr, mvr, msr, mbr, mpr, mcr,
00129 l, v, s, b, p, c);
00130 }
00131
00132 ConstTensor5View ConstTensor7View::operator()
00133 ( Index l,
00134 const Range& v, const Range& s, const Range& b,
00135 const Range& p, Index r, const Range& c) const
00136 {
00137 CHECK(l);
00138 CHECK(r);
00139 return ConstTensor5View(mdata + OFFSET(l) + OFFSET(r),
00140 mvr, msr, mbr, mpr, mcr,
00141 v, s, b, p, c);
00142 }
00143
00144
00145 ConstTensor6View ConstTensor7View::operator()
00146 ( const Range& l,
00147 const Range& v, const Range& s, const Range& b,
00148 Index p, const Range& r, const Range& c) const
00149 {
00150 CHECK(p);
00151 return ConstTensor6View(mdata + OFFSET(p),
00152 mlr, mvr, msr, mbr, mrr, mcr,
00153 l, v, s, b, r, c);
00154 }
00155
00156 ConstTensor5View ConstTensor7View::operator()
00157 ( Index l,
00158 const Range& v, const Range& s, const Range& b,
00159 Index p, const Range& r, const Range& c) const
00160 {
00161 CHECK(l);
00162 CHECK(p);
00163 return ConstTensor5View(mdata + OFFSET(l) + OFFSET(p),
00164 mvr, msr, mbr, mrr, mcr,
00165 v, s, b, r, c);
00166 }
00167
00168
00169 ConstTensor6View ConstTensor7View::operator()
00170 ( const Range& l,
00171 const Range& v, const Range& s, Index b,
00172 const Range& p, const Range& r, const Range& c) const
00173 {
00174 CHECK(b);
00175 return ConstTensor6View(mdata + OFFSET(b),
00176 mlr, mvr, msr, mpr, mrr, mcr,
00177 l, v, s, p, r, c);
00178 }
00179
00180 ConstTensor5View ConstTensor7View::operator()
00181 ( Index l,
00182 const Range& v, const Range& s, Index b,
00183 const Range& p, const Range& r, const Range& c) const
00184 {
00185 CHECK(l);
00186 CHECK(b);
00187 return ConstTensor5View(mdata + OFFSET(l) + OFFSET(b),
00188 mvr, msr, mpr, mrr, mcr,
00189 v, s, p, r, c);
00190 }
00191
00192
00193 ConstTensor6View ConstTensor7View::operator()
00194 ( const Range& l,
00195 const Range& v, Index s, const Range& b,
00196 const Range& p, const Range& r, const Range& c) const
00197 {
00198 CHECK(s);
00199 return ConstTensor6View(mdata + OFFSET(s),
00200 mlr, mvr, mbr, mpr, mrr, mcr,
00201 l, v, b, p, r, c);
00202 }
00203
00204 ConstTensor5View ConstTensor7View::operator()
00205 ( Index l,
00206 const Range& v, Index s, const Range& b,
00207 const Range& p, const Range& r, const Range& c) const
00208 {
00209 CHECK(l);
00210 CHECK(s);
00211 return ConstTensor5View(mdata + OFFSET(l) + OFFSET(s),
00212 mvr, mbr, mpr, mrr, mcr,
00213 v, b, p, r, c);
00214 }
00215
00216
00217 ConstTensor6View ConstTensor7View::operator()
00218 ( const Range& l,
00219 Index v, const Range& s, const Range& b,
00220 const Range& p, const Range& r, const Range& c) const
00221 {
00222 CHECK(v);
00223 return ConstTensor6View(mdata + OFFSET(v),
00224 mlr, msr, mbr, mpr, mrr, mcr,
00225 l, s, b, p, r, c);
00226 }
00227
00228 ConstTensor5View ConstTensor7View::operator()
00229 ( Index l,
00230 Index v, const Range& s, const Range& b,
00231 const Range& p, const Range& r, const Range& c) const
00232 {
00233 CHECK(l);
00234 CHECK(v);
00235 return ConstTensor5View(mdata + OFFSET(l) + OFFSET(v),
00236 msr, mbr, mpr, mrr, mcr,
00237 s, b, p, r, c);
00238 }
00239
00240
00241 ConstTensor5View ConstTensor7View::operator()
00242 ( const Range& l,
00243 const Range& v, const Range& s, const Range& b,
00244 const Range& p, Index r, Index c) const
00245 {
00246 CHECK(r);
00247 CHECK(c);
00248 return ConstTensor5View(mdata + OFFSET(r) + OFFSET(c),
00249 mlr, mvr, msr, mbr, mpr,
00250 l, v, s, b, p );
00251 }
00252
00253 ConstTensor4View ConstTensor7View::operator()
00254 ( Index l,
00255 const Range& v, const Range& s, const Range& b,
00256 const Range& p, Index r, Index c) const
00257 {
00258 CHECK(l);
00259 CHECK(r);
00260 CHECK(c);
00261 return ConstTensor4View(mdata + OFFSET(l) + OFFSET(r) + OFFSET(c),
00262 mvr, msr, mbr, mpr,
00263 v, s, b, p );
00264 }
00265
00266
00267 ConstTensor5View ConstTensor7View::operator()
00268 ( const Range& l,
00269 const Range& v, const Range& s, const Range& b,
00270 Index p, const Range& r, Index c) const
00271 {
00272 CHECK(p);
00273 CHECK(c);
00274 return ConstTensor5View(mdata + OFFSET(p) + OFFSET(c),
00275 mlr, mvr, msr, mbr, mrr,
00276 l, v, s, b, r );
00277 }
00278
00279 ConstTensor4View ConstTensor7View::operator()
00280 ( Index l,
00281 const Range& v, const Range& s, const Range& b,
00282 Index p, const Range& r, Index c) const
00283 {
00284 CHECK(l);
00285 CHECK(p);
00286 CHECK(c);
00287 return ConstTensor4View(mdata + OFFSET(l) + OFFSET(p) + OFFSET(c),
00288 mvr, msr, mbr, mrr,
00289 v, s, b, r );
00290 }
00291
00292
00293 ConstTensor5View ConstTensor7View::operator()
00294 ( const Range& l,
00295 const Range& v, const Range& s, Index b,
00296 const Range& p, const Range& r, Index c) const
00297 {
00298 CHECK(b);
00299 CHECK(c);
00300 return ConstTensor5View(mdata + OFFSET(b) + OFFSET(c),
00301 mlr, mvr, msr, mpr, mrr,
00302 l, v, s, p, r );
00303 }
00304
00305 ConstTensor4View ConstTensor7View::operator()
00306 ( Index l,
00307 const Range& v, const Range& s, Index b,
00308 const Range& p, const Range& r, Index c) const
00309 {
00310 CHECK(l);
00311 CHECK(b);
00312 CHECK(c);
00313 return ConstTensor4View(mdata + OFFSET(l) + OFFSET(b) + OFFSET(c),
00314 mvr, msr, mpr, mrr,
00315 v, s, p, r );
00316 }
00317
00318
00319 ConstTensor5View ConstTensor7View::operator()
00320 ( const Range& l,
00321 const Range& v, Index s, const Range& b,
00322 const Range& p, const Range& r, Index c) const
00323 {
00324 CHECK(s);
00325 CHECK(c);
00326 return ConstTensor5View(mdata + OFFSET(s) + OFFSET(c),
00327 mlr, mvr, mbr, mpr, mrr,
00328 l, v, b, p, r );
00329 }
00330
00331 ConstTensor4View ConstTensor7View::operator()
00332 ( Index l,
00333 const Range& v, Index s, const Range& b,
00334 const Range& p, const Range& r, Index c) const
00335 {
00336 CHECK(l);
00337 CHECK(s);
00338 CHECK(c);
00339 return ConstTensor4View(mdata + OFFSET(l) + OFFSET(s) + OFFSET(c),
00340 mvr, mbr, mpr, mrr,
00341 v, b, p, r );
00342 }
00343
00344
00345 ConstTensor5View ConstTensor7View::operator()
00346 ( const Range& l,
00347 Index v, const Range& s, const Range& b,
00348 const Range& p, const Range& r, Index c) const
00349 {
00350 CHECK(v);
00351 CHECK(c);
00352 return ConstTensor5View(mdata + OFFSET(v) + OFFSET(c),
00353 mlr, msr, mbr, mpr, mrr,
00354 l, s, b, p, r );
00355 }
00356
00357 ConstTensor4View ConstTensor7View::operator()
00358 ( Index l,
00359 Index v, const Range& s, const Range& b,
00360 const Range& p, const Range& r, Index c) const
00361 {
00362 CHECK(l);
00363 CHECK(v);
00364 CHECK(c);
00365 return ConstTensor4View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(c),
00366 msr, mbr, mpr, mrr,
00367 s, b, p, r );
00368 }
00369
00370
00371 ConstTensor5View ConstTensor7View::operator()
00372 ( const Range& l,
00373 const Range& v, const Range& s, const Range& b,
00374 Index p, Index r, const Range& c) const
00375 {
00376 CHECK(p);
00377 CHECK(r);
00378 return ConstTensor5View(mdata + OFFSET(p) + OFFSET(r),
00379 mlr, mvr, msr, mbr, mcr,
00380 l, v, s, b, c );
00381 }
00382
00383 ConstTensor4View ConstTensor7View::operator()
00384 ( Index l,
00385 const Range& v, const Range& s, const Range& b,
00386 Index p, Index r, const Range& c) const
00387 {
00388 CHECK(l);
00389 CHECK(p);
00390 CHECK(r);
00391 return ConstTensor4View(mdata + OFFSET(l) + OFFSET(p) + OFFSET(r),
00392 mvr, msr, mbr, mcr,
00393 v, s, b, c );
00394 }
00395
00396
00397 ConstTensor5View ConstTensor7View::operator()
00398 ( const Range& l,
00399 const Range& v, const Range& s, Index b,
00400 const Range& p, Index r, const Range& c) const
00401 {
00402 CHECK(b);
00403 CHECK(r);
00404 return ConstTensor5View(mdata + OFFSET(b) + OFFSET(r),
00405 mlr, mvr, msr, mpr, mcr,
00406 l, v, s, p, c );
00407 }
00408
00409 ConstTensor4View ConstTensor7View::operator()
00410 ( Index l,
00411 const Range& v, const Range& s, Index b,
00412 const Range& p, Index r, const Range& c) const
00413 {
00414 CHECK(l);
00415 CHECK(b);
00416 CHECK(r);
00417 return ConstTensor4View(mdata + OFFSET(l) + OFFSET(b) + OFFSET(r),
00418 mvr, msr, mpr, mcr,
00419 v, s, p, c );
00420 }
00421
00422
00423 ConstTensor5View ConstTensor7View::operator()
00424 ( const Range& l,
00425 const Range& v, Index s, const Range& b,
00426 const Range& p, Index r, const Range& c) const
00427 {
00428 CHECK(s);
00429 CHECK(r);
00430 return ConstTensor5View(mdata + OFFSET(s) + OFFSET(r),
00431 mlr, mvr, mbr, mpr, mcr,
00432 l, v, b, p, c );
00433 }
00434
00435 ConstTensor4View ConstTensor7View::operator()
00436 ( Index l,
00437 const Range& v, Index s, const Range& b,
00438 const Range& p, Index r, const Range& c) const
00439 {
00440 CHECK(l);
00441 CHECK(s);
00442 CHECK(r);
00443 return ConstTensor4View(mdata + OFFSET(l) + OFFSET(s) + OFFSET(r),
00444 mvr, mbr, mpr, mcr,
00445 v, b, p, c );
00446 }
00447
00448
00449 ConstTensor5View ConstTensor7View::operator()
00450 ( const Range& l,
00451 Index v, const Range& s, const Range& b,
00452 const Range& p, Index r, const Range& c) const
00453 {
00454 CHECK(v);
00455 CHECK(r);
00456 return ConstTensor5View(mdata + OFFSET(v) + OFFSET(r),
00457 mlr, msr, mbr, mpr, mcr,
00458 l, s, b, p, c );
00459 }
00460
00461 ConstTensor4View ConstTensor7View::operator()
00462 ( Index l,
00463 Index v, const Range& s, const Range& b,
00464 const Range& p, Index r, const Range& c) const
00465 {
00466 CHECK(l);
00467 CHECK(v);
00468 CHECK(r);
00469 return ConstTensor4View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(r),
00470 msr, mbr, mpr, mcr,
00471 s, b, p, c );
00472 }
00473
00474
00475 ConstTensor5View ConstTensor7View::operator()
00476 ( const Range& l,
00477 const Range& v, const Range& s, Index b,
00478 Index p, const Range& r, const Range& c) const
00479 {
00480 CHECK(b);
00481 CHECK(p);
00482 return ConstTensor5View(mdata + OFFSET(b) + OFFSET(p),
00483 mlr, mvr, msr, mrr, mcr,
00484 l, v, s, r, c );
00485 }
00486
00487 ConstTensor4View ConstTensor7View::operator()
00488 ( Index l,
00489 const Range& v, const Range& s, Index b,
00490 Index p, const Range& r, const Range& c) const
00491 {
00492 CHECK(l);
00493 CHECK(b);
00494 CHECK(p);
00495 return ConstTensor4View(mdata + OFFSET(l) + OFFSET(b) + OFFSET(p),
00496 mvr, msr, mrr, mcr,
00497 v, s, r, c );
00498 }
00499
00500
00501 ConstTensor5View ConstTensor7View::operator()
00502 ( const Range& l,
00503 const Range& v, Index s, const Range& b,
00504 Index p, const Range& r, const Range& c) const
00505 {
00506 CHECK(s);
00507 CHECK(p);
00508 return ConstTensor5View(mdata + OFFSET(s) + OFFSET(p),
00509 mlr, mvr, mbr, mrr, mcr,
00510 l, v, b, r, c );
00511 }
00512
00513 ConstTensor4View ConstTensor7View::operator()
00514 ( Index l,
00515 const Range& v, Index s, const Range& b,
00516 Index p, const Range& r, const Range& c) const
00517 {
00518 CHECK(l);
00519 CHECK(s);
00520 CHECK(p);
00521 return ConstTensor4View(mdata + OFFSET(l) + OFFSET(s) + OFFSET(p),
00522 mvr, mbr, mrr, mcr,
00523 v, b, r, c );
00524 }
00525
00526
00527 ConstTensor5View ConstTensor7View::operator()
00528 ( const Range& l,
00529 Index v, const Range& s, const Range& b,
00530 Index p, const Range& r, const Range& c) const
00531 {
00532 CHECK(v);
00533 CHECK(p);
00534 return ConstTensor5View(mdata + OFFSET(v) + OFFSET(p),
00535 mlr, msr, mbr, mrr, mcr,
00536 l, s, b, r, c );
00537 }
00538
00539 ConstTensor4View ConstTensor7View::operator()
00540 ( Index l,
00541 Index v, const Range& s, const Range& b,
00542 Index p, const Range& r, const Range& c) const
00543 {
00544 CHECK(l);
00545 CHECK(v);
00546 CHECK(p);
00547 return ConstTensor4View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(p),
00548 msr, mbr, mrr, mcr,
00549 s, b, r, c );
00550 }
00551
00552
00553 ConstTensor5View ConstTensor7View::operator()
00554 ( const Range& l,
00555 const Range& v, Index s, Index b,
00556 const Range& p, const Range& r, const Range& c) const
00557 {
00558 CHECK(s);
00559 CHECK(b);
00560 return ConstTensor5View(mdata + OFFSET(s) + OFFSET(b),
00561 mlr, mvr, mpr, mrr, mcr,
00562 l, v, p, r, c );
00563 }
00564
00565 ConstTensor4View ConstTensor7View::operator()
00566 ( Index l,
00567 const Range& v, Index s, Index b,
00568 const Range& p, const Range& r, const Range& c) const
00569 {
00570 CHECK(l);
00571 CHECK(s);
00572 CHECK(b);
00573 return ConstTensor4View(mdata + OFFSET(l) + OFFSET(s) + OFFSET(b),
00574 mvr, mpr, mrr, mcr,
00575 v, p, r, c );
00576 }
00577
00578
00579 ConstTensor5View ConstTensor7View::operator()
00580 ( const Range& l,
00581 Index v, const Range& s, Index b,
00582 const Range& p, const Range& r, const Range& c) const
00583 {
00584 CHECK(v);
00585 CHECK(b);
00586 return ConstTensor5View(mdata + OFFSET(v) + OFFSET(b),
00587 mlr, msr, mpr, mrr, mcr,
00588 l, s, p, r, c );
00589 }
00590
00591 ConstTensor4View ConstTensor7View::operator()
00592 ( Index l,
00593 Index v, const Range& s, Index b,
00594 const Range& p, const Range& r, const Range& c) const
00595 {
00596 CHECK(l);
00597 CHECK(v);
00598 CHECK(b);
00599 return ConstTensor4View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(b),
00600 msr, mpr, mrr, mcr,
00601 s, p, r, c );
00602 }
00603
00604
00605 ConstTensor5View ConstTensor7View::operator()
00606 ( const Range& l,
00607 Index v, Index s, const Range& b,
00608 const Range& p, const Range& r, const Range& c) const
00609 {
00610 CHECK(v);
00611 CHECK(s);
00612 return ConstTensor5View(mdata + OFFSET(v) + OFFSET(s),
00613 mlr, mbr, mpr, mrr, mcr,
00614 l, b, p, r, c );
00615 }
00616
00617 ConstTensor4View ConstTensor7View::operator()
00618 ( Index l,
00619 Index v, Index s, const Range& b,
00620 const Range& p, const Range& r, const Range& c) const
00621 {
00622 CHECK(l);
00623 CHECK(v);
00624 CHECK(s);
00625 return ConstTensor4View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s),
00626 mbr, mpr, mrr, mcr,
00627 b, p, r, c );
00628 }
00629
00630
00631 ConstTensor4View ConstTensor7View::operator()
00632 ( const Range& l,
00633 const Range& v, const Range& s, const Range& b,
00634 Index p, Index r, Index c) const
00635 {
00636 CHECK(p);
00637 CHECK(r);
00638 CHECK(c);
00639 return ConstTensor4View(mdata + OFFSET(p) + OFFSET(r) + OFFSET(c),
00640 mlr, mvr, msr, mbr,
00641 l, v, s, b );
00642 }
00643
00644 ConstTensor3View ConstTensor7View::operator()
00645 ( Index l,
00646 const Range& v, const Range& s, const Range& b,
00647 Index p, Index r, Index c) const
00648 {
00649 CHECK(l);
00650 CHECK(p);
00651 CHECK(r);
00652 CHECK(c);
00653 return ConstTensor3View(mdata + OFFSET(l) + OFFSET(p) + OFFSET(r) + OFFSET(c),
00654 mvr, msr, mbr,
00655 v, s, b );
00656 }
00657
00658
00659 ConstTensor4View ConstTensor7View::operator()
00660 ( const Range& l,
00661 const Range& v, const Range& s, Index b,
00662 const Range& p, Index r, Index c) const
00663 {
00664 CHECK(b);
00665 CHECK(r);
00666 CHECK(c);
00667 return ConstTensor4View(mdata + OFFSET(b) + OFFSET(r) + OFFSET(c),
00668 mlr, mvr, msr, mpr,
00669 l, v, s, p );
00670 }
00671
00672 ConstTensor3View ConstTensor7View::operator()
00673 ( Index l,
00674 const Range& v, const Range& s, Index b,
00675 const Range& p, Index r, Index c) const
00676 {
00677 CHECK(l);
00678 CHECK(b);
00679 CHECK(r);
00680 CHECK(c);
00681 return ConstTensor3View(mdata + OFFSET(l) + OFFSET(b) + OFFSET(r) + OFFSET(c),
00682 mvr, msr, mpr,
00683 v, s, p );
00684 }
00685
00686
00687 ConstTensor4View ConstTensor7View::operator()
00688 ( const Range& l,
00689 const Range& v, Index s, const Range& b,
00690 const Range& p, Index r, Index c) const
00691 {
00692 CHECK(s);
00693 CHECK(r);
00694 CHECK(c);
00695 return ConstTensor4View(mdata + OFFSET(s) + OFFSET(r) + OFFSET(c),
00696 mlr, mvr, mbr, mpr,
00697 l, v, b, p );
00698 }
00699
00700 ConstTensor3View ConstTensor7View::operator()
00701 ( Index l,
00702 const Range& v, Index s, const Range& b,
00703 const Range& p, Index r, Index c) const
00704 {
00705 CHECK(l);
00706 CHECK(s);
00707 CHECK(r);
00708 CHECK(c);
00709 return ConstTensor3View(mdata + OFFSET(l) + OFFSET(s) + OFFSET(r) + OFFSET(c),
00710 mvr, mbr, mpr,
00711 v, b, p );
00712 }
00713
00714
00715 ConstTensor4View ConstTensor7View::operator()
00716 ( const Range& l,
00717 Index v, const Range& s, const Range& b,
00718 const Range& p, Index r, Index c) const
00719 {
00720 CHECK(v);
00721 CHECK(r);
00722 CHECK(c);
00723 return ConstTensor4View(mdata + OFFSET(v) + OFFSET(r) + OFFSET(c),
00724 mlr, msr, mbr, mpr,
00725 l, s, b, p );
00726 }
00727
00728 ConstTensor3View ConstTensor7View::operator()
00729 ( Index l,
00730 Index v, const Range& s, const Range& b,
00731 const Range& p, Index r, Index c) const
00732 {
00733 CHECK(l);
00734 CHECK(v);
00735 CHECK(r);
00736 CHECK(c);
00737 return ConstTensor3View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(r) + OFFSET(c),
00738 msr, mbr, mpr,
00739 s, b, p );
00740 }
00741
00742
00743 ConstTensor4View ConstTensor7View::operator()
00744 ( const Range& l,
00745 const Range& v, const Range& s, Index b,
00746 Index p, const Range& r, Index c) const
00747 {
00748 CHECK(b);
00749 CHECK(p);
00750 CHECK(c);
00751 return ConstTensor4View(mdata + OFFSET(b) + OFFSET(p) + OFFSET(c),
00752 mlr, mvr, msr, mrr,
00753 l, v, s, r );
00754 }
00755
00756 ConstTensor3View ConstTensor7View::operator()
00757 ( Index l,
00758 const Range& v, const Range& s, Index b,
00759 Index p, const Range& r, Index c) const
00760 {
00761 CHECK(l);
00762 CHECK(b);
00763 CHECK(p);
00764 CHECK(c);
00765 return ConstTensor3View(mdata + OFFSET(l) + OFFSET(b) + OFFSET(p) + OFFSET(c),
00766 mvr, msr, mrr,
00767 v, s, r );
00768 }
00769
00770
00771 ConstTensor4View ConstTensor7View::operator()
00772 ( const Range& l,
00773 const Range& v, Index s, const Range& b,
00774 Index p, const Range& r, Index c) const
00775 {
00776 CHECK(s);
00777 CHECK(p);
00778 CHECK(c);
00779 return ConstTensor4View(mdata + OFFSET(s) + OFFSET(p) + OFFSET(c),
00780 mlr, mvr, mbr, mrr,
00781 l, v, b, r );
00782 }
00783
00784 ConstTensor3View ConstTensor7View::operator()
00785 ( Index l,
00786 const Range& v, Index s, const Range& b,
00787 Index p, const Range& r, Index c) const
00788 {
00789 CHECK(l);
00790 CHECK(s);
00791 CHECK(p);
00792 CHECK(c);
00793 return ConstTensor3View(mdata + OFFSET(l) + OFFSET(s) + OFFSET(p) + OFFSET(c),
00794 mvr, mbr, mrr,
00795 v, b, r );
00796 }
00797
00798
00799 ConstTensor4View ConstTensor7View::operator()
00800 ( const Range& l,
00801 Index v, const Range& s, const Range& b,
00802 Index p, const Range& r, Index c) const
00803 {
00804 CHECK(v);
00805 CHECK(p);
00806 CHECK(c);
00807 return ConstTensor4View(mdata + OFFSET(v) + OFFSET(p) + OFFSET(c),
00808 mlr, msr, mbr, mrr,
00809 l, s, b, r );
00810 }
00811
00812 ConstTensor3View ConstTensor7View::operator()
00813 ( Index l,
00814 Index v, const Range& s, const Range& b,
00815 Index p, const Range& r, Index c) const
00816 {
00817 CHECK(l);
00818 CHECK(v);
00819 CHECK(p);
00820 CHECK(c);
00821 return ConstTensor3View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(p) + OFFSET(c),
00822 msr, mbr, mrr,
00823 s, b, r );
00824 }
00825
00826
00827 ConstTensor4View ConstTensor7View::operator()
00828 ( const Range& l,
00829 const Range& v, Index s, Index b,
00830 const Range& p, const Range& r, Index c) const
00831 {
00832 CHECK(s);
00833 CHECK(b);
00834 CHECK(c);
00835 return ConstTensor4View(mdata + OFFSET(s) + OFFSET(b) + OFFSET(c),
00836 mlr, mvr, mpr, mrr,
00837 l, v, p, r );
00838 }
00839
00840 ConstTensor3View ConstTensor7View::operator()
00841 ( Index l,
00842 const Range& v, Index s, Index b,
00843 const Range& p, const Range& r, Index c) const
00844 {
00845 CHECK(l);
00846 CHECK(s);
00847 CHECK(b);
00848 CHECK(c);
00849 return ConstTensor3View(mdata + OFFSET(l) + OFFSET(s) + OFFSET(b) + OFFSET(c),
00850 mvr, mpr, mrr,
00851 v, p, r );
00852 }
00853
00854
00855 ConstTensor4View ConstTensor7View::operator()
00856 ( const Range& l,
00857 Index v, const Range& s, Index b,
00858 const Range& p, const Range& r, Index c) const
00859 {
00860 CHECK(v);
00861 CHECK(b);
00862 CHECK(c);
00863 return ConstTensor4View(mdata + OFFSET(v) + OFFSET(b) + OFFSET(c),
00864 mlr, msr, mpr, mrr,
00865 l, s, p, r );
00866 }
00867
00868 ConstTensor3View ConstTensor7View::operator()
00869 ( Index l,
00870 Index v, const Range& s, Index b,
00871 const Range& p, const Range& r, Index c) const
00872 {
00873 CHECK(l);
00874 CHECK(v);
00875 CHECK(b);
00876 CHECK(c);
00877 return ConstTensor3View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(b) + OFFSET(c),
00878 msr, mpr, mrr,
00879 s, p, r );
00880 }
00881
00882
00883 ConstTensor4View ConstTensor7View::operator()
00884 ( const Range& l,
00885 Index v, Index s, const Range& b,
00886 const Range& p, const Range& r, Index c) const
00887 {
00888 CHECK(v);
00889 CHECK(s);
00890 CHECK(c);
00891 return ConstTensor4View(mdata + OFFSET(v) + OFFSET(s) + OFFSET(c),
00892 mlr, mbr, mpr, mrr,
00893 l, b, p, r );
00894 }
00895
00896 ConstTensor3View ConstTensor7View::operator()
00897 ( Index l,
00898 Index v, Index s, const Range& b,
00899 const Range& p, const Range& r, Index c) const
00900 {
00901 CHECK(l);
00902 CHECK(v);
00903 CHECK(s);
00904 CHECK(c);
00905 return ConstTensor3View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(c),
00906 mbr, mpr, mrr,
00907 b, p, r );
00908 }
00909
00910
00911 ConstTensor4View ConstTensor7View::operator()
00912 ( const Range& l,
00913 const Range& v, const Range& s, Index b,
00914 Index p, Index r, const Range& c) const
00915 {
00916 CHECK(b);
00917 CHECK(p);
00918 CHECK(r);
00919 return ConstTensor4View(mdata + OFFSET(b) + OFFSET(p) + OFFSET(r),
00920 mlr, mvr, msr, mcr,
00921 l, v, s, c );
00922 }
00923
00924 ConstTensor3View ConstTensor7View::operator()
00925 ( Index l,
00926 const Range& v, const Range& s, Index b,
00927 Index p, Index r, const Range& c) const
00928 {
00929 CHECK(l);
00930 CHECK(b);
00931 CHECK(p);
00932 CHECK(r);
00933 return ConstTensor3View(mdata + OFFSET(l) + OFFSET(b) + OFFSET(p) + OFFSET(r),
00934 mvr, msr, mcr,
00935 v, s, c );
00936 }
00937
00938
00939 ConstTensor4View ConstTensor7View::operator()
00940 ( const Range& l,
00941 const Range& v, Index s, const Range& b,
00942 Index p, Index r, const Range& c) const
00943 {
00944 CHECK(s);
00945 CHECK(p);
00946 CHECK(r);
00947 return ConstTensor4View(mdata + OFFSET(s) + OFFSET(p) + OFFSET(r),
00948 mlr, mvr, mbr, mcr,
00949 l, v, b, c );
00950 }
00951
00952 ConstTensor3View ConstTensor7View::operator()
00953 ( Index l,
00954 const Range& v, Index s, const Range& b,
00955 Index p, Index r, const Range& c) const
00956 {
00957 CHECK(l);
00958 CHECK(s);
00959 CHECK(p);
00960 CHECK(r);
00961 return ConstTensor3View(mdata + OFFSET(l) + OFFSET(s) + OFFSET(p) + OFFSET(r),
00962 mvr, mbr, mcr,
00963 v, b, c );
00964 }
00965
00966
00967 ConstTensor4View ConstTensor7View::operator()
00968 ( const Range& l,
00969 Index v, const Range& s, const Range& b,
00970 Index p, Index r, const Range& c) const
00971 {
00972 CHECK(v);
00973 CHECK(p);
00974 CHECK(r);
00975 return ConstTensor4View(mdata + OFFSET(v) + OFFSET(p) + OFFSET(r),
00976 mlr, msr, mbr, mcr,
00977 l, s, b, c );
00978 }
00979
00980 ConstTensor3View ConstTensor7View::operator()
00981 ( Index l,
00982 Index v, const Range& s, const Range& b,
00983 Index p, Index r, const Range& c) const
00984 {
00985 CHECK(l);
00986 CHECK(v);
00987 CHECK(p);
00988 CHECK(r);
00989 return ConstTensor3View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(p) + OFFSET(r),
00990 msr, mbr, mcr,
00991 s, b, c );
00992 }
00993
00994
00995 ConstTensor4View ConstTensor7View::operator()
00996 ( const Range& l,
00997 const Range& v, Index s, Index b,
00998 const Range& p, Index r, const Range& c) const
00999 {
01000 CHECK(s);
01001 CHECK(b);
01002 CHECK(r);
01003 return ConstTensor4View(mdata + OFFSET(s) + OFFSET(b) + OFFSET(r),
01004 mlr, mvr, mpr, mcr,
01005 l, v, p, c );
01006 }
01007
01008 ConstTensor3View ConstTensor7View::operator()
01009 ( Index l,
01010 const Range& v, Index s, Index b,
01011 const Range& p, Index r, const Range& c) const
01012 {
01013 CHECK(l);
01014 CHECK(s);
01015 CHECK(b);
01016 CHECK(r);
01017 return ConstTensor3View(mdata + OFFSET(l) + OFFSET(s) + OFFSET(b) + OFFSET(r),
01018 mvr, mpr, mcr,
01019 v, p, c );
01020 }
01021
01022
01023 ConstTensor4View ConstTensor7View::operator()
01024 ( const Range& l,
01025 Index v, const Range& s, Index b,
01026 const Range& p, Index r, const Range& c) const
01027 {
01028 CHECK(v);
01029 CHECK(b);
01030 CHECK(r);
01031 return ConstTensor4View(mdata + OFFSET(v) + OFFSET(b) + OFFSET(r),
01032 mlr, msr, mpr, mcr,
01033 l, s, p, c );
01034 }
01035
01036 ConstTensor3View ConstTensor7View::operator()
01037 ( Index l,
01038 Index v, const Range& s, Index b,
01039 const Range& p, Index r, const Range& c) const
01040 {
01041 CHECK(l);
01042 CHECK(v);
01043 CHECK(b);
01044 CHECK(r);
01045 return ConstTensor3View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(b) + OFFSET(r),
01046 msr, mpr, mcr,
01047 s, p, c );
01048 }
01049
01050
01051 ConstTensor4View ConstTensor7View::operator()
01052 ( const Range& l,
01053 Index v, Index s, const Range& b,
01054 const Range& p, Index r, const Range& c) const
01055 {
01056 CHECK(v);
01057 CHECK(s);
01058 CHECK(r);
01059 return ConstTensor4View(mdata + OFFSET(v) + OFFSET(s) + OFFSET(r),
01060 mlr, mbr, mpr, mcr,
01061 l, b, p, c );
01062 }
01063
01064 ConstTensor3View ConstTensor7View::operator()
01065 ( Index l,
01066 Index v, Index s, const Range& b,
01067 const Range& p, Index r, const Range& c) const
01068 {
01069 CHECK(l);
01070 CHECK(v);
01071 CHECK(s);
01072 CHECK(r);
01073 return ConstTensor3View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(r),
01074 mbr, mpr, mcr,
01075 b, p, c );
01076 }
01077
01078
01079 ConstTensor4View ConstTensor7View::operator()
01080 ( const Range& l,
01081 const Range& v, Index s, Index b,
01082 Index p, const Range& r, const Range& c) const
01083 {
01084 CHECK(s);
01085 CHECK(b);
01086 CHECK(p);
01087 return ConstTensor4View(mdata + OFFSET(s) + OFFSET(b) + OFFSET(p),
01088 mlr, mvr, mrr, mcr,
01089 l, v, r, c );
01090 }
01091
01092 ConstTensor3View ConstTensor7View::operator()
01093 ( Index l,
01094 const Range& v, Index s, Index b,
01095 Index p, const Range& r, const Range& c) const
01096 {
01097 CHECK(l);
01098 CHECK(s);
01099 CHECK(b);
01100 CHECK(p);
01101 return ConstTensor3View(mdata + OFFSET(l) + OFFSET(s) + OFFSET(b) + OFFSET(p),
01102 mvr, mrr, mcr,
01103 v, r, c );
01104 }
01105
01106
01107 ConstTensor4View ConstTensor7View::operator()
01108 ( const Range& l,
01109 Index v, const Range& s, Index b,
01110 Index p, const Range& r, const Range& c) const
01111 {
01112 CHECK(v);
01113 CHECK(b);
01114 CHECK(p);
01115 return ConstTensor4View(mdata + OFFSET(v) + OFFSET(b) + OFFSET(p),
01116 mlr, msr, mrr, mcr,
01117 l, s, r, c );
01118 }
01119
01120 ConstTensor3View ConstTensor7View::operator()
01121 ( Index l,
01122 Index v, const Range& s, Index b,
01123 Index p, const Range& r, const Range& c) const
01124 {
01125 CHECK(l);
01126 CHECK(v);
01127 CHECK(b);
01128 CHECK(p);
01129 return ConstTensor3View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(b) + OFFSET(p),
01130 msr, mrr, mcr,
01131 s, r, c );
01132 }
01133
01134
01135 ConstTensor4View ConstTensor7View::operator()
01136 ( const Range& l,
01137 Index v, Index s, const Range& b,
01138 Index p, const Range& r, const Range& c) const
01139 {
01140 CHECK(v);
01141 CHECK(s);
01142 CHECK(p);
01143 return ConstTensor4View(mdata + OFFSET(v) + OFFSET(s) + OFFSET(p),
01144 mlr, mbr, mrr, mcr,
01145 l, b, r, c );
01146 }
01147
01148 ConstTensor3View ConstTensor7View::operator()
01149 ( Index l,
01150 Index v, Index s, const Range& b,
01151 Index p, const Range& r, const Range& c) const
01152 {
01153 CHECK(l);
01154 CHECK(v);
01155 CHECK(s);
01156 CHECK(p);
01157 return ConstTensor3View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(p),
01158 mbr, mrr, mcr,
01159 b, r, c );
01160 }
01161
01162
01163 ConstTensor4View ConstTensor7View::operator()
01164 ( const Range& l,
01165 Index v, Index s, Index b,
01166 const Range& p, const Range& r, const Range& c) const
01167 {
01168 CHECK(v);
01169 CHECK(s);
01170 CHECK(b);
01171 return ConstTensor4View(mdata + OFFSET(v) + OFFSET(s) + OFFSET(b),
01172 mlr, mpr, mrr, mcr,
01173 l, p, r, c );
01174 }
01175
01176 ConstTensor3View ConstTensor7View::operator()
01177 ( Index l,
01178 Index v, Index s, Index b,
01179 const Range& p, const Range& r, const Range& c) const
01180 {
01181 CHECK(l);
01182 CHECK(v);
01183 CHECK(s);
01184 CHECK(b);
01185 return ConstTensor3View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(b),
01186 mpr, mrr, mcr,
01187 p, r, c );
01188 }
01189
01190
01191 ConstTensor3View ConstTensor7View::operator()
01192 ( const Range& l,
01193 Index v, Index s, Index b,
01194 Index p, const Range& r, const Range& c) const
01195 {
01196 CHECK(v);
01197 CHECK(s);
01198 CHECK(b);
01199 CHECK(p);
01200 return ConstTensor3View(mdata + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(p),
01201 mlr, mrr, mcr,
01202 l, r, c );
01203 }
01204
01205 ConstMatrixView ConstTensor7View::operator()
01206 ( Index l,
01207 Index v, Index s, Index b,
01208 Index p, const Range& r, const Range& c) const
01209 {
01210 CHECK(l);
01211 CHECK(v);
01212 CHECK(s);
01213 CHECK(b);
01214 CHECK(p);
01215 return ConstMatrixView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(p),
01216 mrr, mcr,
01217 r, c );
01218 }
01219
01220
01221 ConstTensor3View ConstTensor7View::operator()
01222 ( const Range& l,
01223 Index v, Index s, Index b,
01224 const Range& p, Index r, const Range& c) const
01225 {
01226 CHECK(v);
01227 CHECK(s);
01228 CHECK(b);
01229 CHECK(r);
01230 return ConstTensor3View(mdata + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(r),
01231 mlr, mpr, mcr,
01232 l, p, c );
01233 }
01234
01235 ConstMatrixView ConstTensor7View::operator()
01236 ( Index l,
01237 Index v, Index s, Index b,
01238 const Range& p, Index r, const Range& c) const
01239 {
01240 CHECK(l);
01241 CHECK(v);
01242 CHECK(s);
01243 CHECK(b);
01244 CHECK(r);
01245 return ConstMatrixView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(r),
01246 mpr, mcr,
01247 p, c );
01248 }
01249
01250
01251 ConstTensor3View ConstTensor7View::operator()
01252 ( const Range& l,
01253 Index v, Index s, const Range& b,
01254 Index p, Index r, const Range& c) const
01255 {
01256 CHECK(v);
01257 CHECK(s);
01258 CHECK(p);
01259 CHECK(r);
01260 return ConstTensor3View(mdata + OFFSET(v) + OFFSET(s) + OFFSET(p) + OFFSET(r),
01261 mlr, mbr, mcr,
01262 l, b, c );
01263 }
01264
01265 ConstMatrixView ConstTensor7View::operator()
01266 ( Index l,
01267 Index v, Index s, const Range& b,
01268 Index p, Index r, const Range& c) const
01269 {
01270 CHECK(l);
01271 CHECK(v);
01272 CHECK(s);
01273 CHECK(p);
01274 CHECK(r);
01275 return ConstMatrixView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(p) + OFFSET(r),
01276 mbr, mcr,
01277 b, c );
01278 }
01279
01280
01281 ConstTensor3View ConstTensor7View::operator()
01282 ( const Range& l,
01283 Index v, const Range& s, Index b,
01284 Index p, Index r, const Range& c) const
01285 {
01286 CHECK(v);
01287 CHECK(b);
01288 CHECK(p);
01289 CHECK(r);
01290 return ConstTensor3View(mdata + OFFSET(v) + OFFSET(b) + OFFSET(p) + OFFSET(r),
01291 mlr, msr, mcr,
01292 l, s, c );
01293 }
01294
01295 ConstMatrixView ConstTensor7View::operator()
01296 ( Index l,
01297 Index v, const Range& s, Index b,
01298 Index p, Index r, const Range& c) const
01299 {
01300 CHECK(l);
01301 CHECK(v);
01302 CHECK(b);
01303 CHECK(p);
01304 CHECK(r);
01305 return ConstMatrixView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(b) + OFFSET(p) + OFFSET(r),
01306 msr, mcr,
01307 s, c );
01308 }
01309
01310
01311 ConstTensor3View ConstTensor7View::operator()
01312 ( const Range& l,
01313 const Range& v, Index s, Index b,
01314 Index p, Index r, const Range& c) const
01315 {
01316 CHECK(s);
01317 CHECK(b);
01318 CHECK(p);
01319 CHECK(r);
01320 return ConstTensor3View(mdata + OFFSET(s) + OFFSET(b) + OFFSET(p) + OFFSET(r),
01321 mlr, mvr, mcr,
01322 l, v, c );
01323 }
01324
01325 ConstMatrixView ConstTensor7View::operator()
01326 ( Index l,
01327 const Range& v, Index s, Index b,
01328 Index p, Index r, const Range& c) const
01329 {
01330 CHECK(l);
01331 CHECK(s);
01332 CHECK(b);
01333 CHECK(p);
01334 CHECK(r);
01335 return ConstMatrixView(mdata + OFFSET(l) + OFFSET(s) + OFFSET(b) + OFFSET(p) + OFFSET(r),
01336 mvr, mcr,
01337 v, c );
01338 }
01339
01340
01341 ConstTensor3View ConstTensor7View::operator()
01342 ( const Range& l,
01343 Index v, Index s, Index b,
01344 const Range& p, const Range& r, Index c) const
01345 {
01346 CHECK(v);
01347 CHECK(s);
01348 CHECK(b);
01349 CHECK(c);
01350 return ConstTensor3View(mdata + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(c),
01351 mlr, mpr, mrr,
01352 l, p, r );
01353 }
01354
01355 ConstMatrixView ConstTensor7View::operator()
01356 ( Index l,
01357 Index v, Index s, Index b,
01358 const Range& p, const Range& r, Index c) const
01359 {
01360 CHECK(l);
01361 CHECK(v);
01362 CHECK(s);
01363 CHECK(b);
01364 CHECK(c);
01365 return ConstMatrixView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(c),
01366 mpr, mrr,
01367 p, r );
01368 }
01369
01370
01371 ConstTensor3View ConstTensor7View::operator()
01372 ( const Range& l,
01373 Index v, Index s, const Range& b,
01374 Index p, const Range& r, Index c) const
01375 {
01376 CHECK(v);
01377 CHECK(s);
01378 CHECK(p);
01379 CHECK(c);
01380 return ConstTensor3View(mdata + OFFSET(v) + OFFSET(s) + OFFSET(p) + OFFSET(c),
01381 mlr, mbr, mrr,
01382 l, b, r );
01383 }
01384
01385 ConstMatrixView ConstTensor7View::operator()
01386 ( Index l,
01387 Index v, Index s, const Range& b,
01388 Index p, const Range& r, Index c) const
01389 {
01390 CHECK(l);
01391 CHECK(v);
01392 CHECK(s);
01393 CHECK(p);
01394 CHECK(c);
01395 return ConstMatrixView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(p) + OFFSET(c),
01396 mbr, mrr,
01397 b, r );
01398 }
01399
01400
01401 ConstTensor3View ConstTensor7View::operator()
01402 ( const Range& l,
01403 Index v, const Range& s, Index b,
01404 Index p, const Range& r, Index c) const
01405 {
01406 CHECK(v);
01407 CHECK(b);
01408 CHECK(p);
01409 CHECK(c);
01410 return ConstTensor3View(mdata + OFFSET(v) + OFFSET(b) + OFFSET(p) + OFFSET(c),
01411 mlr, msr, mrr,
01412 l, s, r );
01413 }
01414
01415 ConstMatrixView ConstTensor7View::operator()
01416 ( Index l,
01417 Index v, const Range& s, Index b,
01418 Index p, const Range& r, Index c) const
01419 {
01420 CHECK(l);
01421 CHECK(v);
01422 CHECK(b);
01423 CHECK(p);
01424 CHECK(c);
01425 return ConstMatrixView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(b) + OFFSET(p) + OFFSET(c),
01426 msr, mrr,
01427 s, r );
01428 }
01429
01430
01431 ConstTensor3View ConstTensor7View::operator()
01432 ( const Range& l,
01433 const Range& v, Index s, Index b,
01434 Index p, const Range& r, Index c) const
01435 {
01436 CHECK(s);
01437 CHECK(b);
01438 CHECK(p);
01439 CHECK(c);
01440 return ConstTensor3View(mdata + OFFSET(s) + OFFSET(b) + OFFSET(p) + OFFSET(c),
01441 mlr, mvr, mrr,
01442 l, v, r );
01443 }
01444
01445 ConstMatrixView ConstTensor7View::operator()
01446 ( Index l,
01447 const Range& v, Index s, Index b,
01448 Index p, const Range& r, Index c) const
01449 {
01450 CHECK(l);
01451 CHECK(s);
01452 CHECK(b);
01453 CHECK(p);
01454 CHECK(c);
01455 return ConstMatrixView(mdata + OFFSET(l) + OFFSET(s) + OFFSET(b) + OFFSET(p) + OFFSET(c),
01456 mvr, mrr,
01457 v, r );
01458 }
01459
01460
01461 ConstTensor3View ConstTensor7View::operator()
01462 ( const Range& l,
01463 Index v, Index s, const Range& b,
01464 const Range& p, Index r, Index c) const
01465 {
01466 CHECK(v);
01467 CHECK(s);
01468 CHECK(r);
01469 CHECK(c);
01470 return ConstTensor3View(mdata + OFFSET(v) + OFFSET(s) + OFFSET(r) + OFFSET(c),
01471 mlr, mbr, mpr,
01472 l, b, p );
01473 }
01474
01475 ConstMatrixView ConstTensor7View::operator()
01476 ( Index l,
01477 Index v, Index s, const Range& b,
01478 const Range& p, Index r, Index c) const
01479 {
01480 CHECK(l);
01481 CHECK(v);
01482 CHECK(s);
01483 CHECK(r);
01484 CHECK(c);
01485 return ConstMatrixView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(r) + OFFSET(c),
01486 mbr, mpr,
01487 b, p );
01488 }
01489
01490
01491 ConstTensor3View ConstTensor7View::operator()
01492 ( const Range& l,
01493 Index v, const Range& s, Index b,
01494 const Range& p, Index r, Index c) const
01495 {
01496 CHECK(v);
01497 CHECK(b);
01498 CHECK(r);
01499 CHECK(c);
01500 return ConstTensor3View(mdata + OFFSET(v) + OFFSET(b) + OFFSET(r) + OFFSET(c),
01501 mlr, msr, mpr,
01502 l, s, p );
01503 }
01504
01505 ConstMatrixView ConstTensor7View::operator()
01506 ( Index l,
01507 Index v, const Range& s, Index b,
01508 const Range& p, Index r, Index c) const
01509 {
01510 CHECK(l);
01511 CHECK(v);
01512 CHECK(b);
01513 CHECK(r);
01514 CHECK(c);
01515 return ConstMatrixView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(b) + OFFSET(r) + OFFSET(c),
01516 msr, mpr,
01517 s, p );
01518 }
01519
01520
01521 ConstTensor3View ConstTensor7View::operator()
01522 ( const Range& l,
01523 const Range& v, Index s, Index b,
01524 const Range& p, Index r, Index c) const
01525 {
01526 CHECK(s);
01527 CHECK(b);
01528 CHECK(r);
01529 CHECK(c);
01530 return ConstTensor3View(mdata + OFFSET(s) + OFFSET(b) + OFFSET(r) + OFFSET(c),
01531 mlr, mvr, mpr,
01532 l, v, p );
01533 }
01534
01535 ConstMatrixView ConstTensor7View::operator()
01536 ( Index l,
01537 const Range& v, Index s, Index b,
01538 const Range& p, Index r, Index c) const
01539 {
01540 CHECK(l);
01541 CHECK(s);
01542 CHECK(b);
01543 CHECK(r);
01544 CHECK(c);
01545 return ConstMatrixView(mdata + OFFSET(l) + OFFSET(s) + OFFSET(b) + OFFSET(r) + OFFSET(c),
01546 mvr, mpr,
01547 v, p );
01548 }
01549
01550
01551 ConstTensor3View ConstTensor7View::operator()
01552 ( const Range& l,
01553 Index v, const Range& s, const Range& b,
01554 Index p, Index r, Index c) const
01555 {
01556 CHECK(v);
01557 CHECK(p);
01558 CHECK(r);
01559 CHECK(c);
01560 return ConstTensor3View(mdata + OFFSET(v) + OFFSET(p) + OFFSET(r) + OFFSET(c),
01561 mlr, msr, mbr,
01562 l, s, b );
01563 }
01564
01565 ConstMatrixView ConstTensor7View::operator()
01566 ( Index l,
01567 Index v, const Range& s, const Range& b,
01568 Index p, Index r, Index c) const
01569 {
01570 CHECK(l);
01571 CHECK(v);
01572 CHECK(p);
01573 CHECK(r);
01574 CHECK(c);
01575 return ConstMatrixView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(p) + OFFSET(r) + OFFSET(c),
01576 msr, mbr,
01577 s, b );
01578 }
01579
01580
01581 ConstTensor3View ConstTensor7View::operator()
01582 ( const Range& l,
01583 const Range& v, Index s, const Range& b,
01584 Index p, Index r, Index c) const
01585 {
01586 CHECK(s);
01587 CHECK(p);
01588 CHECK(r);
01589 CHECK(c);
01590 return ConstTensor3View(mdata + OFFSET(s) + OFFSET(p) + OFFSET(r) + OFFSET(c),
01591 mlr, mvr, mbr,
01592 l, v, b );
01593 }
01594
01595 ConstMatrixView ConstTensor7View::operator()
01596 ( Index l,
01597 const Range& v, Index s, const Range& b,
01598 Index p, Index r, Index c) const
01599 {
01600 CHECK(l);
01601 CHECK(s);
01602 CHECK(p);
01603 CHECK(r);
01604 CHECK(c);
01605 return ConstMatrixView(mdata + OFFSET(l) + OFFSET(s) + OFFSET(p) + OFFSET(r) + OFFSET(c),
01606 mvr, mbr,
01607 v, b );
01608 }
01609
01610
01611 ConstTensor3View ConstTensor7View::operator()
01612 ( const Range& l,
01613 const Range& v, const Range& s, Index b,
01614 Index p, Index r, Index c) const
01615 {
01616 CHECK(b);
01617 CHECK(p);
01618 CHECK(r);
01619 CHECK(c);
01620 return ConstTensor3View(mdata + OFFSET(b) + OFFSET(p) + OFFSET(r) + OFFSET(c),
01621 mlr, mvr, msr,
01622 l, v, s );
01623 }
01624
01625 ConstMatrixView ConstTensor7View::operator()
01626 ( Index l,
01627 const Range& v, const Range& s, Index b,
01628 Index p, Index r, Index c) const
01629 {
01630 CHECK(l);
01631 CHECK(b);
01632 CHECK(p);
01633 CHECK(r);
01634 CHECK(c);
01635 return ConstMatrixView(mdata + OFFSET(l) + OFFSET(b) + OFFSET(p) + OFFSET(r) + OFFSET(c),
01636 mvr, msr,
01637 v, s );
01638 }
01639
01640
01641 ConstMatrixView ConstTensor7View::operator()
01642 ( const Range& l,
01643 Index v, Index s, Index b,
01644 Index p, Index r, const Range& c) const
01645 {
01646 CHECK(v);
01647 CHECK(s);
01648 CHECK(b);
01649 CHECK(p);
01650 CHECK(r);
01651 return ConstMatrixView(mdata + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(p) + OFFSET(r),
01652 mlr, mcr,
01653 l, c );
01654 }
01655
01656 ConstVectorView ConstTensor7View::operator()
01657 ( Index l,
01658 Index v, Index s, Index b,
01659 Index p, Index r, const Range& c) const
01660 {
01661 CHECK(l);
01662 CHECK(v);
01663 CHECK(s);
01664 CHECK(b);
01665 CHECK(p);
01666 CHECK(r);
01667 return ConstVectorView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(p) + OFFSET(r),
01668 mcr,
01669 c );
01670 }
01671
01672
01673 ConstMatrixView ConstTensor7View::operator()
01674 ( const Range& l,
01675 Index v, Index s, Index b,
01676 Index p, const Range& r, Index c) const
01677 {
01678 CHECK(v);
01679 CHECK(s);
01680 CHECK(b);
01681 CHECK(p);
01682 CHECK(c);
01683 return ConstMatrixView(mdata + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(p) + OFFSET(c),
01684 mlr, mrr,
01685 l, r );
01686 }
01687
01688 ConstVectorView ConstTensor7View::operator()
01689 ( Index l,
01690 Index v, Index s, Index b,
01691 Index p, const Range& r, Index c) const
01692 {
01693 CHECK(l);
01694 CHECK(v);
01695 CHECK(s);
01696 CHECK(b);
01697 CHECK(p);
01698 CHECK(c);
01699 return ConstVectorView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(p) + OFFSET(c),
01700 mrr,
01701 r );
01702 }
01703
01704
01705 ConstMatrixView ConstTensor7View::operator()
01706 ( const Range& l,
01707 Index v, Index s, Index b,
01708 const Range& p, Index r, Index c) const
01709 {
01710 CHECK(v);
01711 CHECK(s);
01712 CHECK(b);
01713 CHECK(r);
01714 CHECK(c);
01715 return ConstMatrixView(mdata + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(r) + OFFSET(c),
01716 mlr, mpr,
01717 l, p );
01718 }
01719
01720 ConstVectorView ConstTensor7View::operator()
01721 ( Index l,
01722 Index v, Index s, Index b,
01723 const Range& p, Index r, Index c) const
01724 {
01725 CHECK(l);
01726 CHECK(v);
01727 CHECK(s);
01728 CHECK(b);
01729 CHECK(r);
01730 CHECK(c);
01731 return ConstVectorView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(r) + OFFSET(c),
01732 mpr,
01733 p );
01734 }
01735
01736
01737 ConstMatrixView ConstTensor7View::operator()
01738 ( const Range& l,
01739 Index v, Index s, const Range& b,
01740 Index p, Index r, Index c) const
01741 {
01742 CHECK(v);
01743 CHECK(s);
01744 CHECK(p);
01745 CHECK(r);
01746 CHECK(c);
01747 return ConstMatrixView(mdata + OFFSET(v) + OFFSET(s) + OFFSET(p) + OFFSET(r) + OFFSET(c),
01748 mlr, mbr,
01749 l, b );
01750 }
01751
01752 ConstVectorView ConstTensor7View::operator()
01753 ( Index l,
01754 Index v, Index s, const Range& b,
01755 Index p, Index r, Index c) const
01756 {
01757 CHECK(l);
01758 CHECK(v);
01759 CHECK(s);
01760 CHECK(p);
01761 CHECK(r);
01762 CHECK(c);
01763 return ConstVectorView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(p) + OFFSET(r) + OFFSET(c),
01764 mbr,
01765 b );
01766 }
01767
01768
01769 ConstMatrixView ConstTensor7View::operator()
01770 ( const Range& l,
01771 Index v, const Range& s, Index b,
01772 Index p, Index r, Index c) const
01773 {
01774 CHECK(v);
01775 CHECK(b);
01776 CHECK(p);
01777 CHECK(r);
01778 CHECK(c);
01779 return ConstMatrixView(mdata + OFFSET(v) + OFFSET(b) + OFFSET(p) + OFFSET(r) + OFFSET(c),
01780 mlr, msr,
01781 l, s );
01782 }
01783
01784 ConstVectorView ConstTensor7View::operator()
01785 ( Index l,
01786 Index v, const Range& s, Index b,
01787 Index p, Index r, Index c) const
01788 {
01789 CHECK(l);
01790 CHECK(v);
01791 CHECK(b);
01792 CHECK(p);
01793 CHECK(r);
01794 CHECK(c);
01795 return ConstVectorView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(b) + OFFSET(p) + OFFSET(r) + OFFSET(c),
01796 msr,
01797 s );
01798 }
01799
01800
01801 ConstMatrixView ConstTensor7View::operator()
01802 ( const Range& l,
01803 const Range& v, Index s, Index b,
01804 Index p, Index r, Index c) const
01805 {
01806 CHECK(s);
01807 CHECK(b);
01808 CHECK(p);
01809 CHECK(r);
01810 CHECK(c);
01811 return ConstMatrixView(mdata + OFFSET(s) + OFFSET(b) + OFFSET(p) + OFFSET(r) + OFFSET(c),
01812 mlr, mvr,
01813 l, v );
01814 }
01815
01816 ConstVectorView ConstTensor7View::operator()
01817 ( Index l,
01818 const Range& v, Index s, Index b,
01819 Index p, Index r, Index c) const
01820 {
01821 CHECK(l);
01822 CHECK(s);
01823 CHECK(b);
01824 CHECK(p);
01825 CHECK(r);
01826 CHECK(c);
01827 return ConstVectorView(mdata + OFFSET(l) + OFFSET(s) + OFFSET(b) + OFFSET(p) + OFFSET(r) + OFFSET(c),
01828 mvr,
01829 v );
01830 }
01831
01832
01833 ConstVectorView ConstTensor7View::operator()
01834 ( const Range& l,
01835 Index v, Index s, Index b,
01836 Index p, Index r, Index c) const
01837 {
01838 CHECK(v);
01839 CHECK(s);
01840 CHECK(b);
01841 CHECK(p);
01842 CHECK(r);
01843 CHECK(c);
01844 return ConstVectorView( mdata +
01845 OFFSET(v) + OFFSET(s) + OFFSET(b) +
01846 OFFSET(p) + OFFSET(r) + OFFSET(c),
01847 mlr,
01848 l );
01849 }
01850
01852 ConstIterator7D ConstTensor7View::begin() const
01853 {
01854 return ConstIterator7D( ConstTensor6View(mdata+mlr.mstart,
01855 mvr,
01856 msr,
01857 mbr,
01858 mpr,
01859 mrr,
01860 mcr),
01861 mlr.mstride);
01862 }
01863
01865 ConstIterator7D ConstTensor7View::end() const
01866 {
01867 return ConstIterator7D( ConstTensor6View(mdata + mlr.mstart +
01868 (mlr.mextent)*mlr.mstride,
01869 mvr,
01870 msr,
01871 mbr,
01872 mpr,
01873 mrr,
01874 mcr),
01875 mlr.mstride );
01876 }
01877
01879 ConstTensor7View::ConstTensor7View(const ConstTensor6View& a) :
01880 mlr(0,1,
01881 a.mvr.mextent*
01882 a.msr.mextent*
01883 a.mbr.mextent*
01884 a.mpr.mextent*
01885 a.mrr.mextent*
01886 a.mcr.mextent),
01887 mvr(a.mvr),
01888 msr(a.msr),
01889 mbr(a.mbr),
01890 mpr(a.mpr),
01891 mrr(a.mrr),
01892 mcr(a.mcr),
01893 mdata(a.mdata)
01894 {
01895
01896 }
01897
01900 ConstTensor7View::ConstTensor7View() :
01901 mlr(0,0,1),
01902 mvr(0,0,1), msr(0,0,1), mbr(0,0,1),
01903 mpr(0,0,1), mrr(0,0,1), mcr(0,0,1),
01904 mdata(NULL)
01905 {
01906
01907 }
01908
01913 ConstTensor7View::ConstTensor7View(Numeric *data,
01914 const Range& l,
01915 const Range& v,
01916 const Range& s,
01917 const Range& b,
01918 const Range& p,
01919 const Range& r,
01920 const Range& c) :
01921 mlr(l),
01922 mvr(v),
01923 msr(s),
01924 mbr(b),
01925 mpr(p),
01926 mrr(r),
01927 mcr(c),
01928 mdata(data)
01929 {
01930
01931 }
01932
01940 ConstTensor7View::ConstTensor7View(Numeric *data,
01941 const Range& pl,
01942 const Range& pv,
01943 const Range& ps,
01944 const Range& pb,
01945 const Range& pp,
01946 const Range& pr,
01947 const Range& pc,
01948 const Range& nl,
01949 const Range& nv,
01950 const Range& ns,
01951 const Range& nb,
01952 const Range& np,
01953 const Range& nr,
01954 const Range& nc) :
01955 mlr(pl,nl),
01956 mvr(pv,nv),
01957 msr(ps,ns),
01958 mbr(pb,nb),
01959 mpr(pp,np),
01960 mrr(pr,nr),
01961 mcr(pc,nc),
01962 mdata(data)
01963 {
01964
01965 }
01966
01970 ostream& operator<<(ostream& os, const ConstTensor7View& v)
01971 {
01972
01973 ConstIterator7D ip=v.begin();
01974 const ConstIterator7D end_page=v.end();
01975
01976 if ( ip!=end_page )
01977 {
01978 os << *ip;
01979 ++ip;
01980 }
01981
01982 for ( ; ip!=end_page; ++ip )
01983 {
01984 os << "\n\n";
01985 os << *ip;
01986 }
01987
01988 return os;
01989 }
01990
01991
01992
01993
01994
01995
01996
01997
01998 ConstTensor7View Tensor7View::operator()
01999 ( const Range& l,
02000 const Range& v, const Range& s, const Range& b,
02001 const Range& p, const Range& r, const Range& c) const
02002 {
02003 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02004 }
02005
02006 ConstTensor6View Tensor7View::operator()
02007 ( Index l,
02008 const Range& v, const Range& s, const Range& b,
02009 const Range& p, const Range& r, const Range& c) const
02010 {
02011 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02012 }
02013
02014
02015 ConstTensor6View Tensor7View::operator()
02016 ( const Range& l,
02017 const Range& v, const Range& s, const Range& b,
02018 const Range& p, const Range& r, Index c) const
02019 {
02020 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02021 }
02022
02023 ConstTensor5View Tensor7View::operator()
02024 ( Index l,
02025 const Range& v, const Range& s, const Range& b,
02026 const Range& p, const Range& r, Index c) const
02027 {
02028 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02029 }
02030
02031
02032 ConstTensor6View Tensor7View::operator()
02033 ( const Range& l,
02034 const Range& v, const Range& s, const Range& b,
02035 const Range& p, Index r, const Range& c) const
02036 {
02037 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02038 }
02039
02040 ConstTensor5View Tensor7View::operator()
02041 ( Index l,
02042 const Range& v, const Range& s, const Range& b,
02043 const Range& p, Index r, const Range& c) const
02044 {
02045 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02046 }
02047
02048
02049 ConstTensor6View Tensor7View::operator()
02050 ( const Range& l,
02051 const Range& v, const Range& s, const Range& b,
02052 Index p, const Range& r, const Range& c) const
02053 {
02054 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02055 }
02056
02057 ConstTensor5View Tensor7View::operator()
02058 ( Index l,
02059 const Range& v, const Range& s, const Range& b,
02060 Index p, const Range& r, const Range& c) const
02061 {
02062 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02063 }
02064
02065
02066 ConstTensor6View Tensor7View::operator()
02067 ( const Range& l,
02068 const Range& v, const Range& s, Index b,
02069 const Range& p, const Range& r, const Range& c) const
02070 {
02071 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02072 }
02073
02074 ConstTensor5View Tensor7View::operator()
02075 ( Index l,
02076 const Range& v, const Range& s, Index b,
02077 const Range& p, const Range& r, const Range& c) const
02078 {
02079 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02080 }
02081
02082
02083 ConstTensor6View Tensor7View::operator()
02084 ( const Range& l,
02085 const Range& v, Index s, const Range& b,
02086 const Range& p, const Range& r, const Range& c) const
02087 {
02088 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02089 }
02090
02091 ConstTensor5View Tensor7View::operator()
02092 ( Index l,
02093 const Range& v, Index s, const Range& b,
02094 const Range& p, const Range& r, const Range& c) const
02095 {
02096 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02097 }
02098
02099
02100 ConstTensor6View Tensor7View::operator()
02101 ( const Range& l,
02102 Index v, const Range& s, const Range& b,
02103 const Range& p, const Range& r, const Range& c) const
02104 {
02105 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02106 }
02107
02108 ConstTensor5View Tensor7View::operator()
02109 ( Index l,
02110 Index v, const Range& s, const Range& b,
02111 const Range& p, const Range& r, const Range& c) const
02112 {
02113 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02114 }
02115
02116
02117 ConstTensor5View Tensor7View::operator()
02118 ( const Range& l,
02119 const Range& v, const Range& s, const Range& b,
02120 const Range& p, Index r, Index c) const
02121 {
02122 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02123 }
02124
02125 ConstTensor4View Tensor7View::operator()
02126 ( Index l,
02127 const Range& v, const Range& s, const Range& b,
02128 const Range& p, Index r, Index c) const
02129 {
02130 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02131 }
02132
02133
02134 ConstTensor5View Tensor7View::operator()
02135 ( const Range& l,
02136 const Range& v, const Range& s, const Range& b,
02137 Index p, const Range& r, Index c) const
02138 {
02139 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02140 }
02141
02142 ConstTensor4View Tensor7View::operator()
02143 ( Index l,
02144 const Range& v, const Range& s, const Range& b,
02145 Index p, const Range& r, Index c) const
02146 {
02147 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02148 }
02149
02150
02151 ConstTensor5View Tensor7View::operator()
02152 ( const Range& l,
02153 const Range& v, const Range& s, Index b,
02154 const Range& p, const Range& r, Index c) const
02155 {
02156 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02157 }
02158
02159 ConstTensor4View Tensor7View::operator()
02160 ( Index l,
02161 const Range& v, const Range& s, Index b,
02162 const Range& p, const Range& r, Index c) const
02163 {
02164 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02165 }
02166
02167
02168 ConstTensor5View Tensor7View::operator()
02169 ( const Range& l,
02170 const Range& v, Index s, const Range& b,
02171 const Range& p, const Range& r, Index c) const
02172 {
02173 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02174 }
02175
02176 ConstTensor4View Tensor7View::operator()
02177 ( Index l,
02178 const Range& v, Index s, const Range& b,
02179 const Range& p, const Range& r, Index c) const
02180 {
02181 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02182 }
02183
02184
02185 ConstTensor5View Tensor7View::operator()
02186 ( const Range& l,
02187 Index v, const Range& s, const Range& b,
02188 const Range& p, const Range& r, Index c) const
02189 {
02190 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02191 }
02192
02193 ConstTensor4View Tensor7View::operator()
02194 ( Index l,
02195 Index v, const Range& s, const Range& b,
02196 const Range& p, const Range& r, Index c) const
02197 {
02198 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02199 }
02200
02201
02202 ConstTensor5View Tensor7View::operator()
02203 ( const Range& l,
02204 const Range& v, const Range& s, const Range& b,
02205 Index p, Index r, const Range& c) const
02206 {
02207 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02208 }
02209
02210 ConstTensor4View Tensor7View::operator()
02211 ( Index l,
02212 const Range& v, const Range& s, const Range& b,
02213 Index p, Index r, const Range& c) const
02214 {
02215 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02216 }
02217
02218
02219 ConstTensor5View Tensor7View::operator()
02220 ( const Range& l,
02221 const Range& v, const Range& s, Index b,
02222 const Range& p, Index r, const Range& c) const
02223 {
02224 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02225 }
02226
02227 ConstTensor4View Tensor7View::operator()
02228 ( Index l,
02229 const Range& v, const Range& s, Index b,
02230 const Range& p, Index r, const Range& c) const
02231 {
02232 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02233 }
02234
02235
02236 ConstTensor5View Tensor7View::operator()
02237 ( const Range& l,
02238 const Range& v, Index s, const Range& b,
02239 const Range& p, Index r, const Range& c) const
02240 {
02241 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02242 }
02243
02244 ConstTensor4View Tensor7View::operator()
02245 ( Index l,
02246 const Range& v, Index s, const Range& b,
02247 const Range& p, Index r, const Range& c) const
02248 {
02249 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02250 }
02251
02252
02253 ConstTensor5View Tensor7View::operator()
02254 ( const Range& l,
02255 Index v, const Range& s, const Range& b,
02256 const Range& p, Index r, const Range& c) const
02257 {
02258 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02259 }
02260
02261 ConstTensor4View Tensor7View::operator()
02262 ( Index l,
02263 Index v, const Range& s, const Range& b,
02264 const Range& p, Index r, const Range& c) const
02265 {
02266 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02267 }
02268
02269
02270 ConstTensor5View Tensor7View::operator()
02271 ( const Range& l,
02272 const Range& v, const Range& s, Index b,
02273 Index p, const Range& r, const Range& c) const
02274 {
02275 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02276 }
02277
02278 ConstTensor4View Tensor7View::operator()
02279 ( Index l,
02280 const Range& v, const Range& s, Index b,
02281 Index p, const Range& r, const Range& c) const
02282 {
02283 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02284 }
02285
02286
02287 ConstTensor5View Tensor7View::operator()
02288 ( const Range& l,
02289 const Range& v, Index s, const Range& b,
02290 Index p, const Range& r, const Range& c) const
02291 {
02292 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02293 }
02294
02295 ConstTensor4View Tensor7View::operator()
02296 ( Index l,
02297 const Range& v, Index s, const Range& b,
02298 Index p, const Range& r, const Range& c) const
02299 {
02300 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02301 }
02302
02303
02304 ConstTensor5View Tensor7View::operator()
02305 ( const Range& l,
02306 Index v, const Range& s, const Range& b,
02307 Index p, const Range& r, const Range& c) const
02308 {
02309 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02310 }
02311
02312 ConstTensor4View Tensor7View::operator()
02313 ( Index l,
02314 Index v, const Range& s, const Range& b,
02315 Index p, const Range& r, const Range& c) const
02316 {
02317 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02318 }
02319
02320
02321 ConstTensor5View Tensor7View::operator()
02322 ( const Range& l,
02323 const Range& v, Index s, Index b,
02324 const Range& p, const Range& r, const Range& c) const
02325 {
02326 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02327 }
02328
02329 ConstTensor4View Tensor7View::operator()
02330 ( Index l,
02331 const Range& v, Index s, Index b,
02332 const Range& p, const Range& r, const Range& c) const
02333 {
02334 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02335 }
02336
02337
02338 ConstTensor5View Tensor7View::operator()
02339 ( const Range& l,
02340 Index v, const Range& s, Index b,
02341 const Range& p, const Range& r, const Range& c) const
02342 {
02343 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02344 }
02345
02346 ConstTensor4View Tensor7View::operator()
02347 ( Index l,
02348 Index v, const Range& s, Index b,
02349 const Range& p, const Range& r, const Range& c) const
02350 {
02351 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02352 }
02353
02354
02355 ConstTensor5View Tensor7View::operator()
02356 ( const Range& l,
02357 Index v, Index s, const Range& b,
02358 const Range& p, const Range& r, const Range& c) const
02359 {
02360 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02361 }
02362
02363 ConstTensor4View Tensor7View::operator()
02364 ( Index l,
02365 Index v, Index s, const Range& b,
02366 const Range& p, const Range& r, const Range& c) const
02367 {
02368 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02369 }
02370
02371
02372 ConstTensor4View Tensor7View::operator()
02373 ( const Range& l,
02374 const Range& v, const Range& s, const Range& b,
02375 Index p, Index r, Index c) const
02376 {
02377 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02378 }
02379
02380 ConstTensor3View Tensor7View::operator()
02381 ( Index l,
02382 const Range& v, const Range& s, const Range& b,
02383 Index p, Index r, Index c) const
02384 {
02385 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02386 }
02387
02388
02389 ConstTensor4View Tensor7View::operator()
02390 ( const Range& l,
02391 const Range& v, const Range& s, Index b,
02392 const Range& p, Index r, Index c) const
02393 {
02394 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02395 }
02396
02397 ConstTensor3View Tensor7View::operator()
02398 ( Index l,
02399 const Range& v, const Range& s, Index b,
02400 const Range& p, Index r, Index c) const
02401 {
02402 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02403 }
02404
02405
02406 ConstTensor4View Tensor7View::operator()
02407 ( const Range& l,
02408 const Range& v, Index s, const Range& b,
02409 const Range& p, Index r, Index c) const
02410 {
02411 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02412 }
02413
02414 ConstTensor3View Tensor7View::operator()
02415 ( Index l,
02416 const Range& v, Index s, const Range& b,
02417 const Range& p, Index r, Index c) const
02418 {
02419 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02420 }
02421
02422
02423 ConstTensor4View Tensor7View::operator()
02424 ( const Range& l,
02425 Index v, const Range& s, const Range& b,
02426 const Range& p, Index r, Index c) const
02427 {
02428 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02429 }
02430
02431 ConstTensor3View Tensor7View::operator()
02432 ( Index l,
02433 Index v, const Range& s, const Range& b,
02434 const Range& p, Index r, Index c) const
02435 {
02436 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02437 }
02438
02439
02440 ConstTensor4View Tensor7View::operator()
02441 ( const Range& l,
02442 const Range& v, const Range& s, Index b,
02443 Index p, const Range& r, Index c) const
02444 {
02445 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02446 }
02447
02448 ConstTensor3View Tensor7View::operator()
02449 ( Index l,
02450 const Range& v, const Range& s, Index b,
02451 Index p, const Range& r, Index c) const
02452 {
02453 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02454 }
02455
02456
02457 ConstTensor4View Tensor7View::operator()
02458 ( const Range& l,
02459 const Range& v, Index s, const Range& b,
02460 Index p, const Range& r, Index c) const
02461 {
02462 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02463 }
02464
02465 ConstTensor3View Tensor7View::operator()
02466 ( Index l,
02467 const Range& v, Index s, const Range& b,
02468 Index p, const Range& r, Index c) const
02469 {
02470 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02471 }
02472
02473
02474 ConstTensor4View Tensor7View::operator()
02475 ( const Range& l,
02476 Index v, const Range& s, const Range& b,
02477 Index p, const Range& r, Index c) const
02478 {
02479 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02480 }
02481
02482 ConstTensor3View Tensor7View::operator()
02483 ( Index l,
02484 Index v, const Range& s, const Range& b,
02485 Index p, const Range& r, Index c) const
02486 {
02487 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02488 }
02489
02490
02491 ConstTensor4View Tensor7View::operator()
02492 ( const Range& l,
02493 const Range& v, Index s, Index b,
02494 const Range& p, const Range& r, Index c) const
02495 {
02496 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02497 }
02498
02499 ConstTensor3View Tensor7View::operator()
02500 ( Index l,
02501 const Range& v, Index s, Index b,
02502 const Range& p, const Range& r, Index c) const
02503 {
02504 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02505 }
02506
02507
02508 ConstTensor4View Tensor7View::operator()
02509 ( const Range& l,
02510 Index v, const Range& s, Index b,
02511 const Range& p, const Range& r, Index c) const
02512 {
02513 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02514 }
02515
02516 ConstTensor3View Tensor7View::operator()
02517 ( Index l,
02518 Index v, const Range& s, Index b,
02519 const Range& p, const Range& r, Index c) const
02520 {
02521 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02522 }
02523
02524
02525 ConstTensor4View Tensor7View::operator()
02526 ( const Range& l,
02527 Index v, Index s, const Range& b,
02528 const Range& p, const Range& r, Index c) const
02529 {
02530 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02531 }
02532
02533 ConstTensor3View Tensor7View::operator()
02534 ( Index l,
02535 Index v, Index s, const Range& b,
02536 const Range& p, const Range& r, Index c) const
02537 {
02538 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02539 }
02540
02541
02542 ConstTensor4View Tensor7View::operator()
02543 ( const Range& l,
02544 const Range& v, const Range& s, Index b,
02545 Index p, Index r, const Range& c) const
02546 {
02547 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02548 }
02549
02550 ConstTensor3View Tensor7View::operator()
02551 ( Index l,
02552 const Range& v, const Range& s, Index b,
02553 Index p, Index r, const Range& c) const
02554 {
02555 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02556 }
02557
02558
02559 ConstTensor4View Tensor7View::operator()
02560 ( const Range& l,
02561 const Range& v, Index s, const Range& b,
02562 Index p, Index r, const Range& c) const
02563 {
02564 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02565 }
02566
02567 ConstTensor3View Tensor7View::operator()
02568 ( Index l,
02569 const Range& v, Index s, const Range& b,
02570 Index p, Index r, const Range& c) const
02571 {
02572 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02573 }
02574
02575
02576 ConstTensor4View Tensor7View::operator()
02577 ( const Range& l,
02578 Index v, const Range& s, const Range& b,
02579 Index p, Index r, const Range& c) const
02580 {
02581 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02582 }
02583
02584 ConstTensor3View Tensor7View::operator()
02585 ( Index l,
02586 Index v, const Range& s, const Range& b,
02587 Index p, Index r, const Range& c) const
02588 {
02589 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02590 }
02591
02592
02593 ConstTensor4View Tensor7View::operator()
02594 ( const Range& l,
02595 const Range& v, Index s, Index b,
02596 const Range& p, Index r, const Range& c) const
02597 {
02598 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02599 }
02600
02601 ConstTensor3View Tensor7View::operator()
02602 ( Index l,
02603 const Range& v, Index s, Index b,
02604 const Range& p, Index r, const Range& c) const
02605 {
02606 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02607 }
02608
02609
02610 ConstTensor4View Tensor7View::operator()
02611 ( const Range& l,
02612 Index v, const Range& s, Index b,
02613 const Range& p, Index r, const Range& c) const
02614 {
02615 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02616 }
02617
02618 ConstTensor3View Tensor7View::operator()
02619 ( Index l,
02620 Index v, const Range& s, Index b,
02621 const Range& p, Index r, const Range& c) const
02622 {
02623 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02624 }
02625
02626
02627 ConstTensor4View Tensor7View::operator()
02628 ( const Range& l,
02629 Index v, Index s, const Range& b,
02630 const Range& p, Index r, const Range& c) const
02631 {
02632 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02633 }
02634
02635 ConstTensor3View Tensor7View::operator()
02636 ( Index l,
02637 Index v, Index s, const Range& b,
02638 const Range& p, Index r, const Range& c) const
02639 {
02640 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02641 }
02642
02643
02644 ConstTensor4View Tensor7View::operator()
02645 ( const Range& l,
02646 const Range& v, Index s, Index b,
02647 Index p, const Range& r, const Range& c) const
02648 {
02649 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02650 }
02651
02652 ConstTensor3View Tensor7View::operator()
02653 ( Index l,
02654 const Range& v, Index s, Index b,
02655 Index p, const Range& r, const Range& c) const
02656 {
02657 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02658 }
02659
02660
02661 ConstTensor4View Tensor7View::operator()
02662 ( const Range& l,
02663 Index v, const Range& s, Index b,
02664 Index p, const Range& r, const Range& c) const
02665 {
02666 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02667 }
02668
02669 ConstTensor3View Tensor7View::operator()
02670 ( Index l,
02671 Index v, const Range& s, Index b,
02672 Index p, const Range& r, const Range& c) const
02673 {
02674 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02675 }
02676
02677
02678 ConstTensor4View Tensor7View::operator()
02679 ( const Range& l,
02680 Index v, Index s, const Range& b,
02681 Index p, const Range& r, const Range& c) const
02682 {
02683 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02684 }
02685
02686 ConstTensor3View Tensor7View::operator()
02687 ( Index l,
02688 Index v, Index s, const Range& b,
02689 Index p, const Range& r, const Range& c) const
02690 {
02691 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02692 }
02693
02694
02695 ConstTensor4View Tensor7View::operator()
02696 ( const Range& l,
02697 Index v, Index s, Index b,
02698 const Range& p, const Range& r, const Range& c) const
02699 {
02700 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02701 }
02702
02703 ConstTensor3View Tensor7View::operator()
02704 ( Index l,
02705 Index v, Index s, Index b,
02706 const Range& p, const Range& r, const Range& c) const
02707 {
02708 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02709 }
02710
02711
02712 ConstTensor3View Tensor7View::operator()
02713 ( const Range& l,
02714 Index v, Index s, Index b,
02715 Index p, const Range& r, const Range& c) const
02716 {
02717 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02718 }
02719
02720 ConstMatrixView Tensor7View::operator()
02721 ( Index l,
02722 Index v, Index s, Index b,
02723 Index p, const Range& r, const Range& c) const
02724 {
02725 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02726 }
02727
02728
02729 ConstTensor3View Tensor7View::operator()
02730 ( const Range& l,
02731 Index v, Index s, Index b,
02732 const Range& p, Index r, const Range& c) const
02733 {
02734 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02735 }
02736
02737 ConstMatrixView Tensor7View::operator()
02738 ( Index l,
02739 Index v, Index s, Index b,
02740 const Range& p, Index r, const Range& c) const
02741 {
02742 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02743 }
02744
02745
02746 ConstTensor3View Tensor7View::operator()
02747 ( const Range& l,
02748 Index v, Index s, const Range& b,
02749 Index p, Index r, const Range& c) const
02750 {
02751 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02752 }
02753
02754 ConstMatrixView Tensor7View::operator()
02755 ( Index l,
02756 Index v, Index s, const Range& b,
02757 Index p, Index r, const Range& c) const
02758 {
02759 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02760 }
02761
02762
02763 ConstTensor3View Tensor7View::operator()
02764 ( const Range& l,
02765 Index v, const Range& s, Index b,
02766 Index p, Index r, const Range& c) const
02767 {
02768 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02769 }
02770
02771 ConstMatrixView Tensor7View::operator()
02772 ( Index l,
02773 Index v, const Range& s, Index b,
02774 Index p, Index r, const Range& c) const
02775 {
02776 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02777 }
02778
02779
02780 ConstTensor3View Tensor7View::operator()
02781 ( const Range& l,
02782 const Range& v, Index s, Index b,
02783 Index p, Index r, const Range& c) const
02784 {
02785 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02786 }
02787
02788 ConstMatrixView Tensor7View::operator()
02789 ( Index l,
02790 const Range& v, Index s, Index b,
02791 Index p, Index r, const Range& c) const
02792 {
02793 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02794 }
02795
02796
02797 ConstTensor3View Tensor7View::operator()
02798 ( const Range& l,
02799 Index v, Index s, Index b,
02800 const Range& p, const Range& r, Index c) const
02801 {
02802 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02803 }
02804
02805 ConstMatrixView Tensor7View::operator()
02806 ( Index l,
02807 Index v, Index s, Index b,
02808 const Range& p, const Range& r, Index c) const
02809 {
02810 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02811 }
02812
02813
02814 ConstTensor3View Tensor7View::operator()
02815 ( const Range& l,
02816 Index v, Index s, const Range& b,
02817 Index p, const Range& r, Index c) const
02818 {
02819 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02820 }
02821
02822 ConstMatrixView Tensor7View::operator()
02823 ( Index l,
02824 Index v, Index s, const Range& b,
02825 Index p, const Range& r, Index c) const
02826 {
02827 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02828 }
02829
02830
02831 ConstTensor3View Tensor7View::operator()
02832 ( const Range& l,
02833 Index v, const Range& s, Index b,
02834 Index p, const Range& r, Index c) const
02835 {
02836 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02837 }
02838
02839 ConstMatrixView Tensor7View::operator()
02840 ( Index l,
02841 Index v, const Range& s, Index b,
02842 Index p, const Range& r, Index c) const
02843 {
02844 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02845 }
02846
02847
02848 ConstTensor3View Tensor7View::operator()
02849 ( const Range& l,
02850 const Range& v, Index s, Index b,
02851 Index p, const Range& r, Index c) const
02852 {
02853 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02854 }
02855
02856 ConstMatrixView Tensor7View::operator()
02857 ( Index l,
02858 const Range& v, Index s, Index b,
02859 Index p, const Range& r, Index c) const
02860 {
02861 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02862 }
02863
02864
02865 ConstTensor3View Tensor7View::operator()
02866 ( const Range& l,
02867 Index v, Index s, const Range& b,
02868 const Range& p, Index r, Index c) const
02869 {
02870 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02871 }
02872
02873 ConstMatrixView Tensor7View::operator()
02874 ( Index l,
02875 Index v, Index s, const Range& b,
02876 const Range& p, Index r, Index c) const
02877 {
02878 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02879 }
02880
02881
02882 ConstTensor3View Tensor7View::operator()
02883 ( const Range& l,
02884 Index v, const Range& s, Index b,
02885 const Range& p, Index r, Index c) const
02886 {
02887 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02888 }
02889
02890 ConstMatrixView Tensor7View::operator()
02891 ( Index l,
02892 Index v, const Range& s, Index b,
02893 const Range& p, Index r, Index c) const
02894 {
02895 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02896 }
02897
02898
02899 ConstTensor3View Tensor7View::operator()
02900 ( const Range& l,
02901 const Range& v, Index s, Index b,
02902 const Range& p, Index r, Index c) const
02903 {
02904 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02905 }
02906
02907 ConstMatrixView Tensor7View::operator()
02908 ( Index l,
02909 const Range& v, Index s, Index b,
02910 const Range& p, Index r, Index c) const
02911 {
02912 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02913 }
02914
02915
02916 ConstTensor3View Tensor7View::operator()
02917 ( const Range& l,
02918 Index v, const Range& s, const Range& b,
02919 Index p, Index r, Index c) const
02920 {
02921 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02922 }
02923
02924 ConstMatrixView Tensor7View::operator()
02925 ( Index l,
02926 Index v, const Range& s, const Range& b,
02927 Index p, Index r, Index c) const
02928 {
02929 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02930 }
02931
02932
02933 ConstTensor3View Tensor7View::operator()
02934 ( const Range& l,
02935 const Range& v, Index s, const Range& b,
02936 Index p, Index r, Index c) const
02937 {
02938 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02939 }
02940
02941 ConstMatrixView Tensor7View::operator()
02942 ( Index l,
02943 const Range& v, Index s, const Range& b,
02944 Index p, Index r, Index c) const
02945 {
02946 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02947 }
02948
02949
02950 ConstTensor3View Tensor7View::operator()
02951 ( const Range& l,
02952 const Range& v, const Range& s, Index b,
02953 Index p, Index r, Index c) const
02954 {
02955 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02956 }
02957
02958 ConstMatrixView Tensor7View::operator()
02959 ( Index l,
02960 const Range& v, const Range& s, Index b,
02961 Index p, Index r, Index c) const
02962 {
02963 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02964 }
02965
02966
02967 ConstMatrixView Tensor7View::operator()
02968 ( const Range& l,
02969 Index v, Index s, Index b,
02970 Index p, Index r, const Range& c) const
02971 {
02972 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02973 }
02974
02975 ConstVectorView Tensor7View::operator()
02976 ( Index l,
02977 Index v, Index s, Index b,
02978 Index p, Index r, const Range& c) const
02979 {
02980 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02981 }
02982
02983
02984 ConstMatrixView Tensor7View::operator()
02985 ( const Range& l,
02986 Index v, Index s, Index b,
02987 Index p, const Range& r, Index c) const
02988 {
02989 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02990 }
02991
02992 ConstVectorView Tensor7View::operator()
02993 ( Index l,
02994 Index v, Index s, Index b,
02995 Index p, const Range& r, Index c) const
02996 {
02997 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
02998 }
02999
03000
03001 ConstMatrixView Tensor7View::operator()
03002 ( const Range& l,
03003 Index v, Index s, Index b,
03004 const Range& p, Index r, Index c) const
03005 {
03006 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
03007 }
03008
03009 ConstVectorView Tensor7View::operator()
03010 ( Index l,
03011 Index v, Index s, Index b,
03012 const Range& p, Index r, Index c) const
03013 {
03014 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
03015 }
03016
03017
03018 ConstMatrixView Tensor7View::operator()
03019 ( const Range& l,
03020 Index v, Index s, const Range& b,
03021 Index p, Index r, Index c) const
03022 {
03023 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
03024 }
03025
03026 ConstVectorView Tensor7View::operator()
03027 ( Index l,
03028 Index v, Index s, const Range& b,
03029 Index p, Index r, Index c) const
03030 {
03031 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
03032 }
03033
03034
03035 ConstMatrixView Tensor7View::operator()
03036 ( const Range& l,
03037 Index v, const Range& s, Index b,
03038 Index p, Index r, Index c) const
03039 {
03040 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
03041 }
03042
03043 ConstVectorView Tensor7View::operator()
03044 ( Index l,
03045 Index v, const Range& s, Index b,
03046 Index p, Index r, Index c) const
03047 {
03048 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
03049 }
03050
03051
03052 ConstMatrixView Tensor7View::operator()
03053 ( const Range& l,
03054 const Range& v, Index s, Index b,
03055 Index p, Index r, Index c) const
03056 {
03057 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
03058 }
03059
03060 ConstVectorView Tensor7View::operator()
03061 ( Index l,
03062 const Range& v, Index s, Index b,
03063 Index p, Index r, Index c) const
03064 {
03065 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
03066 }
03067
03068
03069 ConstVectorView Tensor7View::operator()
03070 ( const Range& l,
03071 Index v, Index s, Index b,
03072 Index p, Index r, Index c) const
03073 {
03074 return ConstTensor7View::operator()(l,v,s,b,p,r,c);
03075 }
03076
03077
03078
03079
03080 Tensor7View Tensor7View::operator()
03081 ( const Range& l,
03082 const Range& v, const Range& s, const Range& b,
03083 const Range& p, const Range& r, const Range& c)
03084 {
03085 return Tensor7View(mdata,
03086 mlr, mvr, msr, mbr, mpr, mrr, mcr,
03087 l, v, s, b, p, r, c);
03088 }
03089
03090 Tensor6View Tensor7View::operator()
03091 ( Index l,
03092 const Range& v, const Range& s, const Range& b,
03093 const Range& p, const Range& r, const Range& c)
03094 {
03095 CHECK(l);
03096 return Tensor6View(mdata + OFFSET(l),
03097 mvr, msr, mbr, mpr, mrr, mcr,
03098 v, s, b, p, r, c);
03099 }
03100
03101
03102 Tensor6View Tensor7View::operator()
03103 ( const Range& l,
03104 const Range& v, const Range& s, const Range& b,
03105 const Range& p, const Range& r, Index c)
03106 {
03107 CHECK(c);
03108 return Tensor6View(mdata + OFFSET(c),
03109 mlr, mvr, msr, mbr, mpr, mrr,
03110 l, v, s, b, p, r);
03111 }
03112
03113 Tensor5View Tensor7View::operator()
03114 ( Index l,
03115 const Range& v, const Range& s, const Range& b,
03116 const Range& p, const Range& r, Index c)
03117 {
03118 CHECK(l);
03119 CHECK(c);
03120 return Tensor5View(mdata + OFFSET(l) + OFFSET(c),
03121 mvr, msr, mbr, mpr, mrr,
03122 v, s, b, p, r);
03123 }
03124
03125
03126 Tensor6View Tensor7View::operator()
03127 ( const Range& l,
03128 const Range& v, const Range& s, const Range& b,
03129 const Range& p, Index r, const Range& c)
03130 {
03131 CHECK(r);
03132 return Tensor6View(mdata + OFFSET(r),
03133 mlr, mvr, msr, mbr, mpr, mcr,
03134 l, v, s, b, p, c);
03135 }
03136
03137 Tensor5View Tensor7View::operator()
03138 ( Index l,
03139 const Range& v, const Range& s, const Range& b,
03140 const Range& p, Index r, const Range& c)
03141 {
03142 CHECK(l);
03143 CHECK(r);
03144 return Tensor5View(mdata + OFFSET(l) + OFFSET(r),
03145 mvr, msr, mbr, mpr, mcr,
03146 v, s, b, p, c);
03147 }
03148
03149
03150 Tensor6View Tensor7View::operator()
03151 ( const Range& l,
03152 const Range& v, const Range& s, const Range& b,
03153 Index p, const Range& r, const Range& c)
03154 {
03155 CHECK(p);
03156 return Tensor6View(mdata + OFFSET(p),
03157 mlr, mvr, msr, mbr, mrr, mcr,
03158 l, v, s, b, r, c);
03159 }
03160
03161 Tensor5View Tensor7View::operator()
03162 ( Index l,
03163 const Range& v, const Range& s, const Range& b,
03164 Index p, const Range& r, const Range& c)
03165 {
03166 CHECK(l);
03167 CHECK(p);
03168 return Tensor5View(mdata + OFFSET(l) + OFFSET(p),
03169 mvr, msr, mbr, mrr, mcr,
03170 v, s, b, r, c);
03171 }
03172
03173
03174 Tensor6View Tensor7View::operator()
03175 ( const Range& l,
03176 const Range& v, const Range& s, Index b,
03177 const Range& p, const Range& r, const Range& c)
03178 {
03179 CHECK(b);
03180 return Tensor6View(mdata + OFFSET(b),
03181 mlr, mvr, msr, mpr, mrr, mcr,
03182 l, v, s, p, r, c);
03183 }
03184
03185 Tensor5View Tensor7View::operator()
03186 ( Index l,
03187 const Range& v, const Range& s, Index b,
03188 const Range& p, const Range& r, const Range& c)
03189 {
03190 CHECK(l);
03191 CHECK(b);
03192 return Tensor5View(mdata + OFFSET(l) + OFFSET(b),
03193 mvr, msr, mpr, mrr, mcr,
03194 v, s, p, r, c);
03195 }
03196
03197
03198 Tensor6View Tensor7View::operator()
03199 ( const Range& l,
03200 const Range& v, Index s, const Range& b,
03201 const Range& p, const Range& r, const Range& c)
03202 {
03203 CHECK(s);
03204 return Tensor6View(mdata + OFFSET(s),
03205 mlr, mvr, mbr, mpr, mrr, mcr,
03206 l, v, b, p, r, c);
03207 }
03208
03209 Tensor5View Tensor7View::operator()
03210 ( Index l,
03211 const Range& v, Index s, const Range& b,
03212 const Range& p, const Range& r, const Range& c)
03213 {
03214 CHECK(l);
03215 CHECK(s);
03216 return Tensor5View(mdata + OFFSET(l) + OFFSET(s),
03217 mvr, mbr, mpr, mrr, mcr,
03218 v, b, p, r, c);
03219 }
03220
03221
03222 Tensor6View Tensor7View::operator()
03223 ( const Range& l,
03224 Index v, const Range& s, const Range& b,
03225 const Range& p, const Range& r, const Range& c)
03226 {
03227 CHECK(v);
03228 return Tensor6View(mdata + OFFSET(v),
03229 mlr, msr, mbr, mpr, mrr, mcr,
03230 l, s, b, p, r, c);
03231 }
03232
03233 Tensor5View Tensor7View::operator()
03234 ( Index l,
03235 Index v, const Range& s, const Range& b,
03236 const Range& p, const Range& r, const Range& c)
03237 {
03238 CHECK(l);
03239 CHECK(v);
03240 return Tensor5View(mdata + OFFSET(l) + OFFSET(v),
03241 msr, mbr, mpr, mrr, mcr,
03242 s, b, p, r, c);
03243 }
03244
03245
03246 Tensor5View Tensor7View::operator()
03247 ( const Range& l,
03248 const Range& v, const Range& s, const Range& b,
03249 const Range& p, Index r, Index c)
03250 {
03251 CHECK(r);
03252 CHECK(c);
03253 return Tensor5View(mdata + OFFSET(r) + OFFSET(c),
03254 mlr, mvr, msr, mbr, mpr,
03255 l, v, s, b, p );
03256 }
03257
03258 Tensor4View Tensor7View::operator()
03259 ( Index l,
03260 const Range& v, const Range& s, const Range& b,
03261 const Range& p, Index r, Index c)
03262 {
03263 CHECK(l);
03264 CHECK(r);
03265 CHECK(c);
03266 return Tensor4View(mdata + OFFSET(l) + OFFSET(r) + OFFSET(c),
03267 mvr, msr, mbr, mpr,
03268 v, s, b, p );
03269 }
03270
03271
03272 Tensor5View Tensor7View::operator()
03273 ( const Range& l,
03274 const Range& v, const Range& s, const Range& b,
03275 Index p, const Range& r, Index c)
03276 {
03277 CHECK(p);
03278 CHECK(c);
03279 return Tensor5View(mdata + OFFSET(p) + OFFSET(c),
03280 mlr, mvr, msr, mbr, mrr,
03281 l, v, s, b, r );
03282 }
03283
03284 Tensor4View Tensor7View::operator()
03285 ( Index l,
03286 const Range& v, const Range& s, const Range& b,
03287 Index p, const Range& r, Index c)
03288 {
03289 CHECK(l);
03290 CHECK(p);
03291 CHECK(c);
03292 return Tensor4View(mdata + OFFSET(l) + OFFSET(p) + OFFSET(c),
03293 mvr, msr, mbr, mrr,
03294 v, s, b, r );
03295 }
03296
03297
03298 Tensor5View Tensor7View::operator()
03299 ( const Range& l,
03300 const Range& v, const Range& s, Index b,
03301 const Range& p, const Range& r, Index c)
03302 {
03303 CHECK(b);
03304 CHECK(c);
03305 return Tensor5View(mdata + OFFSET(b) + OFFSET(c),
03306 mlr, mvr, msr, mpr, mrr,
03307 l, v, s, p, r );
03308 }
03309
03310 Tensor4View Tensor7View::operator()
03311 ( Index l,
03312 const Range& v, const Range& s, Index b,
03313 const Range& p, const Range& r, Index c)
03314 {
03315 CHECK(l);
03316 CHECK(b);
03317 CHECK(c);
03318 return Tensor4View(mdata + OFFSET(l) + OFFSET(b) + OFFSET(c),
03319 mvr, msr, mpr, mrr,
03320 v, s, p, r );
03321 }
03322
03323
03324 Tensor5View Tensor7View::operator()
03325 ( const Range& l,
03326 const Range& v, Index s, const Range& b,
03327 const Range& p, const Range& r, Index c)
03328 {
03329 CHECK(s);
03330 CHECK(c);
03331 return Tensor5View(mdata + OFFSET(s) + OFFSET(c),
03332 mlr, mvr, mbr, mpr, mrr,
03333 l, v, b, p, r );
03334 }
03335
03336 Tensor4View Tensor7View::operator()
03337 ( Index l,
03338 const Range& v, Index s, const Range& b,
03339 const Range& p, const Range& r, Index c)
03340 {
03341 CHECK(l);
03342 CHECK(s);
03343 CHECK(c);
03344 return Tensor4View(mdata + OFFSET(l) + OFFSET(s) + OFFSET(c),
03345 mvr, mbr, mpr, mrr,
03346 v, b, p, r );
03347 }
03348
03349
03350 Tensor5View Tensor7View::operator()
03351 ( const Range& l,
03352 Index v, const Range& s, const Range& b,
03353 const Range& p, const Range& r, Index c)
03354 {
03355 CHECK(v);
03356 CHECK(c);
03357 return Tensor5View(mdata + OFFSET(v) + OFFSET(c),
03358 mlr, msr, mbr, mpr, mrr,
03359 l, s, b, p, r );
03360 }
03361
03362 Tensor4View Tensor7View::operator()
03363 ( Index l,
03364 Index v, const Range& s, const Range& b,
03365 const Range& p, const Range& r, Index c)
03366 {
03367 CHECK(l);
03368 CHECK(v);
03369 CHECK(c);
03370 return Tensor4View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(c),
03371 msr, mbr, mpr, mrr,
03372 s, b, p, r );
03373 }
03374
03375
03376 Tensor5View Tensor7View::operator()
03377 ( const Range& l,
03378 const Range& v, const Range& s, const Range& b,
03379 Index p, Index r, const Range& c)
03380 {
03381 CHECK(p);
03382 CHECK(r);
03383 return Tensor5View(mdata + OFFSET(p) + OFFSET(r),
03384 mlr, mvr, msr, mbr, mcr,
03385 l, v, s, b, c );
03386 }
03387
03388 Tensor4View Tensor7View::operator()
03389 ( Index l,
03390 const Range& v, const Range& s, const Range& b,
03391 Index p, Index r, const Range& c)
03392 {
03393 CHECK(l);
03394 CHECK(p);
03395 CHECK(r);
03396 return Tensor4View(mdata + OFFSET(l) + OFFSET(p) + OFFSET(r),
03397 mvr, msr, mbr, mcr,
03398 v, s, b, c );
03399 }
03400
03401
03402 Tensor5View Tensor7View::operator()
03403 ( const Range& l,
03404 const Range& v, const Range& s, Index b,
03405 const Range& p, Index r, const Range& c)
03406 {
03407 CHECK(b);
03408 CHECK(r);
03409 return Tensor5View(mdata + OFFSET(b) + OFFSET(r),
03410 mlr, mvr, msr, mpr, mcr,
03411 l, v, s, p, c );
03412 }
03413
03414 Tensor4View Tensor7View::operator()
03415 ( Index l,
03416 const Range& v, const Range& s, Index b,
03417 const Range& p, Index r, const Range& c)
03418 {
03419 CHECK(l);
03420 CHECK(b);
03421 CHECK(r);
03422 return Tensor4View(mdata + OFFSET(l) + OFFSET(b) + OFFSET(r),
03423 mvr, msr, mpr, mcr,
03424 v, s, p, c );
03425 }
03426
03427
03428 Tensor5View Tensor7View::operator()
03429 ( const Range& l,
03430 const Range& v, Index s, const Range& b,
03431 const Range& p, Index r, const Range& c)
03432 {
03433 CHECK(s);
03434 CHECK(r);
03435 return Tensor5View(mdata + OFFSET(s) + OFFSET(r),
03436 mlr, mvr, mbr, mpr, mcr,
03437 l, v, b, p, c );
03438 }
03439
03440 Tensor4View Tensor7View::operator()
03441 ( Index l,
03442 const Range& v, Index s, const Range& b,
03443 const Range& p, Index r, const Range& c)
03444 {
03445 CHECK(l);
03446 CHECK(s);
03447 CHECK(r);
03448 return Tensor4View(mdata + OFFSET(l) + OFFSET(s) + OFFSET(r),
03449 mvr, mbr, mpr, mcr,
03450 v, b, p, c );
03451 }
03452
03453
03454 Tensor5View Tensor7View::operator()
03455 ( const Range& l,
03456 Index v, const Range& s, const Range& b,
03457 const Range& p, Index r, const Range& c)
03458 {
03459 CHECK(v);
03460 CHECK(r);
03461 return Tensor5View(mdata + OFFSET(v) + OFFSET(r),
03462 mlr, msr, mbr, mpr, mcr,
03463 l, s, b, p, c );
03464 }
03465
03466 Tensor4View Tensor7View::operator()
03467 ( Index l,
03468 Index v, const Range& s, const Range& b,
03469 const Range& p, Index r, const Range& c)
03470 {
03471 CHECK(l);
03472 CHECK(v);
03473 CHECK(r);
03474 return Tensor4View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(r),
03475 msr, mbr, mpr, mcr,
03476 s, b, p, c );
03477 }
03478
03479
03480 Tensor5View Tensor7View::operator()
03481 ( const Range& l,
03482 const Range& v, const Range& s, Index b,
03483 Index p, const Range& r, const Range& c)
03484 {
03485 CHECK(b);
03486 CHECK(p);
03487 return Tensor5View(mdata + OFFSET(b) + OFFSET(p),
03488 mlr, mvr, msr, mrr, mcr,
03489 l, v, s, r, c );
03490 }
03491
03492 Tensor4View Tensor7View::operator()
03493 ( Index l,
03494 const Range& v, const Range& s, Index b,
03495 Index p, const Range& r, const Range& c)
03496 {
03497 CHECK(l);
03498 CHECK(b);
03499 CHECK(p);
03500 return Tensor4View(mdata + OFFSET(l) + OFFSET(b) + OFFSET(p),
03501 mvr, msr, mrr, mcr,
03502 v, s, r, c );
03503 }
03504
03505
03506 Tensor5View Tensor7View::operator()
03507 ( const Range& l,
03508 const Range& v, Index s, const Range& b,
03509 Index p, const Range& r, const Range& c)
03510 {
03511 CHECK(s);
03512 CHECK(p);
03513 return Tensor5View(mdata + OFFSET(s) + OFFSET(p),
03514 mlr, mvr, mbr, mrr, mcr,
03515 l, v, b, r, c );
03516 }
03517
03518 Tensor4View Tensor7View::operator()
03519 ( Index l,
03520 const Range& v, Index s, const Range& b,
03521 Index p, const Range& r, const Range& c)
03522 {
03523 CHECK(l);
03524 CHECK(s);
03525 CHECK(p);
03526 return Tensor4View(mdata + OFFSET(l) + OFFSET(s) + OFFSET(p),
03527 mvr, mbr, mrr, mcr,
03528 v, b, r, c );
03529 }
03530
03531
03532 Tensor5View Tensor7View::operator()
03533 ( const Range& l,
03534 Index v, const Range& s, const Range& b,
03535 Index p, const Range& r, const Range& c)
03536 {
03537 CHECK(v);
03538 CHECK(p);
03539 return Tensor5View(mdata + OFFSET(v) + OFFSET(p),
03540 mlr, msr, mbr, mrr, mcr,
03541 l, s, b, r, c );
03542 }
03543
03544 Tensor4View Tensor7View::operator()
03545 ( Index l,
03546 Index v, const Range& s, const Range& b,
03547 Index p, const Range& r, const Range& c)
03548 {
03549 CHECK(l);
03550 CHECK(v);
03551 CHECK(p);
03552 return Tensor4View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(p),
03553 msr, mbr, mrr, mcr,
03554 s, b, r, c );
03555 }
03556
03557
03558 Tensor5View Tensor7View::operator()
03559 ( const Range& l,
03560 const Range& v, Index s, Index b,
03561 const Range& p, const Range& r, const Range& c)
03562 {
03563 CHECK(s);
03564 CHECK(b);
03565 return Tensor5View(mdata + OFFSET(s) + OFFSET(b),
03566 mlr, mvr, mpr, mrr, mcr,
03567 l, v, p, r, c );
03568 }
03569
03570 Tensor4View Tensor7View::operator()
03571 ( Index l,
03572 const Range& v, Index s, Index b,
03573 const Range& p, const Range& r, const Range& c)
03574 {
03575 CHECK(l);
03576 CHECK(s);
03577 CHECK(b);
03578 return Tensor4View(mdata + OFFSET(l) + OFFSET(s) + OFFSET(b),
03579 mvr, mpr, mrr, mcr,
03580 v, p, r, c );
03581 }
03582
03583
03584 Tensor5View Tensor7View::operator()
03585 ( const Range& l,
03586 Index v, const Range& s, Index b,
03587 const Range& p, const Range& r, const Range& c)
03588 {
03589 CHECK(v);
03590 CHECK(b);
03591 return Tensor5View(mdata + OFFSET(v) + OFFSET(b),
03592 mlr, msr, mpr, mrr, mcr,
03593 l, s, p, r, c );
03594 }
03595
03596 Tensor4View Tensor7View::operator()
03597 ( Index l,
03598 Index v, const Range& s, Index b,
03599 const Range& p, const Range& r, const Range& c)
03600 {
03601 CHECK(l);
03602 CHECK(v);
03603 CHECK(b);
03604 return Tensor4View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(b),
03605 msr, mpr, mrr, mcr,
03606 s, p, r, c );
03607 }
03608
03609
03610 Tensor5View Tensor7View::operator()
03611 ( const Range& l,
03612 Index v, Index s, const Range& b,
03613 const Range& p, const Range& r, const Range& c)
03614 {
03615 CHECK(v);
03616 CHECK(s);
03617 return Tensor5View(mdata + OFFSET(v) + OFFSET(s),
03618 mlr, mbr, mpr, mrr, mcr,
03619 l, b, p, r, c );
03620 }
03621
03622 Tensor4View Tensor7View::operator()
03623 ( Index l,
03624 Index v, Index s, const Range& b,
03625 const Range& p, const Range& r, const Range& c)
03626 {
03627 CHECK(l);
03628 CHECK(v);
03629 CHECK(s);
03630 return Tensor4View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s),
03631 mbr, mpr, mrr, mcr,
03632 b, p, r, c );
03633 }
03634
03635
03636 Tensor4View Tensor7View::operator()
03637 ( const Range& l,
03638 const Range& v, const Range& s, const Range& b,
03639 Index p, Index r, Index c)
03640 {
03641 CHECK(p);
03642 CHECK(r);
03643 CHECK(c);
03644 return Tensor4View(mdata + OFFSET(p) + OFFSET(r) + OFFSET(c),
03645 mlr, mvr, msr, mbr,
03646 l, v, s, b );
03647 }
03648
03649 Tensor3View Tensor7View::operator()
03650 ( Index l,
03651 const Range& v, const Range& s, const Range& b,
03652 Index p, Index r, Index c)
03653 {
03654 CHECK(l);
03655 CHECK(p);
03656 CHECK(r);
03657 CHECK(c);
03658 return Tensor3View(mdata + OFFSET(l) + OFFSET(p) + OFFSET(r) + OFFSET(c),
03659 mvr, msr, mbr,
03660 v, s, b );
03661 }
03662
03663
03664 Tensor4View Tensor7View::operator()
03665 ( const Range& l,
03666 const Range& v, const Range& s, Index b,
03667 const Range& p, Index r, Index c)
03668 {
03669 CHECK(b);
03670 CHECK(r);
03671 CHECK(c);
03672 return Tensor4View(mdata + OFFSET(b) + OFFSET(r) + OFFSET(c),
03673 mlr, mvr, msr, mpr,
03674 l, v, s, p );
03675 }
03676
03677 Tensor3View Tensor7View::operator()
03678 ( Index l,
03679 const Range& v, const Range& s, Index b,
03680 const Range& p, Index r, Index c)
03681 {
03682 CHECK(l);
03683 CHECK(b);
03684 CHECK(r);
03685 CHECK(c);
03686 return Tensor3View(mdata + OFFSET(l) + OFFSET(b) + OFFSET(r) + OFFSET(c),
03687 mvr, msr, mpr,
03688 v, s, p );
03689 }
03690
03691
03692 Tensor4View Tensor7View::operator()
03693 ( const Range& l,
03694 const Range& v, Index s, const Range& b,
03695 const Range& p, Index r, Index c)
03696 {
03697 CHECK(s);
03698 CHECK(r);
03699 CHECK(c);
03700 return Tensor4View(mdata + OFFSET(s) + OFFSET(r) + OFFSET(c),
03701 mlr, mvr, mbr, mpr,
03702 l, v, b, p );
03703 }
03704
03705 Tensor3View Tensor7View::operator()
03706 ( Index l,
03707 const Range& v, Index s, const Range& b,
03708 const Range& p, Index r, Index c)
03709 {
03710 CHECK(l);
03711 CHECK(s);
03712 CHECK(r);
03713 CHECK(c);
03714 return Tensor3View(mdata + OFFSET(l) + OFFSET(s) + OFFSET(r) + OFFSET(c),
03715 mvr, mbr, mpr,
03716 v, b, p );
03717 }
03718
03719
03720 Tensor4View Tensor7View::operator()
03721 ( const Range& l,
03722 Index v, const Range& s, const Range& b,
03723 const Range& p, Index r, Index c)
03724 {
03725 CHECK(v);
03726 CHECK(r);
03727 CHECK(c);
03728 return Tensor4View(mdata + OFFSET(v) + OFFSET(r) + OFFSET(c),
03729 mlr, msr, mbr, mpr,
03730 l, s, b, p );
03731 }
03732
03733 Tensor3View Tensor7View::operator()
03734 ( Index l,
03735 Index v, const Range& s, const Range& b,
03736 const Range& p, Index r, Index c)
03737 {
03738 CHECK(l);
03739 CHECK(v);
03740 CHECK(r);
03741 CHECK(c);
03742 return Tensor3View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(r) + OFFSET(c),
03743 msr, mbr, mpr,
03744 s, b, p );
03745 }
03746
03747
03748 Tensor4View Tensor7View::operator()
03749 ( const Range& l,
03750 const Range& v, const Range& s, Index b,
03751 Index p, const Range& r, Index c)
03752 {
03753 CHECK(b);
03754 CHECK(p);
03755 CHECK(c);
03756 return Tensor4View(mdata + OFFSET(b) + OFFSET(p) + OFFSET(c),
03757 mlr, mvr, msr, mrr,
03758 l, v, s, r );
03759 }
03760
03761 Tensor3View Tensor7View::operator()
03762 ( Index l,
03763 const Range& v, const Range& s, Index b,
03764 Index p, const Range& r, Index c)
03765 {
03766 CHECK(l);
03767 CHECK(b);
03768 CHECK(p);
03769 CHECK(c);
03770 return Tensor3View(mdata + OFFSET(l) + OFFSET(b) + OFFSET(p) + OFFSET(c),
03771 mvr, msr, mrr,
03772 v, s, r );
03773 }
03774
03775
03776 Tensor4View Tensor7View::operator()
03777 ( const Range& l,
03778 const Range& v, Index s, const Range& b,
03779 Index p, const Range& r, Index c)
03780 {
03781 CHECK(s);
03782 CHECK(p);
03783 CHECK(c);
03784 return Tensor4View(mdata + OFFSET(s) + OFFSET(p) + OFFSET(c),
03785 mlr, mvr, mbr, mrr,
03786 l, v, b, r );
03787 }
03788
03789 Tensor3View Tensor7View::operator()
03790 ( Index l,
03791 const Range& v, Index s, const Range& b,
03792 Index p, const Range& r, Index c)
03793 {
03794 CHECK(l);
03795 CHECK(s);
03796 CHECK(p);
03797 CHECK(c);
03798 return Tensor3View(mdata + OFFSET(l) + OFFSET(s) + OFFSET(p) + OFFSET(c),
03799 mvr, mbr, mrr,
03800 v, b, r );
03801 }
03802
03803
03804 Tensor4View Tensor7View::operator()
03805 ( const Range& l,
03806 Index v, const Range& s, const Range& b,
03807 Index p, const Range& r, Index c)
03808 {
03809 CHECK(v);
03810 CHECK(p);
03811 CHECK(c);
03812 return Tensor4View(mdata + OFFSET(v) + OFFSET(p) + OFFSET(c),
03813 mlr, msr, mbr, mrr,
03814 l, s, b, r );
03815 }
03816
03817 Tensor3View Tensor7View::operator()
03818 ( Index l,
03819 Index v, const Range& s, const Range& b,
03820 Index p, const Range& r, Index c)
03821 {
03822 CHECK(l);
03823 CHECK(v);
03824 CHECK(p);
03825 CHECK(c);
03826 return Tensor3View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(p) + OFFSET(c),
03827 msr, mbr, mrr,
03828 s, b, r );
03829 }
03830
03831
03832 Tensor4View Tensor7View::operator()
03833 ( const Range& l,
03834 const Range& v, Index s, Index b,
03835 const Range& p, const Range& r, Index c)
03836 {
03837 CHECK(s);
03838 CHECK(b);
03839 CHECK(c);
03840 return Tensor4View(mdata + OFFSET(s) + OFFSET(b) + OFFSET(c),
03841 mlr, mvr, mpr, mrr,
03842 l, v, p, r );
03843 }
03844
03845 Tensor3View Tensor7View::operator()
03846 ( Index l,
03847 const Range& v, Index s, Index b,
03848 const Range& p, const Range& r, Index c)
03849 {
03850 CHECK(l);
03851 CHECK(s);
03852 CHECK(b);
03853 CHECK(c);
03854 return Tensor3View(mdata + OFFSET(l) + OFFSET(s) + OFFSET(b) + OFFSET(c),
03855 mvr, mpr, mrr,
03856 v, p, r );
03857 }
03858
03859
03860 Tensor4View Tensor7View::operator()
03861 ( const Range& l,
03862 Index v, const Range& s, Index b,
03863 const Range& p, const Range& r, Index c)
03864 {
03865 CHECK(v);
03866 CHECK(b);
03867 CHECK(c);
03868 return Tensor4View(mdata + OFFSET(v) + OFFSET(b) + OFFSET(c),
03869 mlr, msr, mpr, mrr,
03870 l, s, p, r );
03871 }
03872
03873 Tensor3View Tensor7View::operator()
03874 ( Index l,
03875 Index v, const Range& s, Index b,
03876 const Range& p, const Range& r, Index c)
03877 {
03878 CHECK(l);
03879 CHECK(v);
03880 CHECK(b);
03881 CHECK(c);
03882 return Tensor3View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(b) + OFFSET(c),
03883 msr, mpr, mrr,
03884 s, p, r );
03885 }
03886
03887
03888 Tensor4View Tensor7View::operator()
03889 ( const Range& l,
03890 Index v, Index s, const Range& b,
03891 const Range& p, const Range& r, Index c)
03892 {
03893 CHECK(v);
03894 CHECK(s);
03895 CHECK(c);
03896 return Tensor4View(mdata + OFFSET(v) + OFFSET(s) + OFFSET(c),
03897 mlr, mbr, mpr, mrr,
03898 l, b, p, r );
03899 }
03900
03901 Tensor3View Tensor7View::operator()
03902 ( Index l,
03903 Index v, Index s, const Range& b,
03904 const Range& p, const Range& r, Index c)
03905 {
03906 CHECK(l);
03907 CHECK(v);
03908 CHECK(s);
03909 CHECK(c);
03910 return Tensor3View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(c),
03911 mbr, mpr, mrr,
03912 b, p, r );
03913 }
03914
03915
03916 Tensor4View Tensor7View::operator()
03917 ( const Range& l,
03918 const Range& v, const Range& s, Index b,
03919 Index p, Index r, const Range& c)
03920 {
03921 CHECK(b);
03922 CHECK(p);
03923 CHECK(r);
03924 return Tensor4View(mdata + OFFSET(b) + OFFSET(p) + OFFSET(r),
03925 mlr, mvr, msr, mcr,
03926 l, v, s, c );
03927 }
03928
03929 Tensor3View Tensor7View::operator()
03930 ( Index l,
03931 const Range& v, const Range& s, Index b,
03932 Index p, Index r, const Range& c)
03933 {
03934 CHECK(l);
03935 CHECK(b);
03936 CHECK(p);
03937 CHECK(r);
03938 return Tensor3View(mdata + OFFSET(l) + OFFSET(b) + OFFSET(p) + OFFSET(r),
03939 mvr, msr, mcr,
03940 v, s, c );
03941 }
03942
03943
03944 Tensor4View Tensor7View::operator()
03945 ( const Range& l,
03946 const Range& v, Index s, const Range& b,
03947 Index p, Index r, const Range& c)
03948 {
03949 CHECK(s);
03950 CHECK(p);
03951 CHECK(r);
03952 return Tensor4View(mdata + OFFSET(s) + OFFSET(p) + OFFSET(r),
03953 mlr, mvr, mbr, mcr,
03954 l, v, b, c );
03955 }
03956
03957 Tensor3View Tensor7View::operator()
03958 ( Index l,
03959 const Range& v, Index s, const Range& b,
03960 Index p, Index r, const Range& c)
03961 {
03962 CHECK(l);
03963 CHECK(s);
03964 CHECK(p);
03965 CHECK(r);
03966 return Tensor3View(mdata + OFFSET(l) + OFFSET(s) + OFFSET(p) + OFFSET(r),
03967 mvr, mbr, mcr,
03968 v, b, c );
03969 }
03970
03971
03972 Tensor4View Tensor7View::operator()
03973 ( const Range& l,
03974 Index v, const Range& s, const Range& b,
03975 Index p, Index r, const Range& c)
03976 {
03977 CHECK(v);
03978 CHECK(p);
03979 CHECK(r);
03980 return Tensor4View(mdata + OFFSET(v) + OFFSET(p) + OFFSET(r),
03981 mlr, msr, mbr, mcr,
03982 l, s, b, c );
03983 }
03984
03985 Tensor3View Tensor7View::operator()
03986 ( Index l,
03987 Index v, const Range& s, const Range& b,
03988 Index p, Index r, const Range& c)
03989 {
03990 CHECK(l);
03991 CHECK(v);
03992 CHECK(p);
03993 CHECK(r);
03994 return Tensor3View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(p) + OFFSET(r),
03995 msr, mbr, mcr,
03996 s, b, c );
03997 }
03998
03999
04000 Tensor4View Tensor7View::operator()
04001 ( const Range& l,
04002 const Range& v, Index s, Index b,
04003 const Range& p, Index r, const Range& c)
04004 {
04005 CHECK(s);
04006 CHECK(b);
04007 CHECK(r);
04008 return Tensor4View(mdata + OFFSET(s) + OFFSET(b) + OFFSET(r),
04009 mlr, mvr, mpr, mcr,
04010 l, v, p, c );
04011 }
04012
04013 Tensor3View Tensor7View::operator()
04014 ( Index l,
04015 const Range& v, Index s, Index b,
04016 const Range& p, Index r, const Range& c)
04017 {
04018 CHECK(l);
04019 CHECK(s);
04020 CHECK(b);
04021 CHECK(r);
04022 return Tensor3View(mdata + OFFSET(l) + OFFSET(s) + OFFSET(b) + OFFSET(r),
04023 mvr, mpr, mcr,
04024 v, p, c );
04025 }
04026
04027
04028 Tensor4View Tensor7View::operator()
04029 ( const Range& l,
04030 Index v, const Range& s, Index b,
04031 const Range& p, Index r, const Range& c)
04032 {
04033 CHECK(v);
04034 CHECK(b);
04035 CHECK(r);
04036 return Tensor4View(mdata + OFFSET(v) + OFFSET(b) + OFFSET(r),
04037 mlr, msr, mpr, mcr,
04038 l, s, p, c );
04039 }
04040
04041 Tensor3View Tensor7View::operator()
04042 ( Index l,
04043 Index v, const Range& s, Index b,
04044 const Range& p, Index r, const Range& c)
04045 {
04046 CHECK(l);
04047 CHECK(v);
04048 CHECK(b);
04049 CHECK(r);
04050 return Tensor3View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(b) + OFFSET(r),
04051 msr, mpr, mcr,
04052 s, p, c );
04053 }
04054
04055
04056 Tensor4View Tensor7View::operator()
04057 ( const Range& l,
04058 Index v, Index s, const Range& b,
04059 const Range& p, Index r, const Range& c)
04060 {
04061 CHECK(v);
04062 CHECK(s);
04063 CHECK(r);
04064 return Tensor4View(mdata + OFFSET(v) + OFFSET(s) + OFFSET(r),
04065 mlr, mbr, mpr, mcr,
04066 l, b, p, c );
04067 }
04068
04069 Tensor3View Tensor7View::operator()
04070 ( Index l,
04071 Index v, Index s, const Range& b,
04072 const Range& p, Index r, const Range& c)
04073 {
04074 CHECK(l);
04075 CHECK(v);
04076 CHECK(s);
04077 CHECK(r);
04078 return Tensor3View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(r),
04079 mbr, mpr, mcr,
04080 b, p, c );
04081 }
04082
04083
04084 Tensor4View Tensor7View::operator()
04085 ( const Range& l,
04086 const Range& v, Index s, Index b,
04087 Index p, const Range& r, const Range& c)
04088 {
04089 CHECK(s);
04090 CHECK(b);
04091 CHECK(p);
04092 return Tensor4View(mdata + OFFSET(s) + OFFSET(b) + OFFSET(p),
04093 mlr, mvr, mrr, mcr,
04094 l, v, r, c );
04095 }
04096
04097 Tensor3View Tensor7View::operator()
04098 ( Index l,
04099 const Range& v, Index s, Index b,
04100 Index p, const Range& r, const Range& c)
04101 {
04102 CHECK(l);
04103 CHECK(s);
04104 CHECK(b);
04105 CHECK(p);
04106 return Tensor3View(mdata + OFFSET(l) + OFFSET(s) + OFFSET(b) + OFFSET(p),
04107 mvr, mrr, mcr,
04108 v, r, c );
04109 }
04110
04111
04112 Tensor4View Tensor7View::operator()
04113 ( const Range& l,
04114 Index v, const Range& s, Index b,
04115 Index p, const Range& r, const Range& c)
04116 {
04117 CHECK(v);
04118 CHECK(b);
04119 CHECK(p);
04120 return Tensor4View(mdata + OFFSET(v) + OFFSET(b) + OFFSET(p),
04121 mlr, msr, mrr, mcr,
04122 l, s, r, c );
04123 }
04124
04125 Tensor3View Tensor7View::operator()
04126 ( Index l,
04127 Index v, const Range& s, Index b,
04128 Index p, const Range& r, const Range& c)
04129 {
04130 CHECK(l);
04131 CHECK(v);
04132 CHECK(b);
04133 CHECK(p);
04134 return Tensor3View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(b) + OFFSET(p),
04135 msr, mrr, mcr,
04136 s, r, c );
04137 }
04138
04139
04140 Tensor4View Tensor7View::operator()
04141 ( const Range& l,
04142 Index v, Index s, const Range& b,
04143 Index p, const Range& r, const Range& c)
04144 {
04145 CHECK(v);
04146 CHECK(s);
04147 CHECK(p);
04148 return Tensor4View(mdata + OFFSET(v) + OFFSET(s) + OFFSET(p),
04149 mlr, mbr, mrr, mcr,
04150 l, b, r, c );
04151 }
04152
04153 Tensor3View Tensor7View::operator()
04154 ( Index l,
04155 Index v, Index s, const Range& b,
04156 Index p, const Range& r, const Range& c)
04157 {
04158 CHECK(l);
04159 CHECK(v);
04160 CHECK(s);
04161 CHECK(p);
04162 return Tensor3View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(p),
04163 mbr, mrr, mcr,
04164 b, r, c );
04165 }
04166
04167
04168 Tensor4View Tensor7View::operator()
04169 ( const Range& l,
04170 Index v, Index s, Index b,
04171 const Range& p, const Range& r, const Range& c)
04172 {
04173 CHECK(v);
04174 CHECK(s);
04175 CHECK(b);
04176 return Tensor4View(mdata + OFFSET(v) + OFFSET(s) + OFFSET(b),
04177 mlr, mpr, mrr, mcr,
04178 l, p, r, c );
04179 }
04180
04181 Tensor3View Tensor7View::operator()
04182 ( Index l,
04183 Index v, Index s, Index b,
04184 const Range& p, const Range& r, const Range& c)
04185 {
04186 CHECK(l);
04187 CHECK(v);
04188 CHECK(s);
04189 CHECK(b);
04190 return Tensor3View(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(b),
04191 mpr, mrr, mcr,
04192 p, r, c );
04193 }
04194
04195
04196 Tensor3View Tensor7View::operator()
04197 ( const Range& l,
04198 Index v, Index s, Index b,
04199 Index p, const Range& r, const Range& c)
04200 {
04201 CHECK(v);
04202 CHECK(s);
04203 CHECK(b);
04204 CHECK(p);
04205 return Tensor3View(mdata + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(p),
04206 mlr, mrr, mcr,
04207 l, r, c );
04208 }
04209
04210 MatrixView Tensor7View::operator()
04211 ( Index l,
04212 Index v, Index s, Index b,
04213 Index p, const Range& r, const Range& c)
04214 {
04215 CHECK(l);
04216 CHECK(v);
04217 CHECK(s);
04218 CHECK(b);
04219 CHECK(p);
04220 return MatrixView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(p),
04221 mrr, mcr,
04222 r, c );
04223 }
04224
04225
04226 Tensor3View Tensor7View::operator()
04227 ( const Range& l,
04228 Index v, Index s, Index b,
04229 const Range& p, Index r, const Range& c)
04230 {
04231 CHECK(v);
04232 CHECK(s);
04233 CHECK(b);
04234 CHECK(r);
04235 return Tensor3View(mdata + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(r),
04236 mlr, mpr, mcr,
04237 l, p, c );
04238 }
04239
04240 MatrixView Tensor7View::operator()
04241 ( Index l,
04242 Index v, Index s, Index b,
04243 const Range& p, Index r, const Range& c)
04244 {
04245 CHECK(l);
04246 CHECK(v);
04247 CHECK(s);
04248 CHECK(b);
04249 CHECK(r);
04250 return MatrixView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(r),
04251 mpr, mcr,
04252 p, c );
04253 }
04254
04255
04256 Tensor3View Tensor7View::operator()
04257 ( const Range& l,
04258 Index v, Index s, const Range& b,
04259 Index p, Index r, const Range& c)
04260 {
04261 CHECK(v);
04262 CHECK(s);
04263 CHECK(p);
04264 CHECK(r);
04265 return Tensor3View(mdata + OFFSET(v) + OFFSET(s) + OFFSET(p) + OFFSET(r),
04266 mlr, mbr, mcr,
04267 l, b, c );
04268 }
04269
04270 MatrixView Tensor7View::operator()
04271 ( Index l,
04272 Index v, Index s, const Range& b,
04273 Index p, Index r, const Range& c)
04274 {
04275 CHECK(l);
04276 CHECK(v);
04277 CHECK(s);
04278 CHECK(p);
04279 CHECK(r);
04280 return MatrixView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(p) + OFFSET(r),
04281 mbr, mcr,
04282 b, c );
04283 }
04284
04285
04286 Tensor3View Tensor7View::operator()
04287 ( const Range& l,
04288 Index v, const Range& s, Index b,
04289 Index p, Index r, const Range& c)
04290 {
04291 CHECK(v);
04292 CHECK(b);
04293 CHECK(p);
04294 CHECK(r);
04295 return Tensor3View(mdata + OFFSET(v) + OFFSET(b) + OFFSET(p) + OFFSET(r),
04296 mlr, msr, mcr,
04297 l, s, c );
04298 }
04299
04300 MatrixView Tensor7View::operator()
04301 ( Index l,
04302 Index v, const Range& s, Index b,
04303 Index p, Index r, const Range& c)
04304 {
04305 CHECK(l);
04306 CHECK(v);
04307 CHECK(b);
04308 CHECK(p);
04309 CHECK(r);
04310 return MatrixView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(b) + OFFSET(p) + OFFSET(r),
04311 msr, mcr,
04312 s, c );
04313 }
04314
04315
04316 Tensor3View Tensor7View::operator()
04317 ( const Range& l,
04318 const Range& v, Index s, Index b,
04319 Index p, Index r, const Range& c)
04320 {
04321 CHECK(s);
04322 CHECK(b);
04323 CHECK(p);
04324 CHECK(r);
04325 return Tensor3View(mdata + OFFSET(s) + OFFSET(b) + OFFSET(p) + OFFSET(r),
04326 mlr, mvr, mcr,
04327 l, v, c );
04328 }
04329
04330 MatrixView Tensor7View::operator()
04331 ( Index l,
04332 const Range& v, Index s, Index b,
04333 Index p, Index r, const Range& c)
04334 {
04335 CHECK(l);
04336 CHECK(s);
04337 CHECK(b);
04338 CHECK(p);
04339 CHECK(r);
04340 return MatrixView(mdata + OFFSET(l) + OFFSET(s) + OFFSET(b) + OFFSET(p) + OFFSET(r),
04341 mvr, mcr,
04342 v, c );
04343 }
04344
04345
04346 Tensor3View Tensor7View::operator()
04347 ( const Range& l,
04348 Index v, Index s, Index b,
04349 const Range& p, const Range& r, Index c)
04350 {
04351 CHECK(v);
04352 CHECK(s);
04353 CHECK(b);
04354 CHECK(c);
04355 return Tensor3View(mdata + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(c),
04356 mlr, mpr, mrr,
04357 l, p, r );
04358 }
04359
04360 MatrixView Tensor7View::operator()
04361 ( Index l,
04362 Index v, Index s, Index b,
04363 const Range& p, const Range& r, Index c)
04364 {
04365 CHECK(l);
04366 CHECK(v);
04367 CHECK(s);
04368 CHECK(b);
04369 CHECK(c);
04370 return MatrixView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(c),
04371 mpr, mrr,
04372 p, r );
04373 }
04374
04375
04376 Tensor3View Tensor7View::operator()
04377 ( const Range& l,
04378 Index v, Index s, const Range& b,
04379 Index p, const Range& r, Index c)
04380 {
04381 CHECK(v);
04382 CHECK(s);
04383 CHECK(p);
04384 CHECK(c);
04385 return Tensor3View(mdata + OFFSET(v) + OFFSET(s) + OFFSET(p) + OFFSET(c),
04386 mlr, mbr, mrr,
04387 l, b, r );
04388 }
04389
04390 MatrixView Tensor7View::operator()
04391 ( Index l,
04392 Index v, Index s, const Range& b,
04393 Index p, const Range& r, Index c)
04394 {
04395 CHECK(l);
04396 CHECK(v);
04397 CHECK(s);
04398 CHECK(p);
04399 CHECK(c);
04400 return MatrixView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(p) + OFFSET(c),
04401 mbr, mrr,
04402 b, r );
04403 }
04404
04405
04406 Tensor3View Tensor7View::operator()
04407 ( const Range& l,
04408 Index v, const Range& s, Index b,
04409 Index p, const Range& r, Index c)
04410 {
04411 CHECK(v);
04412 CHECK(b);
04413 CHECK(p);
04414 CHECK(c);
04415 return Tensor3View(mdata + OFFSET(v) + OFFSET(b) + OFFSET(p) + OFFSET(c),
04416 mlr, msr, mrr,
04417 l, s, r );
04418 }
04419
04420 MatrixView Tensor7View::operator()
04421 ( Index l,
04422 Index v, const Range& s, Index b,
04423 Index p, const Range& r, Index c)
04424 {
04425 CHECK(l);
04426 CHECK(v);
04427 CHECK(b);
04428 CHECK(p);
04429 CHECK(c);
04430 return MatrixView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(b) + OFFSET(p) + OFFSET(c),
04431 msr, mrr,
04432 s, r );
04433 }
04434
04435
04436 Tensor3View Tensor7View::operator()
04437 ( const Range& l,
04438 const Range& v, Index s, Index b,
04439 Index p, const Range& r, Index c)
04440 {
04441 CHECK(s);
04442 CHECK(b);
04443 CHECK(p);
04444 CHECK(c);
04445 return Tensor3View(mdata + OFFSET(s) + OFFSET(b) + OFFSET(p) + OFFSET(c),
04446 mlr, mvr, mrr,
04447 l, v, r );
04448 }
04449
04450 MatrixView Tensor7View::operator()
04451 ( Index l,
04452 const Range& v, Index s, Index b,
04453 Index p, const Range& r, Index c)
04454 {
04455 CHECK(l);
04456 CHECK(s);
04457 CHECK(b);
04458 CHECK(p);
04459 CHECK(c);
04460 return MatrixView(mdata + OFFSET(l) + OFFSET(s) + OFFSET(b) + OFFSET(p) + OFFSET(c),
04461 mvr, mrr,
04462 v, r );
04463 }
04464
04465
04466 Tensor3View Tensor7View::operator()
04467 ( const Range& l,
04468 Index v, Index s, const Range& b,
04469 const Range& p, Index r, Index c)
04470 {
04471 CHECK(v);
04472 CHECK(s);
04473 CHECK(r);
04474 CHECK(c);
04475 return Tensor3View(mdata + OFFSET(v) + OFFSET(s) + OFFSET(r) + OFFSET(c),
04476 mlr, mbr, mpr,
04477 l, b, p );
04478 }
04479
04480 MatrixView Tensor7View::operator()
04481 ( Index l,
04482 Index v, Index s, const Range& b,
04483 const Range& p, Index r, Index c)
04484 {
04485 CHECK(l);
04486 CHECK(v);
04487 CHECK(s);
04488 CHECK(r);
04489 CHECK(c);
04490 return MatrixView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(r) + OFFSET(c),
04491 mbr, mpr,
04492 b, p );
04493 }
04494
04495
04496 Tensor3View Tensor7View::operator()
04497 ( const Range& l,
04498 Index v, const Range& s, Index b,
04499 const Range& p, Index r, Index c)
04500 {
04501 CHECK(v);
04502 CHECK(b);
04503 CHECK(r);
04504 CHECK(c);
04505 return Tensor3View(mdata + OFFSET(v) + OFFSET(b) + OFFSET(r) + OFFSET(c),
04506 mlr, msr, mpr,
04507 l, s, p );
04508 }
04509
04510 MatrixView Tensor7View::operator()
04511 ( Index l,
04512 Index v, const Range& s, Index b,
04513 const Range& p, Index r, Index c)
04514 {
04515 CHECK(l);
04516 CHECK(v);
04517 CHECK(b);
04518 CHECK(r);
04519 CHECK(c);
04520 return MatrixView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(b) + OFFSET(r) + OFFSET(c),
04521 msr, mpr,
04522 s, p );
04523 }
04524
04525
04526 Tensor3View Tensor7View::operator()
04527 ( const Range& l,
04528 const Range& v, Index s, Index b,
04529 const Range& p, Index r, Index c)
04530 {
04531 CHECK(s);
04532 CHECK(b);
04533 CHECK(r);
04534 CHECK(c);
04535 return Tensor3View(mdata + OFFSET(s) + OFFSET(b) + OFFSET(r) + OFFSET(c),
04536 mlr, mvr, mpr,
04537 l, v, p );
04538 }
04539
04540 MatrixView Tensor7View::operator()
04541 ( Index l,
04542 const Range& v, Index s, Index b,
04543 const Range& p, Index r, Index c)
04544 {
04545 CHECK(l);
04546 CHECK(s);
04547 CHECK(b);
04548 CHECK(r);
04549 CHECK(c);
04550 return MatrixView(mdata + OFFSET(l) + OFFSET(s) + OFFSET(b) + OFFSET(r) + OFFSET(c),
04551 mvr, mpr,
04552 v, p );
04553 }
04554
04555
04556 Tensor3View Tensor7View::operator()
04557 ( const Range& l,
04558 Index v, const Range& s, const Range& b,
04559 Index p, Index r, Index c)
04560 {
04561 CHECK(v);
04562 CHECK(p);
04563 CHECK(r);
04564 CHECK(c);
04565 return Tensor3View(mdata + OFFSET(v) + OFFSET(p) + OFFSET(r) + OFFSET(c),
04566 mlr, msr, mbr,
04567 l, s, b );
04568 }
04569
04570 MatrixView Tensor7View::operator()
04571 ( Index l,
04572 Index v, const Range& s, const Range& b,
04573 Index p, Index r, Index c)
04574 {
04575 CHECK(l);
04576 CHECK(v);
04577 CHECK(p);
04578 CHECK(r);
04579 CHECK(c);
04580 return MatrixView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(p) + OFFSET(r) + OFFSET(c),
04581 msr, mbr,
04582 s, b );
04583 }
04584
04585
04586 Tensor3View Tensor7View::operator()
04587 ( const Range& l,
04588 const Range& v, Index s, const Range& b,
04589 Index p, Index r, Index c)
04590 {
04591 CHECK(s);
04592 CHECK(p);
04593 CHECK(r);
04594 CHECK(c);
04595 return Tensor3View(mdata + OFFSET(s) + OFFSET(p) + OFFSET(r) + OFFSET(c),
04596 mlr, mvr, mbr,
04597 l, v, b );
04598 }
04599
04600 MatrixView Tensor7View::operator()
04601 ( Index l,
04602 const Range& v, Index s, const Range& b,
04603 Index p, Index r, Index c)
04604 {
04605 CHECK(l);
04606 CHECK(s);
04607 CHECK(p);
04608 CHECK(r);
04609 CHECK(c);
04610 return MatrixView(mdata + OFFSET(l) + OFFSET(s) + OFFSET(p) + OFFSET(r) + OFFSET(c),
04611 mvr, mbr,
04612 v, b );
04613 }
04614
04615
04616 Tensor3View Tensor7View::operator()
04617 ( const Range& l,
04618 const Range& v, const Range& s, Index b,
04619 Index p, Index r, Index c)
04620 {
04621 CHECK(b);
04622 CHECK(p);
04623 CHECK(r);
04624 CHECK(c);
04625 return Tensor3View(mdata + OFFSET(b) + OFFSET(p) + OFFSET(r) + OFFSET(c),
04626 mlr, mvr, msr,
04627 l, v, s );
04628 }
04629
04630 MatrixView Tensor7View::operator()
04631 ( Index l,
04632 const Range& v, const Range& s, Index b,
04633 Index p, Index r, Index c)
04634 {
04635 CHECK(l);
04636 CHECK(b);
04637 CHECK(p);
04638 CHECK(r);
04639 CHECK(c);
04640 return MatrixView(mdata + OFFSET(l) + OFFSET(b) + OFFSET(p) + OFFSET(r) + OFFSET(c),
04641 mvr, msr,
04642 v, s );
04643 }
04644
04645
04646 MatrixView Tensor7View::operator()
04647 ( const Range& l,
04648 Index v, Index s, Index b,
04649 Index p, Index r, const Range& c)
04650 {
04651 CHECK(v);
04652 CHECK(s);
04653 CHECK(b);
04654 CHECK(p);
04655 CHECK(r);
04656 return MatrixView(mdata + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(p) + OFFSET(r),
04657 mlr, mcr,
04658 l, c );
04659 }
04660
04661 VectorView Tensor7View::operator()
04662 ( Index l,
04663 Index v, Index s, Index b,
04664 Index p, Index r, const Range& c)
04665 {
04666 CHECK(l);
04667 CHECK(v);
04668 CHECK(s);
04669 CHECK(b);
04670 CHECK(p);
04671 CHECK(r);
04672 return VectorView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(p) + OFFSET(r),
04673 mcr,
04674 c );
04675 }
04676
04677
04678 MatrixView Tensor7View::operator()
04679 ( const Range& l,
04680 Index v, Index s, Index b,
04681 Index p, const Range& r, Index c)
04682 {
04683 CHECK(v);
04684 CHECK(s);
04685 CHECK(b);
04686 CHECK(p);
04687 CHECK(c);
04688 return MatrixView(mdata + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(p) + OFFSET(c),
04689 mlr, mrr,
04690 l, r );
04691 }
04692
04693 VectorView Tensor7View::operator()
04694 ( Index l,
04695 Index v, Index s, Index b,
04696 Index p, const Range& r, Index c)
04697 {
04698 CHECK(l);
04699 CHECK(v);
04700 CHECK(s);
04701 CHECK(b);
04702 CHECK(p);
04703 CHECK(c);
04704 return VectorView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(p) + OFFSET(c),
04705 mrr,
04706 r );
04707 }
04708
04709
04710 MatrixView Tensor7View::operator()
04711 ( const Range& l,
04712 Index v, Index s, Index b,
04713 const Range& p, Index r, Index c)
04714 {
04715 CHECK(v);
04716 CHECK(s);
04717 CHECK(b);
04718 CHECK(r);
04719 CHECK(c);
04720 return MatrixView(mdata + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(r) + OFFSET(c),
04721 mlr, mpr,
04722 l, p );
04723 }
04724
04725 VectorView Tensor7View::operator()
04726 ( Index l,
04727 Index v, Index s, Index b,
04728 const Range& p, Index r, Index c)
04729 {
04730 CHECK(l);
04731 CHECK(v);
04732 CHECK(s);
04733 CHECK(b);
04734 CHECK(r);
04735 CHECK(c);
04736 return VectorView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(b) + OFFSET(r) + OFFSET(c),
04737 mpr,
04738 p );
04739 }
04740
04741
04742 MatrixView Tensor7View::operator()
04743 ( const Range& l,
04744 Index v, Index s, const Range& b,
04745 Index p, Index r, Index c)
04746 {
04747 CHECK(v);
04748 CHECK(s);
04749 CHECK(p);
04750 CHECK(r);
04751 CHECK(c);
04752 return MatrixView(mdata + OFFSET(v) + OFFSET(s) + OFFSET(p) + OFFSET(r) + OFFSET(c),
04753 mlr, mbr,
04754 l, b );
04755 }
04756
04757 VectorView Tensor7View::operator()
04758 ( Index l,
04759 Index v, Index s, const Range& b,
04760 Index p, Index r, Index c)
04761 {
04762 CHECK(l);
04763 CHECK(v);
04764 CHECK(s);
04765 CHECK(p);
04766 CHECK(r);
04767 CHECK(c);
04768 return VectorView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(s) + OFFSET(p) + OFFSET(r) + OFFSET(c),
04769 mbr,
04770 b );
04771 }
04772
04773
04774 MatrixView Tensor7View::operator()
04775 ( const Range& l,
04776 Index v, const Range& s, Index b,
04777 Index p, Index r, Index c)
04778 {
04779 CHECK(v);
04780 CHECK(b);
04781 CHECK(p);
04782 CHECK(r);
04783 CHECK(c);
04784 return MatrixView(mdata + OFFSET(v) + OFFSET(b) + OFFSET(p) + OFFSET(r) + OFFSET(c),
04785 mlr, msr,
04786 l, s );
04787 }
04788
04789 VectorView Tensor7View::operator()
04790 ( Index l,
04791 Index v, const Range& s, Index b,
04792 Index p, Index r, Index c)
04793 {
04794 CHECK(l);
04795 CHECK(v);
04796 CHECK(b);
04797 CHECK(p);
04798 CHECK(r);
04799 CHECK(c);
04800 return VectorView(mdata + OFFSET(l) + OFFSET(v) + OFFSET(b) + OFFSET(p) + OFFSET(r) + OFFSET(c),
04801 msr,
04802 s );
04803 }
04804
04805
04806 MatrixView Tensor7View::operator()
04807 ( const Range& l,
04808 const Range& v, Index s, Index b,
04809 Index p, Index r, Index c)
04810 {
04811 CHECK(s);
04812 CHECK(b);
04813 CHECK(p);
04814 CHECK(r);
04815 CHECK(c);
04816 return MatrixView(mdata + OFFSET(s) + OFFSET(b) + OFFSET(p) + OFFSET(r) + OFFSET(c),
04817 mlr, mvr,
04818 l, v );
04819 }
04820
04821 VectorView Tensor7View::operator()
04822 ( Index l,
04823 const Range& v, Index s, Index b,
04824 Index p, Index r, Index c)
04825 {
04826 CHECK(l);
04827 CHECK(s);
04828 CHECK(b);
04829 CHECK(p);
04830 CHECK(r);
04831 CHECK(c);
04832 return VectorView(mdata + OFFSET(l) + OFFSET(s) + OFFSET(b) + OFFSET(p) + OFFSET(r) + OFFSET(c),
04833 mvr,
04834 v );
04835 }
04836
04837
04838 VectorView Tensor7View::operator()
04839 ( const Range& l,
04840 Index v, Index s, Index b,
04841 Index p, Index r, Index c)
04842 {
04843 CHECK(v);
04844 CHECK(s);
04845 CHECK(b);
04846 CHECK(p);
04847 CHECK(r);
04848 CHECK(c);
04849 return VectorView( mdata +
04850 OFFSET(v) + OFFSET(s) + OFFSET(b) +
04851 OFFSET(p) + OFFSET(r) + OFFSET(c),
04852 mlr,
04853 l );
04854 }
04855
04858 ConstIterator7D Tensor7View::begin() const
04859 {
04860 return ConstTensor7View::begin();
04861 }
04862
04864 ConstIterator7D Tensor7View::end() const
04865 {
04866 return ConstTensor7View::end();
04867 }
04868
04870 Iterator7D Tensor7View::begin()
04871 {
04872 return Iterator7D( Tensor6View(mdata+mlr.mstart,
04873 mvr,
04874 msr,
04875 mbr,
04876 mpr,
04877 mrr,
04878 mcr),
04879 mlr.mstride);
04880 }
04881
04883 Iterator7D Tensor7View::end()
04884 {
04885 return Iterator7D( Tensor6View(mdata + mlr.mstart +
04886 (mlr.mextent)*mlr.mstride,
04887 mvr,
04888 msr,
04889 mbr,
04890 mpr,
04891 mrr,
04892 mcr),
04893 mlr.mstride );
04894 }
04895
04900 Tensor7View& Tensor7View::operator=(const ConstTensor7View& m)
04901 {
04902
04903 assert(mlr.mextent==m.mlr.mextent);
04904 assert(mvr.mextent==m.mvr.mextent);
04905 assert(msr.mextent==m.msr.mextent);
04906 assert(mbr.mextent==m.mbr.mextent);
04907 assert(mpr.mextent==m.mpr.mextent);
04908 assert(mrr.mextent==m.mrr.mextent);
04909 assert(mcr.mextent==m.mcr.mextent);
04910
04911 copy( m.begin(), m.end(), begin() );
04912 return *this;
04913 }
04914
04920 Tensor7View& Tensor7View::operator=(const Tensor7View& m)
04921 {
04922
04923 assert(mlr.mextent==m.mlr.mextent);
04924 assert(mvr.mextent==m.mvr.mextent);
04925 assert(msr.mextent==m.msr.mextent);
04926 assert(mbr.mextent==m.mbr.mextent);
04927 assert(mpr.mextent==m.mpr.mextent);
04928 assert(mrr.mextent==m.mrr.mextent);
04929 assert(mcr.mextent==m.mcr.mextent);
04930
04931 copy( m.begin(), m.end(), begin() );
04932 return *this;
04933 }
04934
04938 Tensor7View& Tensor7View::operator=(const Tensor7& m)
04939 {
04940
04941 assert(mlr.mextent==m.mlr.mextent);
04942 assert(mvr.mextent==m.mvr.mextent);
04943 assert(msr.mextent==m.msr.mextent);
04944 assert(mbr.mextent==m.mbr.mextent);
04945 assert(mpr.mextent==m.mpr.mextent);
04946 assert(mrr.mextent==m.mrr.mextent);
04947 assert(mcr.mextent==m.mcr.mextent);
04948
04949 copy( m.begin(), m.end(), begin() );
04950 return *this;
04951 }
04952
04955 Tensor7View& Tensor7View::operator=(Numeric x)
04956 {
04957 copy( x, begin(), end() );
04958 return *this;
04959 }
04960
04961
04962
04963
04965 Tensor7View& Tensor7View::operator*=(Numeric x)
04966 {
04967 const Iterator7D ep=end();
04968 for ( Iterator7D p=begin(); p!=ep ; ++p )
04969 {
04970 *p *= x;
04971 }
04972 return *this;
04973 }
04974
04976 Tensor7View& Tensor7View::operator/=(Numeric x)
04977 {
04978 const Iterator7D ep=end();
04979 for ( Iterator7D p=begin(); p!=ep ; ++p )
04980 {
04981 *p /= x;
04982 }
04983 return *this;
04984 }
04985
04987 Tensor7View& Tensor7View::operator+=(Numeric x)
04988 {
04989 const Iterator7D ep=end();
04990 for ( Iterator7D p=begin(); p!=ep ; ++p )
04991 {
04992 *p += x;
04993 }
04994 return *this;
04995 }
04996
04998 Tensor7View& Tensor7View::operator-=(Numeric x)
04999 {
05000 const Iterator7D ep=end();
05001 for ( Iterator7D p=begin(); p!=ep ; ++p )
05002 {
05003 *p -= x;
05004 }
05005 return *this;
05006 }
05007
05009 Tensor7View& Tensor7View::operator*=(const ConstTensor7View& x)
05010 {
05011 assert( nlibraries() == x.nlibraries() );
05012 assert( nvitrines() == x.nvitrines() );
05013 assert( nshelves() == x.nshelves() );
05014 assert( nbooks() == x.nbooks() );
05015 assert( npages() == x.npages() );
05016 assert( nrows() == x.nrows() );
05017 assert( ncols() == x.ncols() );
05018 ConstIterator7D xp = x.begin();
05019 Iterator7D p = begin();
05020 const Iterator7D ep = end();
05021 for ( ; p!=ep ; ++p,++xp )
05022 {
05023 *p *= *xp;
05024 }
05025 return *this;
05026 }
05027
05029 Tensor7View& Tensor7View::operator/=(const ConstTensor7View& x)
05030 {
05031 assert( nlibraries() == x.nlibraries() );
05032 assert( nvitrines() == x.nvitrines() );
05033 assert( nshelves() == x.nshelves() );
05034 assert( nbooks() == x.nbooks() );
05035 assert( npages() == x.npages() );
05036 assert( nrows() == x.nrows() );
05037 assert( ncols() == x.ncols() );
05038 ConstIterator7D xp = x.begin();
05039 Iterator7D p = begin();
05040 const Iterator7D ep = end();
05041 for ( ; p!=ep ; ++p,++xp )
05042 {
05043 *p /= *xp;
05044 }
05045 return *this;
05046 }
05047
05049 Tensor7View& Tensor7View::operator+=(const ConstTensor7View& x)
05050 {
05051 assert( nlibraries() == x.nlibraries() );
05052 assert( nvitrines() == x.nvitrines() );
05053 assert( nshelves() == x.nshelves() );
05054 assert( nbooks() == x.nbooks() );
05055 assert( npages() == x.npages() );
05056 assert( nrows() == x.nrows() );
05057 assert( ncols() == x.ncols() );
05058 ConstIterator7D xp = x.begin();
05059 Iterator7D p = begin();
05060 const Iterator7D ep = end();
05061 for ( ; p!=ep ; ++p,++xp )
05062 {
05063 *p += *xp;
05064 }
05065 return *this;
05066 }
05067
05069 Tensor7View& Tensor7View::operator-=(const ConstTensor7View& x)
05070 {
05071 assert( nlibraries() == x.nlibraries() );
05072 assert( nvitrines() == x.nvitrines() );
05073 assert( nshelves() == x.nshelves() );
05074 assert( nbooks() == x.nbooks() );
05075 assert( npages() == x.npages() );
05076 assert( nrows() == x.nrows() );
05077 assert( ncols() == x.ncols() );
05078 ConstIterator7D xp = x.begin();
05079 Iterator7D p = begin();
05080 const Iterator7D ep = end();
05081 for ( ; p!=ep ; ++p,++xp )
05082 {
05083 *p -= *xp;
05084 }
05085 return *this;
05086 }
05087
05089 Tensor7View::Tensor7View(const Tensor6View& a) :
05090 ConstTensor7View( a.mdata,
05091 Range(0,1,
05092 a.mvr.mextent*
05093 a.msr.mextent*
05094 a.mbr.mextent*
05095 a.mpr.mextent*
05096 a.mrr.mextent*
05097 a.mcr.mextent),
05098 a.mvr,
05099 a.msr,
05100 a.mbr,
05101 a.mpr,
05102 a.mrr,
05103 a.mcr )
05104 {
05105
05106 }
05107
05110 Tensor7View::Tensor7View() :
05111 ConstTensor7View()
05112 {
05113
05114 }
05115
05118 Tensor7View::Tensor7View(Numeric *data,
05119 const Range& l,
05120 const Range& v,
05121 const Range& s,
05122 const Range& b,
05123 const Range& p,
05124 const Range& r,
05125 const Range& c) :
05126 ConstTensor7View(data, l, v, s, b, p, r, c)
05127 {
05128
05129 }
05130
05155 Tensor7View::Tensor7View(Numeric *data,
05156 const Range& pl,
05157 const Range& pv,
05158 const Range& ps,
05159 const Range& pb,
05160 const Range& pp,
05161 const Range& pr,
05162 const Range& pc,
05163 const Range& nl,
05164 const Range& nv,
05165 const Range& ns,
05166 const Range& nb,
05167 const Range& np,
05168 const Range& nr,
05169 const Range& nc) :
05170 ConstTensor7View(data,pl,pv,ps,pb,pp,pr,pc,nl,nv,ns,nb,np,nr,nc)
05171 {
05172
05173 }
05174
05179 void copy(ConstIterator7D origin,
05180 const ConstIterator7D& end,
05181 Iterator7D target)
05182 {
05183 for ( ; origin!=end ; ++origin,++target )
05184 {
05185
05186
05187 copy(origin->begin(),
05188 origin->end(),
05189 target->begin());
05190 }
05191 }
05192
05194 void copy(Numeric x,
05195 Iterator7D target,
05196 const Iterator7D& end)
05197 {
05198 for ( ; target!=end ; ++target )
05199 {
05200
05201
05202 copy(x,target->begin(),target->end());
05203 }
05204 }
05205
05206
05207
05208
05209
05211 Tensor7::Tensor7() :
05212 Tensor7View::Tensor7View()
05213 {
05214
05215
05216
05217
05218 }
05219
05222 Tensor7::Tensor7(Index l,
05223 Index v, Index s, Index b,
05224 Index p, Index r, Index c) :
05225 Tensor7View( new Numeric[l*v*s*b*p*r*c],
05226 Range(0,l,v*s*b*p*r*c),
05227 Range(0,v,s*b*p*r*c),
05228 Range(0,s,b*p*r*c),
05229 Range(0,b,p*r*c),
05230 Range(0,p,r*c),
05231 Range(0,r,c),
05232 Range(0,c))
05233 {
05234
05235 }
05236
05238 Tensor7::Tensor7(Index l,
05239 Index v, Index s, Index b,
05240 Index p, Index r, Index c, Numeric fill) :
05241 Tensor7View( new Numeric[l*v*s*b*p*r*c],
05242 Range(0,l,v*s*b*p*r*c),
05243 Range(0,v,s*b*p*r*c),
05244 Range(0,s,b*p*r*c),
05245 Range(0,b,p*r*c),
05246 Range(0,p,r*c),
05247 Range(0,r,c),
05248 Range(0,c))
05249 {
05250
05251
05252 const Numeric *stop = mdata+l*v*s*b*p*r*c;
05253 for ( Numeric *x=mdata; x<stop; ++x )
05254 *x = fill;
05255 }
05256
05259 Tensor7::Tensor7(const ConstTensor7View& m) :
05260 Tensor7View( new Numeric[m.nlibraries()*m.nvitrines()*m.nshelves()
05261 *m.nbooks()*m.npages()*m.nrows()*m.ncols()],
05262 Range( 0, m.nlibraries(), m.nvitrines()*m.nshelves()*m.nbooks()*m.npages()*m.nrows()*m.ncols() ),
05263 Range( 0, m.nvitrines(), m.nshelves()*m.nbooks()*m.npages()*m.nrows()*m.ncols() ),
05264 Range( 0, m.nshelves(), m.nbooks()*m.npages()*m.nrows()*m.ncols() ),
05265 Range( 0, m.nbooks(), m.npages()*m.nrows()*m.ncols() ),
05266 Range( 0, m.npages(), m.nrows()*m.ncols() ),
05267 Range( 0, m.nrows(), m.ncols() ),
05268 Range( 0, m.ncols() ) )
05269 {
05270 copy(m.begin(),m.end(),begin());
05271 }
05272
05275 Tensor7::Tensor7(const Tensor7& m) :
05276 Tensor7View( new Numeric[m.nlibraries()*m.nvitrines()*m.nshelves()
05277 *m.nbooks()*m.npages()*m.nrows()*m.ncols()],
05278 Range( 0, m.nlibraries(), m.nvitrines()*m.nshelves()*m.nbooks()*m.npages()*m.nrows()*m.ncols() ),
05279 Range( 0, m.nvitrines(), m.nshelves()*m.nbooks()*m.npages()*m.nrows()*m.ncols() ),
05280 Range( 0, m.nshelves(), m.nbooks()*m.npages()*m.nrows()*m.ncols() ),
05281 Range( 0, m.nbooks(), m.npages()*m.nrows()*m.ncols() ),
05282 Range( 0, m.npages(), m.nrows()*m.ncols() ),
05283 Range( 0, m.nrows(), m.ncols() ),
05284 Range( 0, m.ncols() ) )
05285 {
05286
05287
05288
05289
05290
05291 copy(m.begin(),m.end(),begin());
05292 }
05293
05295
05318 Tensor7& Tensor7::operator=(const Tensor7& m)
05319 {
05320
05321
05322
05323 resize( m.mlr.mextent,
05324 m.mvr.mextent, m.msr.mextent, m.mbr.mextent,
05325 m.mpr.mextent, m.mrr.mextent, m.mcr.mextent );
05326 copy( m.begin(), m.end(), begin() );
05327 return *this;
05328 }
05329
05332 Tensor7& Tensor7::operator=(Numeric x)
05333 {
05334 copy( x, begin(), end() );
05335 return *this;
05336 }
05337
05341 void Tensor7::resize( Index l,
05342 Index v, Index s, Index b,
05343 Index p, Index r, Index c)
05344 {
05345 assert( 0<=l );
05346 assert( 0<=v );
05347 assert( 0<=s );
05348 assert( 0<=b );
05349 assert( 0<=p );
05350 assert( 0<=r );
05351 assert( 0<=c );
05352
05353 if ( mlr.mextent!=l ||
05354 mvr.mextent!=v ||
05355 msr.mextent!=s ||
05356 mbr.mextent!=b ||
05357 mpr.mextent!=p ||
05358 mrr.mextent!=r ||
05359 mcr.mextent!=c )
05360 {
05361 delete[] mdata;
05362 mdata = new Numeric[l*v*s*b*p*r*c];
05363
05364 mlr.mstart = 0;
05365 mlr.mextent = l;
05366 mlr.mstride = v*s*b*p*r*c;
05367
05368 mvr.mstart = 0;
05369 mvr.mextent = v;
05370 mvr.mstride = s*b*p*r*c;
05371
05372 msr.mstart = 0;
05373 msr.mextent = s;
05374 msr.mstride = b*p*r*c;
05375
05376 mbr.mstart = 0;
05377 mbr.mextent = b;
05378 mbr.mstride = p*r*c;
05379
05380 mpr.mstart = 0;
05381 mpr.mextent = p;
05382 mpr.mstride = r*c;
05383
05384 mrr.mstart = 0;
05385 mrr.mextent = r;
05386 mrr.mstride = c;
05387
05388 mcr.mstart = 0;
05389 mcr.mextent = c;
05390 mcr.mstride = 1;
05391 }
05392 }
05393
05396 Tensor7::~Tensor7()
05397 {
05398
05399
05400 delete[] mdata;
05401 }
05402
05403
05419 void transform( Tensor7View y,
05420 double (&my_func)(double),
05421 ConstTensor7View x )
05422 {
05423
05424 assert( y.nlibraries() == x.nlibraries() );
05425 assert( y.nvitrines() == x.nvitrines() );
05426 assert( y.nshelves() == x.nshelves() );
05427 assert( y.nbooks() == x.nbooks() );
05428 assert( y.npages() == x.npages() );
05429 assert( y.nrows() == x.nrows() );
05430 assert( y.ncols() == x.ncols() );
05431
05432 const ConstIterator7D xe = x.end();
05433 ConstIterator7D xi = x.begin();
05434 Iterator7D yi = y.begin();
05435 for ( ; xi!=xe; ++xi, ++yi )
05436 {
05437
05438
05439 transform(*yi,my_func,*xi);
05440 }
05441 }
05442
05444 Numeric max(const ConstTensor7View& x)
05445 {
05446 const ConstIterator7D xe = x.end();
05447 ConstIterator7D xi = x.begin();
05448
05449
05450 Numeric themax = max(*xi);
05451 ++xi;
05452
05453 for ( ; xi!=xe ; ++xi )
05454 {
05455
05456
05457 Numeric maxi = max(*xi);
05458 if ( maxi > themax )
05459 themax = maxi;
05460 }
05461
05462 return themax;
05463 }
05464
05466 Numeric min(const ConstTensor7View& x)
05467 {
05468 const ConstIterator7D xe = x.end();
05469 ConstIterator7D xi = x.begin();
05470
05471
05472 Numeric themin = min(*xi);
05473 ++xi;
05474
05475 for ( ; xi!=xe ; ++xi )
05476 {
05477
05478
05479 Numeric mini = min(*xi);
05480 if ( mini < themin )
05481 themin = mini;
05482 }
05483
05484 return themin;
05485 }
05486
05487
05489
05490 #ifndef NDEBUG
05491
05510 Numeric debug_tensor7view_get_elem (Tensor7View& tv, Index l, Index v, Index s,
05511 Index b, Index p, Index r, Index c)
05512 {
05513 return tv(l, v, s, b, p, r, c);
05514 }
05515
05516 #endif
05518