aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/evaluators.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/evaluators.cpp')
-rw-r--r--test/evaluators.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/evaluators.cpp b/test/evaluators.cpp
index f41968da8..12dc1ffef 100644
--- a/test/evaluators.cpp
+++ b/test/evaluators.cpp
@@ -2,6 +2,20 @@
#include "main.h"
namespace Eigen {
+
+ template<typename Lhs,typename Rhs>
+ const Product<Lhs,Rhs>
+ prod(const Lhs& lhs, const Rhs& rhs)
+ {
+ return Product<Lhs,Rhs>(lhs,rhs);
+ }
+
+ template<typename Lhs,typename Rhs>
+ const Product<Lhs,Rhs,LazyProduct>
+ lazyprod(const Lhs& lhs, const Rhs& rhs)
+ {
+ return Product<Lhs,Rhs,LazyProduct>(lhs,rhs);
+ }
template<typename DstXprType, typename SrcXprType>
EIGEN_STRONG_INLINE
@@ -69,6 +83,14 @@ namespace Eigen {
typedef typename DstXprType::Scalar Scalar;
call_assignment(dst.const_cast_derived(), src.const_cast_derived(), internal::swap_assign_op<Scalar>());
}
+
+ namespace internal {
+ template<typename Dst, template <typename> class StorageBase, typename Src, typename Func>
+ EIGEN_DEVICE_FUNC void call_assignment(const NoAlias<Dst,StorageBase>& dst, const Src& src, const Func& func)
+ {
+ call_assignment_no_alias(dst.expression(), src, func);
+ }
+ }
}