diff --git a/Eigen/src/Core/ArithmeticSequence.h b/Eigen/src/Core/ArithmeticSequence.h index dd24d0b05..238601818 100644 --- a/Eigen/src/Core/ArithmeticSequence.h +++ b/Eigen/src/Core/ArithmeticSequence.h @@ -480,7 +480,7 @@ struct MakeIndexing::val }; // Replace symbolic last/end "keywords" by their true runtime value -Index eval_expr_given_size(Index x, Index /* size */) { return x; } +inline Index eval_expr_given_size(Index x, Index /* size */) { return x; } template fix_t eval_expr_given_size(fix_t x, Index /*size*/) { return x; } @@ -580,10 +580,10 @@ struct end_t { }; static const end_t end; -Index eval_expr_given_size(last_t, Index size) { return size-1; } -Index eval_expr_given_size(shifted_last x, Index size) { return size+x.offset-1; } -Index eval_expr_given_size(end_t, Index size) { return size; } -Index eval_expr_given_size(shifted_end x, Index size) { return size+x.offset; } +inline Index eval_expr_given_size(last_t, Index size) { return size-1; } +inline Index eval_expr_given_size(shifted_last x, Index size) { return size+x.offset-1; } +inline Index eval_expr_given_size(end_t, Index size) { return size; } +inline Index eval_expr_given_size(shifted_end x, Index size) { return size+x.offset; } template > class ArithemeticSequenceProxyWithBounds diff --git a/Eigen/src/Core/IndexedView.h b/Eigen/src/Core/IndexedView.h index 12e122030..5aaf5b4e0 100644 --- a/Eigen/src/Core/IndexedView.h +++ b/Eigen/src/Core/IndexedView.h @@ -159,7 +159,7 @@ struct unary_evaluator, IndexBased> typedef IndexedView XprType; enum { - CoeffReadCost = evaluator::CoeffReadCost /* + cost of row/col index */, + CoeffReadCost = evaluator::CoeffReadCost /* TODO + cost of row/col index */, Flags = (evaluator::Flags & (HereditaryBits /*| LinearAccessBit | DirectAccessBit*/)),