diff options
author | Gael Guennebaud <g.gael@free.fr> | 2012-06-18 21:32:56 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2012-06-18 21:32:56 +0200 |
commit | 791e28f25d75941a6e0fc317464cbb52cb312944 (patch) | |
tree | 0b66089eef286d443bbf0b8cdaa2a5a5a99a251c /unsupported/test/forward_adolc.cpp | |
parent | 148587e229479ee5e0a6853bb0ae2dac0f34436f (diff) |
update adolc support wrt "new" NumTraits mechanism
Diffstat (limited to 'unsupported/test/forward_adolc.cpp')
-rw-r--r-- | unsupported/test/forward_adolc.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/unsupported/test/forward_adolc.cpp b/unsupported/test/forward_adolc.cpp index 1971d883b..07959a668 100644 --- a/unsupported/test/forward_adolc.cpp +++ b/unsupported/test/forward_adolc.cpp @@ -23,11 +23,20 @@ // Eigen. If not, see <http://www.gnu.org/licenses/>. #include "main.h" +#include <Eigen/Dense> + #define NUMBER_DIRECTIONS 16 #include <unsupported/Eigen/AdolcForward> int adtl::ADOLC_numDir; +template<typename Vector> +EIGEN_DONT_INLINE typename Vector::Scalar foo(const Vector& p) +{ + typedef typename Vector::Scalar Scalar; + return (p-Vector(Scalar(-1),Scalar(1.))).norm() + (p.array().sqrt().abs() * p.array().sin()).sum() + p.dot(p); +} + template<typename _Scalar, int NX=Dynamic, int NY=Dynamic> struct TestFunc1 { @@ -138,4 +147,12 @@ void test_forward_adolc() CALL_SUBTEST(( adolc_forward_jacobian(TestFunc1<double,3,3>()) )); CALL_SUBTEST(( adolc_forward_jacobian(TestFunc1<double>(3,3)) )); } + + { + // simple instanciation tests + Matrix<adtl::adouble,2,1> x; + foo(x); + Matrix<adtl::adouble,Dynamic,Dynamic> A(4,4);; + A.selfadjointView<Lower>().eigenvalues(); + } } |