Lines Matching defs:Derived1

134 template<typename Derived1, typename Derived2, int Index, int Stop>
138 outer = Index / Derived1::InnerSizeAtCompileTime,
139 inner = Index % Derived1::InnerSizeAtCompileTime
142 static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src)
145 assign_DefaultTraversal_CompleteUnrolling<Derived1, Derived2, Index+1, Stop>::run(dst, src);
149 template<typename Derived1, typename Derived2, int Stop>
150 struct assign_DefaultTraversal_CompleteUnrolling<Derived1, Derived2, Stop, Stop>
152 static EIGEN_STRONG_INLINE void run(Derived1 &, const Derived2 &) {}
155 template<typename Derived1, typename Derived2, int Index, int Stop>
158 static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src, typename Derived1::Index outer)
161 assign_DefaultTraversal_InnerUnrolling<Derived1, Derived2, Index+1, Stop>::run(dst, src, outer);
165 template<typename Derived1, typename Derived2, int Stop>
166 struct assign_DefaultTraversal_InnerUnrolling<Derived1, Derived2, Stop, Stop>
168 static EIGEN_STRONG_INLINE void run(Derived1 &, const Derived2 &, typename Derived1::Index) {}
175 template<typename Derived1, typename Derived2, int Index, int Stop>
178 static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src)
181 assign_LinearTraversal_CompleteUnrolling<Derived1, Derived2, Index+1, Stop>::run(dst, src);
185 template<typename Derived1, typename Derived2, int Stop>
186 struct assign_LinearTraversal_CompleteUnrolling<Derived1, Derived2, Stop, Stop>
188 static EIGEN_STRONG_INLINE void run(Derived1 &, const Derived2 &) {}
195 template<typename Derived1, typename Derived2, int Index, int Stop>
199 outer = Index / Derived1::InnerSizeAtCompileTime,
200 inner = Index % Derived1::InnerSizeAtCompileTime,
201 JointAlignment = assign_traits<Derived1,Derived2>::JointAlignment
204 static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src)
207 assign_innervec_CompleteUnrolling<Derived1, Derived2,
208 Index+packet_traits<typename Derived1::Scalar>::size, Stop>::run(dst, src);
212 template<typename Derived1, typename Derived2, int Stop>
213 struct assign_innervec_CompleteUnrolling<Derived1, Derived2, Stop, Stop>
215 static EIGEN_STRONG_INLINE void run(Derived1 &, const Derived2 &) {}
218 template<typename Derived1, typename Derived2, int Index, int Stop>
221 static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src, typename Derived1::Index outer)
224 assign_innervec_InnerUnrolling<Derived1, Derived2,
225 Index+packet_traits<typename Derived1::Scalar>::size, Stop>::run(dst, src, outer);
229 template<typename Derived1, typename Derived2, int Stop>
230 struct assign_innervec_InnerUnrolling<Derived1, Derived2, Stop, Stop>
232 static EIGEN_STRONG_INLINE void run(Derived1 &, const Derived2 &, typename Derived1::Index) {}
239 template<typename Derived1, typename Derived2,
240 int Traversal = assign_traits<Derived1, Derived2>::Traversal,
241 int Unrolling = assign_traits<Derived1, Derived2>::Unrolling,
249 template<typename Derived1, typename Derived2, int Unrolling, int Version>
250 struct assign_impl<Derived1, Derived2, InvalidTraversal, Unrolling, Version>
252 static inline void run(Derived1 &, const Derived2 &) { }
255 template<typename Derived1, typename Derived2, int Version>
256 struct assign_impl<Derived1, Derived2, DefaultTraversal, NoUnrolling, Version>
258 typedef typename Derived1::Index Index;
259 static inline void run(Derived1 &dst, const Derived2 &src)
269 template<typename Derived1, typename Derived2, int Version>
270 struct assign_impl<Derived1, Derived2, DefaultTraversal, CompleteUnrolling, Version>
272 static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src)
274 assign_DefaultTraversal_CompleteUnrolling<Derived1, Derived2, 0, Derived1::SizeAtCompileTime>
279 template<typename Derived1, typename Derived2, int Version>
280 struct assign_impl<Derived1, Derived2, DefaultTraversal, InnerUnrolling, Version>
282 typedef typename Derived1::Index Index;
283 static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src)
287 assign_DefaultTraversal_InnerUnrolling<Derived1, Derived2, 0, Derived1::InnerSizeAtCompileTime>
296 template<typename Derived1, typename Derived2, int Version>
297 struct assign_impl<Derived1, Derived2, LinearTraversal, NoUnrolling, Version>
299 typedef typename Derived1::Index Index;
300 static inline void run(Derived1 &dst, const Derived2 &src)
308 template<typename Derived1, typename Derived2, int Version>
309 struct assign_impl<Derived1, Derived2, LinearTraversal, CompleteUnrolling, Version>
311 static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src)
313 assign_LinearTraversal_CompleteUnrolling<Derived1, Derived2, 0, Derived1::SizeAtCompileTime>
322 template<typename Derived1, typename Derived2, int Version>
323 struct assign_impl<Derived1, Derived2, InnerVectorizedTraversal, NoUnrolling, Version>
325 typedef typename Derived1::Index Index;
326 static inline void run(Derived1 &dst, const Derived2 &src)
330 const Index packetSize = packet_traits<typename Derived1::Scalar>::size;
337 template<typename Derived1, typename Derived2, int Version>
338 struct assign_impl<Derived1, Derived2, InnerVectorizedTraversal, CompleteUnrolling, Version>
340 static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src)
342 assign_innervec_CompleteUnrolling<Derived1, Derived2, 0, Derived1::SizeAtCompileTime>
347 template<typename Derived1, typename Derived2, int Version>
348 struct assign_impl<Derived1, Derived2, InnerVectorizedTraversal, InnerUnrolling, Version>
350 typedef typename Derived1::Index Index;
351 static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src)
355 assign_innervec_InnerUnrolling<Derived1, Derived2, 0, Derived1::InnerSizeAtCompileTime>
389 template<typename Derived1, typename Derived2, int Version>
390 struct assign_impl<Derived1, Derived2, LinearVectorizedTraversal, NoUnrolling, Version>
392 typedef typename Derived1::Index Index;
393 static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src)
396 typedef packet_traits<typename Derived1::Scalar> PacketTraits;
399 dstAlignment = PacketTraits::AlignedOnScalar ? Aligned : int(assign_traits<Derived1,Derived2>::DstIsAligned) ,
400 srcAlignment = assign_traits<Derived1,Derived2>::JointAlignment
402 const Index alignedStart = assign_traits<Derived1,Derived2>::DstIsAligned ? 0
406 unaligned_assign_impl<assign_traits<Derived1,Derived2>::DstIsAligned!=0>::run(src,dst,0,alignedStart);
417 template<typename Derived1, typename Derived2, int Version>
418 struct assign_impl<Derived1, Derived2, LinearVectorizedTraversal, CompleteUnrolling, Version>
420 typedef typename Derived1::Index Index;
421 static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src)
423 enum { size = Derived1::SizeAtCompileTime,
424 packetSize = packet_traits<typename Derived1::Scalar>::size,
427 assign_innervec_CompleteUnrolling<Derived1, Derived2, 0, alignedSize>::run(dst, src);
428 assign_DefaultTraversal_CompleteUnrolling<Derived1, Derived2, alignedSize, size>::run(dst, src);
436 template<typename Derived1, typename Derived2, int Version>
437 struct assign_impl<Derived1, Derived2, SliceVectorizedTraversal, NoUnrolling, Version>
439 typedef typename Derived1::Index Index;
440 static inline void run(Derived1 &dst, const Derived2 &src)
442 typedef packet_traits<typename Derived1::Scalar> PacketTraits;
446 dstAlignment = alignable ? Aligned : int(assign_traits<Derived1,Derived2>::DstIsAligned) ,
447 srcAlignment = assign_traits<Derived1,Derived2>::JointAlignment
453 Index alignedStart = ((!alignable) || assign_traits<Derived1,Derived2>::DstIsAligned) ? 0