From 0d7039319c2826f5550d2fc5ca5421091d6ed8a9 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Wed, 27 Jul 2016 14:35:52 +0200 Subject: [PATCH] bug #1260: remove doubtful specializations of ScalarBinaryOpTraits --- unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h | 16 ---------------- unsupported/test/autodiff.cpp | 4 ++++ 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h b/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h index a4d12ab37..98e0e3b73 100755 --- a/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +++ b/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h @@ -497,31 +497,15 @@ struct make_coherent_impl -struct ScalarBinaryOpTraits,A_Scalar,BinOp> -{ - enum { Defined = 1 }; - typedef Matrix ReturnType; -}; - -template -struct ScalarBinaryOpTraits, BinOp> -{ - enum { Defined = 1 }; - typedef Matrix ReturnType; -}; - template struct ScalarBinaryOpTraits,typename DerType::Scalar,BinOp> { - enum { Defined = 1 }; typedef AutoDiffScalar ReturnType; }; template struct ScalarBinaryOpTraits, BinOp> { - enum { Defined = 1 }; typedef AutoDiffScalar ReturnType; }; diff --git a/unsupported/test/autodiff.cpp b/unsupported/test/autodiff.cpp index b59fd1c43..e422ba8bc 100644 --- a/unsupported/test/autodiff.cpp +++ b/unsupported/test/autodiff.cpp @@ -205,6 +205,10 @@ void test_autodiff_hessian() VERIFY_IS_APPROX(y.value().derivatives()(1), s4*std::cos(s1*s3+s2*s4)); VERIFY_IS_APPROX(y.derivatives()(0).derivatives(), -std::sin(s1*s3+s2*s4)*Vector2d(s3*s3,s4*s3)); VERIFY_IS_APPROX(y.derivatives()(1).derivatives(), -std::sin(s1*s3+s2*s4)*Vector2d(s3*s4,s4*s4)); + + ADD z = x(0)*x(1); + VERIFY_IS_APPROX(z.derivatives()(0).derivatives(), Vector2d(0,1)); + VERIFY_IS_APPROX(z.derivatives()(1).derivatives(), Vector2d(1,0)); } double bug_1222() {