37#ifndef STK_ASSIGNSELECTOR_H
38#define STK_ASSIGNSELECTOR_H
52template<
class Derived,
int Structure_>
58template<
class Derived>
65 {
return (array.rows() !=
I || array.cols() !=
J);}
71 {
return (array.rows() !=
I || array.cols() !=
I);}
73 static bool shift(Derived
const& array,
int begin)
74 {
return (array.beginRows() != begin || array.beginCols() != begin);}
79template<
class Derived>
86 {
return (array.rows() !=
I || array.cols() !=
J);}
90 {
return (array.rows() !=
I || array.cols() !=
I);}
91 static bool shift(Derived
const& array,
int begin)
92 {
return (array.beginRows() != begin || array.beginCols() != begin);}
97template<
class Derived>
104 {
return (array.rows() !=
I || array.cols() !=
J);}
108 {
return (array.rows() !=
I || array.cols() !=
I);}
109 static bool shift(Derived
const& array,
int begin)
110 {
return (array.beginRows() != begin || array.beginCols() != begin);}
115template<
class Derived>
122 {
return (array.rows() !=
I || array.cols() !=
J);}
126 {
return (array.range() !=
I);}
127 static bool shift(Derived
const& array,
int begin)
128 {
return (array.beginRows() != begin || array.beginCols() != begin);}
134template<
class Derived>
141 {
return (array.rows() !=
I || array.cols() !=
J);}
145 {
return (array.range() !=
I);}
146 static bool shift(Derived
const& array,
int begin)
147 {
return (array.beginRows() != begin || array.beginCols() != begin);}
151template<
class Derived>
156 {
return J.size() == 1;}
158 {
return (array.range() !=
I);}
159 static bool shift(Derived
const& array,
int begin)
160 {
return (array.begin() != begin);}
164template<
class Derived>
169 {
return (
I.size() == 1);}
171 {
return (array.range() !=
I);}
172 static bool shift(Derived
const& array,
int begin)
173 {
return (array.begin() != begin);}
176template<
class Derived>
181 {
return (
I.size() == 1 &&
J.size() == 1);}
183 {
return (array.range() ==
I) ?
false :
true;}
184 static bool shift(Derived
const& array,
int begin)
185 {
return (array.begin() != begin);}
191template<
typename Lhs,
typename Rhs,
int TStructure_>
192struct resizeSelector;
195template<
typename Lhs,
typename Rhs,
int TStructure_>
199 { lhs.resize(rhs.rows(), rhs.cols());}
202template<
typename Lhs,
typename Rhs>
206 { lhs.resize(rhs.range());}
209template<
typename Lhs,
typename Rhs>
213 { lhs.resize(rhs.range());}
216template<
typename Lhs,
typename Rhs>
220 { lhs.resize(rhs.range());}
223template<
typename Lhs,
typename Rhs>
227 { lhs.resize(rhs.range());}
231template<
typename Lhs,
typename Rhs>
244template <
typename Derived,
typename Rhs,
int TStructure_,
int RhsStructure_>
249template <
typename Lhs,
typename Rhs>
254 for (
int j = rhs.beginCols();
j < rhs.endCols(); ++
j)
255 for (
int i = rhs.beginRows();
i < rhs.endRows(); ++
i)
256 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
260 for (
int i = rhs.beginRows();
i < rhs.endRows(); ++
i)
261 for (
int j = rhs.beginCols();
j < rhs.endCols(); ++
j)
262 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
267template <
typename Lhs,
typename Rhs>
272 for (
int i = rhs.begin();
i< rhs.end(); ++
i)
273 for (
int j = rhs.begin();
j < rhs.end(); ++
j)
274 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
278 for (
int j = rhs.begin();
j < rhs.lend(); ++
j)
279 for (
int i = rhs.begin();
i< rhs.end(); ++
i)
280 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
285template <
typename Lhs,
typename Rhs>
291 lhs.setValue(
Type(0));
292 for (
int i = rhs.begin();
i< rhs.end(); ++
i)
293 { lhs.setValue(
i,
i, rhs.elt(
i));}
297 lhs.setValue(
Type(0));
298 for (
int i = rhs.begin();
i< rhs.end(); ++
i)
299 { lhs.setValue(
i,
i, rhs.elt(
i));}
304template <
typename Lhs,
typename Rhs>
310 const int end = std::min(rhs.endRows(), rhs.endCols());
311 for (
int j = rhs.beginCols();
j < end; ++
j)
312 {
int i = rhs.beginRows();
313 for (;
i <
j; ++
i) { lhs.setValue(
i,
j,
Type(0));}
314 for (;
i < rhs.endRows(); ++
i) { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
316 for (
int j= end;
j < rhs.endCols(); ++
j)
317 for (
int i = rhs.beginRows();
i < rhs.endRows(); ++
i)
318 { lhs.setValue(
i,
j,
Type(0));}
322 const int end = std::min(rhs.endRows(), rhs.endCols());
323 for (
int i = rhs.beginRows();
i < end; ++
i)
324 {
int j = rhs.beginCols();
325 for (;
j <=
i; ++
j) { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
326 for (;
j < rhs.endCols(); ++
j) { lhs.setValue(
i,
j,
Type(0));}
328 for (
int i= end;
i < rhs.endRows(); ++
i)
329 for (
int j=rhs.beginCols();
j < rhs.endCols(); ++
j)
330 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
335template <
typename Lhs,
typename Rhs>
341 const int end = std::min(rhs.endRows(), rhs.endCols());
342 for (
int j = rhs.beginCols();
j < end; ++
j)
343 {
int i = rhs.beginRows();
344 for (;
i <=
j; ++
i) { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
345 for (;
i < rhs.endRows(); ++
i) { lhs.setValue(
i,
j,
Type(0));}
347 for (
int j= end;
j < rhs.endCols(); ++
j)
348 for (
int i = rhs.beginRows();
i < rhs.endRows(); ++
i)
349 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
353 const int end = std::min(lhs.endRows(), lhs.endCols());
354 for (
int i = rhs.beginRows();
i < end; ++
i)
355 {
int j = rhs.beginCols();
356 for (;
j <
i; ++
j) { lhs.setValue(
i,
j,
Type(0));}
357 for (;
j < rhs.endCols(); ++
j) { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
359 for (
int i= end;
i < rhs.endRows(); ++
i)
360 for (
int j=rhs.beginCols();
j < rhs.endCols(); ++
j)
361 { lhs.setValue(
i,
j,
Type(0));}
366template <
typename Lhs,
typename Rhs>
371 for (
int j = rhs.beginCols();
j < rhs.endCols(); ++
j)
372 for (
int i = rhs.beginRows();
i < rhs.endRows(); ++
i)
373 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
377 for (
int i = rhs.beginRows();
i < rhs.endRows(); ++
i)
378 for (
int j = rhs.beginCols();
j < rhs.endCols(); ++
j)
379 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
384template <
typename Lhs,
typename Rhs>
389 for (
int j = rhs.beginCols();
j < rhs.endCols(); ++
j)
390 for (
int i = rhs.beginRows();
i <=
j; ++
i)
391 { lhs.elt(
i,
j) = ( lhs.elt(
j,
i) = rhs.elt(
i,
j) );}
395 for (
int i = rhs.beginRows();
i < rhs.endRows(); ++
i)
396 for (
int j =
i;
j < rhs.endCols(); ++
j)
397 { lhs.elt(
i,
j) = (lhs.elt(
j,
i) = rhs.elt(
i,
j));}
402template <
typename Lhs,
typename Rhs>
407 for (
int j = rhs.beginCols();
j < rhs.endCols(); ++
j)
408 for (
int i =
j;
i < rhs.endRows(); ++
i)
409 { lhs.elt(
i,
j) = ( lhs.elt(
j,
i) = rhs.elt(
i,
j) );}
413 for (
int i = rhs.beginRows();
i < rhs.endRows(); ++
i)
414 for (
int j = rhs.beginCols();
j <=
i; ++
j)
415 { lhs.elt(
i,
j) = (lhs.elt(
j,
i) = rhs.elt(
i,
j));}
421template <
typename Lhs,
typename Rhs>
426 int j = lhs.beginCols();
427 for (
int i = rhs.beginRows();
i < rhs.endRows(); ++
i)
428 { lhs.setValue(
i,
j, rhs.elt(
i));}
432 int j = rhs.beginCols();
433 for (
int i = rhs.beginRows();
i < rhs.endRows(); ++
i)
434 { lhs.setValue(
i,
j, rhs.elt(
i));}
439template <
typename Lhs,
typename Rhs>
444 int i = lhs.beginRows();
445 for (
int j = rhs.beginCols();
j < rhs.endCols(); ++
j)
446 { lhs.setValue(
i,
j, rhs.elt(
j));}
450 int i = lhs.beginRows();
451 for (
int j = rhs.beginCols();
j < rhs.endCols(); ++
j)
452 { lhs.setValue(
i,
j, rhs.elt(
j));}
460template <
typename Lhs,
typename Rhs>
465 for (
int i = rhs.beginRows();
i < rhs.endRows(); ++
i)
466 for (
int j = rhs.beginCols();
j < rhs.endCols(); ++
j)
467 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
471 for (
int j = rhs.beginCols();
j < rhs.endCols(); ++
j)
472 for (
int i = rhs.beginRows();
i < rhs.endRows(); ++
i)
473 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
478template <
typename Lhs,
typename Rhs>
483 for (
int j = rhs.begin();
j < rhs.end(); ++
j)
484 for (
int i = rhs.begin();
i< rhs.end(); ++
i)
485 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
489 for (
int i = rhs.begin();
i< rhs.end(); ++
i)
490 for (
int j = rhs.begin();
j < rhs.end(); ++
j)
491 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
496template <
typename Lhs,
typename Rhs>
502 lhs.setValue(
Type(0));
503 const int end = std::min(lhs.endRows(), lhs.endCols());
504 for (
int i = rhs.beginRows();
i < end; ++
i)
505 { lhs.setValue(
i,
i, rhs.elt(
i));}
509 lhs.setValue(
Type(0));
510 const int end = std::min(lhs.endRows(), lhs.endCols());
511 for (
int i = rhs.beginRows();
i < end; ++
i)
512 { lhs.setValue(
i,
i, rhs.elt(
i));}
517template <
typename Lhs,
typename Rhs>
523 const int end = std::min(rhs.endRows(), rhs.endCols());
524 for (
int j = rhs.beginCols();
j < end; ++
j)
525 {
int i = rhs.beginRows();
526 for (;
i <
j; ++
i) { lhs.setValue(
i,
j,
Type(0));}
527 for (;
i < rhs.endRows(); ++
i) { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
529 for (
int j= end;
j < rhs.endCols(); ++
j)
530 for (
int i = rhs.beginRows();
i < rhs.endRows(); ++
i)
531 { lhs.setValue(
i,
j,
Type(0));}
535 const int end = std::min(rhs.endRows(), rhs.endCols());
536 for (
int i = rhs.beginRows();
i < end; ++
i)
537 {
int j = rhs.beginCols();
538 for (;
j <=
i; ++
j) { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
539 for (;
j < rhs.endCols(); ++
j) { lhs.setValue(
i,
j,
Type(0));}
541 for (
int i= end;
i < rhs.endRows(); ++
i)
542 for (
int j=rhs.beginCols();
j < rhs.endCols(); ++
j)
543 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
548template <
typename Lhs,
typename Rhs>
554 const int end = std::min(rhs.endRows(), rhs.endCols());
555 for (
int j = rhs.beginCols();
j < end; ++
j)
556 {
int i = rhs.beginRows();
557 for (;
i <=
j; ++
i) { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
558 for (;
i < rhs.endRows(); ++
i) { lhs.setValue(
i,
j,
Type(0));}
560 for (
int j= end;
j < rhs.endCols(); ++
j)
561 for (
int i = rhs.beginRows();
i < rhs.endRows(); ++
i)
562 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
566 const int end = std::min(lhs.endRows(), lhs.endCols());
567 for (
int i = rhs.beginRows();
i < end; ++
i)
568 {
int j = rhs.beginCols();
569 for (;
j <
i; ++
j) { lhs.setValue(
i,
j,
Type(0));}
570 for (;
j < rhs.endCols(); ++
j) { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
572 for (
int i= end;
i < rhs.endRows(); ++
i)
573 for (
int j=rhs.beginCols();
j < rhs.endCols(); ++
j)
574 { lhs.setValue(
i,
j,
Type(0));}
579template <
typename Lhs,
typename Rhs>
584 for (
int j = rhs.beginCols();
j < rhs.endCols(); ++
j)
585 for (
int i = rhs.beginRows();
i < rhs.endRows(); ++
i)
586 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
590 for (
int i = rhs.beginRows();
i < rhs.endRows(); ++
i)
591 for (
int j = rhs.beginCols();
j < rhs.endCols(); ++
j)
592 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
597template <
typename Lhs,
typename Rhs>
602 for (
int j = rhs.beginCols();
j < rhs.endCols(); ++
j)
603 for (
int i = rhs.beginRows();
i <=
j; ++
i)
604 { lhs.elt(
i,
j) = ( lhs.elt(
j,
i) = rhs.elt(
i,
j) );}
608 for (
int i = rhs.beginRows();
i < rhs.endRows(); ++
i)
609 for (
int j =
i;
j < rhs.endCols(); ++
j)
610 { lhs.elt(
i,
j) = (lhs.elt(
j,
i) = rhs.elt(
i,
j));}
615template <
typename Lhs,
typename Rhs>
620 for (
int j = rhs.beginCols();
j < rhs.endCols(); ++
j)
621 for (
int i =
j;
i < rhs.endRows(); ++
i)
622 { lhs.elt(
i,
j) = ( lhs.elt(
j,
i) = rhs.elt(
i,
j) );}
626 for (
int i = rhs.beginRows();
i < rhs.endRows(); ++
i)
627 for (
int j = rhs.beginCols();
j <=
i; ++
j)
628 { lhs.elt(
i,
j) = (lhs.elt(
j,
i) = rhs.elt(
i,
j));}
635template <
typename Lhs,
typename Rhs>
641 const int end = std::min(rhs.endRows(), rhs.endCols());
642 for (
int j = rhs.beginCols();
j < end; ++
j)
643 for (
int i=
j;
i < rhs.endRows(); ++
i)
644 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
648 const int end = std::min(rhs.endRows(), rhs.endCols());
649 for (
int i = rhs.beginRows();
i < end; ++
i)
650 for (
int j = rhs.beginCols();
j <=
i; ++
j)
651 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
652 for (
int i= end;
i < rhs.endRows(); ++
i)
653 for (
int j=rhs.beginCols();
j < rhs.endCols(); ++
j)
654 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
660template <
typename Lhs,
typename Rhs>
666 const int end = std::min(rhs.endRows(), rhs.endCols());
667 for (
int j = rhs.beginCols();
j < end; ++
j)
668 for (
int i = rhs.beginRows();
i <=
j; ++
i)
669 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
670 for (
int j= end;
j < rhs.endCols(); ++
j)
671 for (
int i = rhs.beginRows();
i < rhs.endRows(); ++
i)
672 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
676 const int last = std::min(lhs.lastIdxRows(), lhs.lastIdxCols());
677 for (
int i = rhs.beginRows();
i <=
last; ++
i)
678 for (
int j=
i;
j < rhs.endCols(); ++
j)
679 { lhs.setValue(
i,
j, rhs.elt(
i,
j));}
686template <
typename Lhs,
typename Rhs>
690 {
for (
int i = rhs.begin();
i< rhs.end(); ++
i) { lhs.setValue(
i, rhs.elt(
i));}}
692 {
for (
int i = rhs.begin();
i< rhs.end(); ++
i) { lhs.setValue(
i, rhs.elt(
i));}}
696template <
typename Lhs,
typename Rhs>
700 {
for (
int i = rhs.begin();
i< rhs.end(); ++
i) { lhs.setValue(
i, rhs.elt(
i));}}
702 {
for (
int i = rhs.begin();
i< rhs.end(); ++
i) { lhs.setValue(
i, rhs.elt(
i));}}
706template <
typename Lhs,
typename Rhs>
710 {
for (
int i = rhs.begin();
i< rhs.end(); ++
i) { lhs.setValue(
i, rhs.elt(
i));}}
712 {
for (
int i = rhs.begin();
i< rhs.end(); ++
i) { lhs.setValue(
i, rhs.elt(
i));}}
717template <
typename Lhs,
typename Rhs>
721 {
for (
int i = rhs.begin();
i< rhs.end(); ++
i) { lhs.setValue(
i, rhs.elt(
i));}}
723 {
for (
int i = rhs.begin();
i< rhs.end(); ++
i) { lhs.setValue(
i, rhs.elt(
i));}}
727template <
typename Lhs,
typename Rhs>
731 {
for (
int i = rhs.begin();
i< rhs.end(); ++
i) { lhs.setValue(
i, rhs.elt(
i));}}
733 {
for (
int i = rhs.begin();
i< rhs.end(); ++
i) { lhs.setValue(
i, rhs.elt(
i));}}
736template <
typename Lhs,
typename Rhs>
740 {
for (
int i = rhs.begin();
i< rhs.end(); ++
i) { lhs.setValue(
i, rhs.elt(
i));}}
742 {
for (
int i = rhs.begin();
i< rhs.end(); ++
i) { lhs.setValue(
i, rhs.elt(
i));}}
747template <
typename Lhs,
typename Rhs>
751 {
for (
int i = rhs.begin();
i< rhs.end(); ++
i) { lhs.setValue(
i, rhs.elt(
i));}}
753 {
for (
int i = rhs.begin();
i< rhs.end(); ++
i) { lhs.setValue(
i, rhs.elt(
i));}}
757template <
typename Lhs,
typename Rhs>
761 {
for (
int i = rhs.begin();
i< rhs.end(); ++
i) { lhs.setValue(
i, rhs.elt(
i));}}
763 {
for (
int i = rhs.begin();
i< rhs.end(); ++
i) { lhs.setValue(
i, rhs.elt(
i));}}
766template <
typename Lhs,
typename Rhs>
770 {
for (
int i = rhs.begin();
i< rhs.end(); ++
i) { lhs.setValue(
i, rhs.elt(
i));}}
772 {
for (
int i = rhs.begin();
i< rhs.end(); ++
i) { lhs.setValue(
i, rhs.elt(
i));}}
778template <
typename Lhs,
typename Rhs>
782 { lhs.setValue(rhs.elt());}
784 { lhs.setValue(rhs.elt());}
790template <
typename Lhs,
typename Rhs,
int TOrient_>
794template<
typename Lhs,
typename Rhs>
806template<
typename Lhs,
typename Rhs>
The MultidimRegression class allows to regress a multidimensional output variable among a multivariat...
Index sub-vector region: Specialization when the size is unknown.
@ array2D_
general matrix/array/expression
@ number_
(1,1) matrix/vector/array/expression (like a number)
@ point_
row oriented vector/array/expression
@ lower_symmetric_
lower symmetric matrix/array/expression
@ lower_triangular_
lower triangular matrix/array/expression
@ symmetric_
symmetric matrix/array/expression
@ upper_triangular_
upper triangular matrix/array/expression
@ diagonal_
diagonal matrix/array/expression
@ upper_symmetric_
upper symmetric matrix/array/expression
@ vector_
column oriented vector/array/expression
@ square_
square matrix/array/expression
The namespace STK is the main domain space of the Statistical ToolKit project.
static bool resize(Derived const &array, Range const &I)
static bool isAllowed(Derived const &array, Range const &I, Range const &J)
static bool shift(Derived const &array, int beginRow, int beginCol)
static bool shift(Derived const &array, int begin)
static bool resize(Derived const &array, Range const &I, Range const &J)
static bool shift(Derived const &array, int beginRow, int beginCol)
static bool resize(Derived const &array, Range const &I, Range const &J)
static bool shift(Derived const &array, int begin)
static bool resize(Derived const &array, Range const &I)
static bool isAllowed(Derived const &array, Range const &I, Range const &J)
static bool resize(Derived const &array, Range const &I)
static bool isAllowed(Derived const &array, Range const &I, Range const &J)
static bool resize(Derived const &array, Range const &I, Range const &J)
static bool shift(Derived const &array, int begin)
static bool shift(Derived const &array, int beginRow, int beginCol)
static bool isAllowed(Derived const &array, Range const &I, Range const &J)
static bool shift(Derived const &array, int begin)
static bool resize(Derived const &array, Range const &I)
static bool shift(Derived const &array, int begin)
static bool resize(Derived const &array, Range const &I)
static bool isAllowed(Derived const &array, Range const &I, Range const &J)
static bool resize(Derived const &array, Range const &I, Range const &J)
static bool resize(Derived const &array, Range const &I)
static bool shift(Derived const &array, int begin)
static bool shift(Derived const &array, int beginRow, int beginCol)
static bool isAllowed(Derived const &array, Range const &I, Range const &J)
static bool resize(Derived const &array, Range const &I, Range const &J)
static bool shift(Derived const &array, int beginRow, int beginCol)
static bool isAllowed(Derived const &array, Range const &I, Range const &J)
static bool resize(Derived const &array, Range const &I)
static bool shift(Derived const &array, int begin)
static bool resize(Derived const &array, Range const &I)
static bool shift(Derived const &array, int begin)
static bool isAllowed(Derived const &array, Range const &I, Range const &J)
Utility class allowing to know if in an assignment the destination must be resized or shifted.
static void run(Lhs &lhs, Rhs const &rhs)
static void run(Lhs &lhs, Rhs const &rhs)
utility class that select if the copy will be by row or by column
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
hidden::Traits< Lhs >::Type Type
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
hidden::Traits< Lhs >::Type Type
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
hidden::Traits< Lhs >::Type Type
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
hidden::Traits< Lhs >::Type Type
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
hidden::Traits< Lhs >::Type Type
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
hidden::Traits< Lhs >::Type Type
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
hidden::Traits< Lhs >::Type Type
static void runByCol(Lhs &lhs, Rhs const &rhs)
hidden::Traits< Lhs >::Type Type
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
static void runByRow(Lhs &lhs, Rhs const &rhs)
static void runByCol(Lhs &lhs, Rhs const &rhs)
Copycat to use at compile time.
static void run(Lhs &lhs, ExprBase< Rhs > const &rhs)
static void run(Lhs &lhs, ExprBase< Rhs > const &rhs)
static void run(Lhs &lhs, ExprBase< Rhs > const &rhs)
static void run(Lhs &lhs, ExprBase< Rhs > const &rhs)
static void run(Lhs &lhs, ExprBase< Rhs > const &rhs)
utility class that select the resize method to call
static void run(Lhs &lhs, ExprBase< Rhs > const &rhs)