12#ifndef EIGEN_ASSIGN_EVALUATOR_H
13#define EIGEN_ASSIGN_EVALUATOR_H
27template <
typename DstEvaluator,
typename SrcEvaluator,
typename AssignFunc,
int MaxPacketSize = -1>
30 typedef typename DstEvaluator::XprType
Dst;
48 InnerSize =
int(Dst::IsVectorAtCompileTime) ?
int(Dst::SizeAtCompileTime)
50 :
int(Dst::RowsAtCompileTime),
51 InnerMaxSize =
int(Dst::IsVectorAtCompileTime) ?
int(Dst::MaxSizeAtCompileTime)
53 :
int(Dst::MaxRowsAtCompileTime),
57 MaxSizeAtCompileTime = Dst::SizeAtCompileTime
79 StorageOrdersAgree = (
int(DstIsRowMajor) ==
int(SrcIsRowMajor)),
80 MightVectorize =
bool(StorageOrdersAgree)
83 MayInnerVectorize = MightVectorize
123 &&
int(Dst::SizeAtCompileTime) * (
int(DstEvaluator::CoeffReadCost)+
int(SrcEvaluator::CoeffReadCost)) <=
int(UnrollingLimit),
125 &&
int(InnerSize) * (
int(DstEvaluator::CoeffReadCost)+
int(SrcEvaluator::CoeffReadCost)) <=
int(UnrollingLimit)
151#ifdef EIGEN_DEBUG_ASSIGN
154 std::cerr <<
"DstXpr: " <<
typeid(
typename DstEvaluator::XprType).name() << std::endl;
155 std::cerr <<
"SrcXpr: " <<
typeid(
typename SrcEvaluator::XprType).name() << std::endl;
156 std::cerr.setf(std::ios::hex, std::ios::basefield);
157 std::cerr <<
"DstFlags" <<
" = " <<
DstFlags <<
" (" << demangle_flags(
DstFlags) <<
" )" << std::endl;
158 std::cerr <<
"SrcFlags" <<
" = " <<
SrcFlags <<
" (" << demangle_flags(
SrcFlags) <<
" )" << std::endl;
159 std::cerr.unsetf(std::ios::hex);
176 std::cerr <<
"Traversal" <<
" = " <<
Traversal <<
" (" << demangle_traversal(
Traversal) <<
")" << std::endl;
183 std::cerr <<
"Unrolling" <<
" = " <<
Unrolling <<
" (" << demangle_unrolling(
Unrolling) <<
")" << std::endl;
184 std::cerr << std::endl;
197template<
typename Kernel,
int Index,
int Stop>
205 outer =
Index / DstXprType::InnerSizeAtCompileTime,
206 inner =
Index % DstXprType::InnerSizeAtCompileTime
211 kernel.assignCoeffByOuterInner(outer, inner);
216template<
typename Kernel,
int Stop>
222template<
typename Kernel,
int Index_,
int Stop>
227 kernel.assignCoeffByOuterInner(outer,
Index_);
232template<
typename Kernel,
int Stop>
242template<
typename Kernel,
int Index,
int Stop>
247 kernel.assignCoeff(
Index);
252template<
typename Kernel,
int Stop>
262template<
typename Kernel,
int Index,
int Stop>
271 outer =
Index / DstXprType::InnerSizeAtCompileTime,
272 inner =
Index % DstXprType::InnerSizeAtCompileTime,
273 SrcAlignment = Kernel::AssignmentTraits::SrcAlignment,
274 DstAlignment = Kernel::AssignmentTraits::DstAlignment
285template<
typename Kernel,
int Stop>
291template<
typename Kernel,
int Index_,
int Stop,
int SrcAlignment,
int DstAlignment>
303template<
typename Kernel,
int Stop,
int SrcAlignment,
int DstAlignment>
315template<
typename Kernel,
316 int Traversal = Kernel::AssignmentTraits::Traversal,
317 int Unrolling = Kernel::AssignmentTraits::Unrolling>
325template<
typename Kernel,
int Unrolling>
330 typedef typename Kernel::DstEvaluatorType::XprType DstXprType;
332 EIGEN_INTERNAL_ERROR_PLEASE_FILE_A_BUG_REPORT)
340template<
typename Kernel>
345 for(
Index outer = 0; outer < kernel.outerSize(); ++outer) {
346 for(
Index inner = 0; inner < kernel.innerSize(); ++inner) {
347 kernel.assignCoeffByOuterInner(outer, inner);
353template<
typename Kernel>
358 typedef typename Kernel::DstEvaluatorType::XprType DstXprType;
363template<
typename Kernel>
368 typedef typename Kernel::DstEvaluatorType::XprType DstXprType;
370 const Index outerSize = kernel.outerSize();
371 for(
Index outer = 0; outer < outerSize; ++outer)
384template <
bool IsAligned = false>
388 template <
typename Kernel>
399 template <
typename Kernel>
404 template <
typename Kernel>
410 for (
Index index = start; index < end; ++index)
411 kernel.assignCoeff(index);
415template<
typename Kernel>
421 typedef typename Kernel::Scalar
Scalar;
422 typedef typename Kernel::PacketType
PacketType;
428 :
int(Kernel::AssignmentTraits::DstAlignment),
443template<
typename Kernel>
448 typedef typename Kernel::DstEvaluatorType::XprType DstXprType;
449 typedef typename Kernel::PacketType
PacketType;
451 enum {
size = DstXprType::SizeAtCompileTime,
464template<
typename Kernel>
469 SrcAlignment = Kernel::AssignmentTraits::SrcAlignment,
470 DstAlignment = Kernel::AssignmentTraits::DstAlignment
474 const Index innerSize = kernel.innerSize();
475 const Index outerSize = kernel.outerSize();
477 for(
Index outer = 0; outer < outerSize; ++outer)
483template<
typename Kernel>
488 typedef typename Kernel::DstEvaluatorType::XprType DstXprType;
493template<
typename Kernel>
498 typedef typename Kernel::DstEvaluatorType::XprType DstXprType;
499 typedef typename Kernel::AssignmentTraits Traits;
500 const Index outerSize = kernel.outerSize();
501 for(
Index outer = 0; outer < outerSize; ++outer)
503 Traits::SrcAlignment, Traits::DstAlignment>::run(kernel, outer);
511template<
typename Kernel>
518 kernel.assignCoeff(
i);
522template<
typename Kernel>
527 typedef typename Kernel::DstEvaluatorType::XprType DstXprType;
536template<
typename Kernel>
541 typedef typename Kernel::Scalar
Scalar;
542 typedef typename Kernel::PacketType
PacketType;
549 :
int(Kernel::AssignmentTraits::DstAlignment)
558 const Index innerSize = kernel.innerSize();
559 const Index outerSize = kernel.outerSize();
563 for(
Index outer = 0; outer < outerSize; ++outer)
568 kernel.assignCoeffByOuterInner(outer, inner);
576 kernel.assignCoeffByOuterInner(outer, inner);
583#if EIGEN_UNALIGNED_VECTORIZE
584template<
typename Kernel>
589 typedef typename Kernel::DstEvaluatorType::XprType DstXprType;
590 typedef typename Kernel::PacketType
PacketType;
592 enum { innerSize = DstXprType::InnerSizeAtCompileTime,
593 packetSize =unpacket_traits<PacketType>::size,
594 vectorizableSize = (
int(innerSize) /
int(packetSize)) *
int(packetSize),
595 size = DstXprType::SizeAtCompileTime };
597 for(Index outer = 0; outer < kernel.outerSize(); ++outer)
599 copy_using_evaluator_innervec_InnerUnrolling<Kernel, 0, vectorizableSize, 0, 0>::run(kernel, outer);
600 copy_using_evaluator_DefaultTraversal_InnerUnrolling<Kernel, vectorizableSize, innerSize>::run(kernel, outer);
617template<
typename DstEvaluatorTypeT,
typename SrcEvaluatorTypeT,
typename Functor,
int Version = Specialized>
627 typedef typename DstEvaluatorType::Scalar
Scalar;
636 #ifdef EIGEN_DEBUG_ASSIGN
637 AssignmentTraits::debug();
654 m_functor.assignCoeff(m_dst.coeffRef(
row,
col), m_src.coeff(
row,
col));
660 m_functor.assignCoeff(m_dst.coeffRef(index), m_src.coeff(index));
666 Index row = rowIndexByOuterInner(outer, inner);
667 Index col = colIndexByOuterInner(outer, inner);
672 template<
int StoreMode,
int LoadMode,
typename PacketType>
678 template<
int StoreMode,
int LoadMode,
typename PacketType>
684 template<
int StoreMode,
int LoadMode,
typename PacketType>
687 Index row = rowIndexByOuterInner(outer, inner);
688 Index col = colIndexByOuterInner(outer, inner);
694 typedef typename DstEvaluatorType::ExpressionTraits Traits;
695 return int(Traits::RowsAtCompileTime) == 1 ? 0
696 :
int(Traits::ColsAtCompileTime) == 1 ? inner
703 typedef typename DstEvaluatorType::ExpressionTraits Traits;
704 return int(Traits::ColsAtCompileTime) == 1 ? 0
705 :
int(Traits::RowsAtCompileTime) == 1 ? inner
712 return m_dstExpr.data();
727template<
typename DstEvaluatorTypeT,
typename SrcEvaluatorTypeT,
typename Functor>
748template<
typename DstXprType,
typename SrcXprType,
typename Functor>
757template<
typename DstXprType,
typename SrcXprType,
typename T1,
typename T2>
768template<
typename DstXprType,
typename SrcXprType,
typename Functor>
774 SrcEvaluatorType srcEvaluator(
src);
780 DstEvaluatorType dstEvaluator(
dst);
783 Kernel kernel(dstEvaluator, srcEvaluator,
func,
dst.const_cast_derived());
789#ifndef EIGEN_GPU_COMPILE_PHASE
790template<
typename DstXprType>
794 std::fill_n(
dst.data(),
dst.size(),
src.functor()());
798template<
typename DstXprType,
typename SrcXprType>
811template<
typename DstShape,
typename SrcShape>
struct AssignmentKind;
821template<
typename DstXprType,
typename SrcXprType,
typename Functor,
832template<
typename Dst,
typename Src>
838template<
typename Dst,
typename Src>
846template<
typename Dst,
typename Src,
typename Func>
854template<
typename Dst,
typename Src,
typename Func>
863template<
typename Dst,
template <
typename>
class StorageBase,
typename Src,
typename Func>
871template<
typename Dst,
typename Src,
typename Func>
877 || (
int(Dst::ColsAtCompileTime) == 1 &&
int(Src::RowsAtCompileTime) == 1)
878 ) &&
int(Dst::SizeAtCompileTime) != 1
893template<
typename Dst,
typename Src,
typename Func>
904 SrcEvaluatorType srcEvaluator(
src);
907 DstEvaluatorType dstEvaluator(
dst);
908 Kernel kernel(dstEvaluator, srcEvaluator,
func,
dst.const_cast_derived());
913template<
typename Dst,
typename Src>
920template<
typename Dst,
typename Src,
typename Func>
931template<
typename Dst,
typename Src>
944template<
typename DstXprType,
typename SrcXprType,
typename Functor,
typename Weak>
950#ifndef EIGEN_NO_DEBUG
951 internal::check_for_aliasing(
dst,
src);
962template<
typename DstXprType,
typename SrcXprType,
typename Functor,
typename Weak>
979 template<
typename SrcScalarType>
992 template<
typename SrcScalarType>
int i
Definition BiCGSTAB_step_by_step.cpp:9
if((m *x).isApprox(y))
Definition FullPivLU_solve.cpp:6
#define EIGEN_PLAIN_ENUM_MIN(a, b)
Definition Macros.h:1288
#define EIGEN_NOEXCEPT
Definition Macros.h:1418
#define EIGEN_DEBUG_VAR(x)
Definition Macros.h:898
#define EIGEN_CONSTEXPR
Definition Macros.h:787
#define EIGEN_DEVICE_FUNC
Definition Macros.h:976
#define EIGEN_DONT_INLINE
Definition Macros.h:940
#define EIGEN_ONLY_USED_FOR_DEBUG(x)
Definition Macros.h:1049
#define eigen_assert(x)
Definition Macros.h:1037
#define EIGEN_STRONG_INLINE
Definition Macros.h:917
#define EIGEN_SIZE_MIN_PREFER_FIXED(a, b)
Definition Macros.h:1302
#define EIGEN_UNROLLING_LIMIT
Definition Settings.h:24
#define EIGEN_STATIC_ASSERT_LVALUE(Derived)
Definition StaticAssert.h:202
#define EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(TYPE0, TYPE1)
Definition StaticAssert.h:192
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
Definition StaticAssert.h:127
#define EIGEN_CHECK_BINARY_COMPATIBILIY(BINOP, LHS, RHS)
Definition XprHelper.h:850
Scalar Scalar int size
Definition benchVecAdd.cpp:17
SCALAR Scalar
Definition bench_gemm.cpp:46
Generic expression of a matrix where all coefficients are defined by a functor.
Definition CwiseNullaryOp.h:61
Convenience specialization of Stride to specify only an outer stride See class Map for some examples.
Definition Stride.h:107
Definition AssignEvaluator.h:619
DstXprType & m_dstExpr
Definition AssignEvaluator.h:720
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignPacket(Index index)
Definition AssignEvaluator.h:679
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index size() const EIGEN_NOEXCEPT
Definition AssignEvaluator.h:641
const SrcEvaluatorType & m_src
Definition AssignEvaluator.h:717
EIGEN_DEVICE_FUNC const Scalar * dstDataPtr() const
Definition AssignEvaluator.h:710
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE generic_dense_assignment_kernel(DstEvaluatorType &dst, const SrcEvaluatorType &src, const Functor &func, DstXprType &dstExpr)
Definition AssignEvaluator.h:633
EIGEN_DEVICE_FUNC DstEvaluatorType & dstEvaluator() EIGEN_NOEXCEPT
Definition AssignEvaluator.h:648
DstEvaluatorTypeT DstEvaluatorType
Definition AssignEvaluator.h:625
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rows() const EIGEN_NOEXCEPT
Definition AssignEvaluator.h:644
AssignmentTraits::PacketType PacketType
Definition AssignEvaluator.h:629
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index cols() const EIGEN_NOEXCEPT
Definition AssignEvaluator.h:645
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff(Index row, Index col)
Assign src(row,col) to dst(row,col) through the assignment functor.
Definition AssignEvaluator.h:652
SrcEvaluatorTypeT SrcEvaluatorType
Definition AssignEvaluator.h:626
DstEvaluatorType & m_dst
Definition AssignEvaluator.h:716
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index outerSize() const EIGEN_NOEXCEPT
Definition AssignEvaluator.h:643
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignPacketByOuterInner(Index outer, Index inner)
Definition AssignEvaluator.h:685
const Functor & m_functor
Definition AssignEvaluator.h:718
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff(Index index)
Definition AssignEvaluator.h:658
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index outerStride() const EIGEN_NOEXCEPT
Definition AssignEvaluator.h:646
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index innerSize() const EIGEN_NOEXCEPT
Definition AssignEvaluator.h:642
EIGEN_DEVICE_FUNC const SrcEvaluatorType & srcEvaluator() const EIGEN_NOEXCEPT
Definition AssignEvaluator.h:649
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignPacket(Index row, Index col)
Definition AssignEvaluator.h:673
copy_using_evaluator_traits< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor > AssignmentTraits
Definition AssignEvaluator.h:628
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rowIndexByOuterInner(Index outer, Index inner)
Definition AssignEvaluator.h:692
SrcEvaluatorTypeT::XprType SrcXprType
Definition AssignEvaluator.h:622
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index colIndexByOuterInner(Index outer, Index inner)
Definition AssignEvaluator.h:701
DstEvaluatorTypeT::XprType DstXprType
Definition AssignEvaluator.h:621
DstEvaluatorType::Scalar Scalar
Definition AssignEvaluator.h:627
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeffByOuterInner(Index outer, Index inner)
Definition AssignEvaluator.h:664
Definition AssignEvaluator.h:729
Base::DstXprType DstXprType
Definition AssignEvaluator.h:734
EIGEN_DEVICE_FUNC restricted_packet_dense_assignment_kernel(DstEvaluatorTypeT &dst, const SrcEvaluatorTypeT &src, const Functor &func, DstXprType &dstExpr)
Definition AssignEvaluator.h:738
generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, BuiltIn > Base
Definition AssignEvaluator.h:731
AssignmentTraits::PacketType PacketType
Definition AssignEvaluator.h:736
copy_using_evaluator_traits< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, 4 > AssignmentTraits
Definition AssignEvaluator.h:735
Base::Scalar Scalar
Definition AssignEvaluator.h:733
const unsigned int LinearAccessBit
Definition Constants.h:130
const unsigned int DirectAccessBit
Definition Constants.h:155
const unsigned int RowMajorBit
Definition Constants.h:66
std::size_t UIntPtr
Definition Meta.h:92
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void call_restricted_packet_assignment_no_alias(Dst &dst, const Src &src, const Func &func)
Definition AssignEvaluator.h:895
void check_for_aliasing(const Dst &dst, const Src &src)
Definition Transpose.h:452
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void resize_if_allowed(DstXprType &dst, const SrcXprType &src, const Functor &)
Definition AssignEvaluator.h:750
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void call_assignment_no_alias(Dst &dst, const Src &src, const Func &func)
Definition AssignEvaluator.h:873
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void call_assignment(Dst &dst, const Src &src)
Definition AssignEvaluator.h:834
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void call_dense_assignment_loop(DstXprType &dst, const SrcXprType &src, const Functor &func)
Definition AssignEvaluator.h:769
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void call_assignment_no_alias_no_transpose(Dst &dst, const Src &src, const Func &func)
Definition AssignEvaluator.h:922
Namespace containing all symbols from the Eigen library.
Definition bench_norm.cpp:85
const unsigned int ActualPacketAccessBit
Definition Constants.h:107
@ InnerVectorizedTraversal
Definition Constants.h:282
@ LinearVectorizedTraversal
Definition Constants.h:285
@ DefaultTraversal
Definition Constants.h:277
@ SliceVectorizedTraversal
Definition Constants.h:288
@ LinearTraversal
Definition Constants.h:279
@ AllAtOnceTraversal
Definition Constants.h:292
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition Meta.h:74
@ InnerUnrolling
Definition Constants.h:301
@ CompleteUnrolling
Definition Constants.h:304
@ NoUnrolling
Definition Constants.h:299
const int Dynamic
Definition Constants.h:22
Definition BandTriangularSolver.h:13
Definition Constants.h:528
Definition TensorMeta.h:50
Dense2Dense Kind
Definition AssignEvaluator.h:818
Definition AssignEvaluator.h:817
EigenBase2EigenBase Kind
Definition AssignEvaluator.h:817
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(DstXprType &dst, const SrcXprType &src, const Functor &func)
Definition AssignEvaluator.h:948
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(DstXprType &dst, const SrcXprType &src, const internal::sub_assign_op< typename DstXprType::Scalar, SrcScalarType > &)
Definition AssignEvaluator.h:994
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(DstXprType &dst, const SrcXprType &src, const internal::add_assign_op< typename DstXprType::Scalar, SrcScalarType > &)
Definition AssignEvaluator.h:981
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(DstXprType &dst, const SrcXprType &src, const internal::assign_op< typename DstXprType::Scalar, typename SrcXprType::Scalar > &)
Definition AssignEvaluator.h:966
Definition AssignEvaluator.h:824
Definition AssignEvaluator.h:814
Definition AssignEvaluator.h:815
Definition ForwardDeclarations.h:151
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &)
Definition AssignEvaluator.h:219
Definition AssignEvaluator.h:199
DstEvaluatorType::XprType DstXprType
Definition AssignEvaluator.h:202
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &kernel)
Definition AssignEvaluator.h:209
Kernel::DstEvaluatorType DstEvaluatorType
Definition AssignEvaluator.h:201
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &, Index)
Definition AssignEvaluator.h:235
Definition AssignEvaluator.h:224
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &kernel, Index outer)
Definition AssignEvaluator.h:225
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &)
Definition AssignEvaluator.h:255
Definition AssignEvaluator.h:244
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &kernel)
Definition AssignEvaluator.h:245
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &)
Definition AssignEvaluator.h:288
Definition AssignEvaluator.h:264
Kernel::PacketType PacketType
Definition AssignEvaluator.h:268
Kernel::DstEvaluatorType DstEvaluatorType
Definition AssignEvaluator.h:266
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &kernel)
Definition AssignEvaluator.h:277
DstEvaluatorType::XprType DstXprType
Definition AssignEvaluator.h:267
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &, Index)
Definition AssignEvaluator.h:306
Definition AssignEvaluator.h:293
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &kernel, Index outer)
Definition AssignEvaluator.h:295
Kernel::PacketType PacketType
Definition AssignEvaluator.h:294
Definition AssignEvaluator.h:29
@ SrcFlags
Definition AssignEvaluator.h:35
@ DstFlags
Definition AssignEvaluator.h:34
@ InnerRequiredAlignment
Definition AssignEvaluator.h:72
@ LinearRequiredAlignment
Definition AssignEvaluator.h:71
@ Vectorized
Definition AssignEvaluator.h:109
@ Traversal
Definition AssignEvaluator.h:102
@ SrcAlignment
Definition AssignEvaluator.h:41
@ JointAlignment
Definition AssignEvaluator.h:43
@ DstAlignment
Definition AssignEvaluator.h:40
@ DstHasDirectAccess
Definition AssignEvaluator.h:42
DstEvaluator::XprType Dst
Definition AssignEvaluator.h:30
conditional< int(Traversal)==LinearVectorizedTraversal, LinearPacketType, InnerPacketType >::type PacketType
Definition AssignEvaluator.h:114
@ Unrolling
Definition AssignEvaluator.h:130
Dst::Scalar DstScalar
Definition AssignEvaluator.h:31
static EIGEN_DEVICE_FUNC void EIGEN_STRONG_INLINE run(Kernel &)
Definition AssignEvaluator.h:328
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &kernel)
Definition AssignEvaluator.h:356
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &kernel)
Definition AssignEvaluator.h:366
static EIGEN_DEVICE_FUNC void EIGEN_STRONG_INLINE run(Kernel &kernel)
Definition AssignEvaluator.h:343
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &kernel)
Definition AssignEvaluator.h:486
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &kernel)
Definition AssignEvaluator.h:496
Kernel::PacketType PacketType
Definition AssignEvaluator.h:467
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &kernel)
Definition AssignEvaluator.h:472
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &kernel)
Definition AssignEvaluator.h:525
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &kernel)
Definition AssignEvaluator.h:514
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &kernel)
Definition AssignEvaluator.h:446
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &kernel)
Definition AssignEvaluator.h:418
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &kernel)
Definition AssignEvaluator.h:539
Definition AssignEvaluator.h:318
Definition CoreEvaluators.h:84
storage_kind_to_shape< typenametraits< T >::StorageKind >::Shape Shape
Definition CoreEvaluators.h:74
find_best_packet_helper< Size, typenamepacket_traits< T >::type >::type type
Definition XprHelper.h:208
Definition XprHelper.h:176
Definition DenseCoeffsBase.h:671
Definition GenericPacketMath.h:107
Definition XprHelper.h:295
Definition ForwardDeclarations.h:17
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &kernel, Index start, Index end)
Definition AssignEvaluator.h:405
Definition AssignEvaluator.h:386
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void run(Kernel &, Index, Index)
Definition AssignEvaluator.h:389
Definition GenericPacketMath.h:133
@ size
Definition GenericPacketMath.h:138
Definition NonLinearOptimization.cpp:118
Definition benchGeometry.cpp:23