From a28f1b24a7a68bf7e0578e7e8e1b693c7e417d97 Mon Sep 17 00:00:00 2001 From: Guilhem Saurel Date: Sat, 2 May 2026 10:32:24 +0200 Subject: [PATCH] test cppad: fix scalar type fix: ```cpp [ 86%] Building CXX object unittest/cppad/CMakeFiles/pinocchio-test-cpp-cppad-basic.dir/basic.cpp.o cd /build/source/build/unittest/cppad && /nix/store/qd70v8g0561vm8m33kmnp79z00cgyi5n-gcc-wrapper-15.2.0/bin/g++ -DBOOST_ATOMIC_DYN_LINK -DBOOST_ATOMIC_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_FILESYSTEM_NO_LIB -DBOOST_FUSION_INVOKE_MAX_ARITY=12 -DBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS -DBOOST_MPL_LIMIT_LIST_SIZE=30 -DBOOST_MPL_LIMIT_VECTOR_SIZE=30 -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -DBOOST_TEST_DYN_LINK -DBOOST_TEST_MODULE=Test -DBOOST_UNIT_TEST_FRAMEWORK_DYN_LINK -DBOOST_UNIT_TEST_FRAMEWORK_NO_LIB -DCOAL_BACKWARD_COMPATIBILITY_WITH_HPP_FCL -DCOAL_HAS_OCTOMAP -DCOAL_HAVE_OCTOMAP -DCPPAD_DEBUG_AND_RELEASE -DEXAMPLE_ROBOT_DATA_MODEL_DIR=\"/nix/store/c6xq28g752p397cv5688j1b0b49d86fb-example-robot-data-4.4.0/share/example-robot-data/robots\" -DOCTOMAP_MAJOR_VERSION=1 -DOCTOMAP_MINOR_VERSION=10 -DOCTOMAP_PATCH_VERSION=0 -DPINOCCHIO_DISABLE_UNSUPPORTED_WARNINGS -DPINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION -DPINOCCHIO_MODEL_DIR=\"/build/source/models\" -DPINOCCHIO_WITH_COLLISION -I/build/source/build -I/build/source/build/include -I/build/source/include -I/build/source/unittest/cppad -I/build/source/include/pinocchio/deprecated -isystem /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3 -pedantic -Wno-long-long -Wall -Wextra -Wcast-align -Wcast-qual -Wformat -Wwrite-strings -Wconversion -O3 -DNDEBUG -Wno-array-bounds -Wno-maybe-uninitialized -MD -MT unittest/cppad/CMakeFiles/pinocchio-test-cpp-cppad-basic.dir/basic.cpp.o -MF CMakeFiles/pinocchio-test-cpp-cppad-basic.dir/basic.cpp.o.d -o CMakeFiles/pinocchio-test-cpp-cppad-basic.dir/basic.cpp.o -c /build/source/unittest/cppad/basic.cpp In file included from /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/Core:164, from /build/source/include/pinocchio/autodiff/cppad.hpp:14, from /build/source/unittest/cppad/basic.cpp:5: /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h: In instantiation of 'struct Eigen::internal::traits': /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:77:7: required from 'class Eigen::CwiseBinaryOp, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double>' 77 | class CwiseBinaryOp : | ^~~~~~~~~~~~~ /build/source/unittest/cppad/basic.cpp:184:26: required from here 184 | ad_Y = ad_X.array().min(Scalar(0.)); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:23:29: error: invalid use of incomplete type 'struct Eigen::internal::traits' 23 | template struct traits : traits {}; | ^~~~~~~~~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:17:29: note: declaration of 'struct Eigen::internal::traits' 17 | template struct traits; | ^~~~~~ In file included from /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/Core:299: /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h: In instantiation of 'class Eigen::CwiseBinaryOp, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double>': /build/source/unittest/cppad/basic.cpp:184:26: required from here 184 | ad_Y = ad_X.array().min(Scalar(0.)); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:77:7: error: no type named 'StorageKind' in 'struct Eigen::internal::traits' 77 | class CwiseBinaryOp : | ^~~~~~~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:95:77: error: invalid use of incomplete type 'struct Eigen::internal::traits' 95 | BinaryOp>::ret>::Base Base; | ^~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:17:29: note: declaration of 'struct Eigen::internal::traits' 17 | template struct traits; | ^~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h: In instantiation of 'struct Eigen::internal::traits, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double> >': /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:96:5: required from 'class Eigen::CwiseBinaryOp, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double>' 96 | EIGEN_GENERIC_PUBLIC_INTERFACE(CwiseBinaryOp) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /build/source/unittest/cppad/basic.cpp:184:26: required from here 184 | ad_Y = ad_X.array().min(Scalar(0.)); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:38:28: error: 'const double' is not a class, struct, or union type 38 | >::type Scalar; | ^~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:41:62: error: no type named 'StorageKind' in 'struct Eigen::internal::traits' 41 | BinaryOp>::ret StorageKind; | ^~~~~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:43:81: error: no type named 'StorageIndex' in 'struct Eigen::internal::traits' 43 | typename traits::StorageIndex>::type StorageIndex; | ^~~~~~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:45:32: error: 'const double' is not a class, struct, or union type 45 | typedef typename Rhs::Nested RhsNested; | ^~~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:47:54: error: 'const double' is not a class, struct, or union type 47 | typedef typename remove_reference::type _RhsNested; | ^~~~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:49:175: error: no type named 'StorageKind' in 'struct Eigen::internal::traits' 49 | Flags = cwise_promote_storage_order::StorageKind,typename traits::StorageKind,_LhsNested::Flags & RowMajorBit,_RhsNested::Flags & RowMajorBit>::value | ^~~~~ In file included from /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/Core:166: /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/util/XprHelper.h: In instantiation of 'struct Eigen::internal::ref_selector': /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:99:60: required from 'class Eigen::CwiseBinaryOp, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double>' 99 | typedef typename internal::ref_selector::type RhsNested; | ^~~~~~~~~ /build/source/unittest/cppad/basic.cpp:184:26: required from here 184 | ad_Y = ad_X.array().min(Scalar(0.)); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/util/XprHelper.h:419:21: error: 'Flags' is not a member of 'Eigen::internal::traits' 419 | bool(traits::Flags & NestByRefBit), | ^~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/util/XprHelper.h:425:21: error: 'Flags' is not a member of 'Eigen::internal::traits' 425 | bool(traits::Flags & NestByRefBit), | ^~~~~ /build/source/unittest/cppad/basic.cpp: In member function 'void Test::test_eigen_min::test_method()': /build/source/unittest/cppad/basic.cpp:184:37: error: no match for 'operator=' (operand types are 'Eigen::Matrix, -1, 1>' and 'const Eigen::CwiseBinaryOp, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double>') 184 | ad_Y = ad_X.array().min(Scalar(0.)); | ^ /build/source/unittest/cppad/basic.cpp:184:37: note: there are 6 candidates In file included from /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/Core:296: /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:223:33: note: candidate 1: 'template Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with _Scalar = CppAD::AD; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]' 223 | EIGEN_STRONG_INLINE Matrix& operator=(const DenseBase& other) | ^~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:223:33: note: template argument deduction/substitution failed: /build/source/unittest/cppad/basic.cpp:184:37: note: 'const Eigen::CwiseBinaryOp, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double>' is not derived from 'const Eigen::DenseBase' 184 | ad_Y = ad_X.array().min(Scalar(0.)); | ^ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:234:33: note: candidate 2: 'template Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::EigenBase&) [with _Scalar = CppAD::AD; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]' 234 | EIGEN_STRONG_INLINE Matrix& operator=(const EigenBase &other) | ^~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:234:33: note: template argument deduction/substitution failed: /build/source/unittest/cppad/basic.cpp:184:37: note: 'const Eigen::CwiseBinaryOp, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double>' is not derived from 'const Eigen::EigenBase' 184 | ad_Y = ad_X.array().min(Scalar(0.)); | ^ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:241:33: note: candidate 3: 'template Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::ReturnByValue&) [with _Scalar = CppAD::AD; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]' 241 | EIGEN_STRONG_INLINE Matrix& operator=(const ReturnByValue& func) | ^~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:241:33: note: template argument deduction/substitution failed: /build/source/unittest/cppad/basic.cpp:184:37: note: 'const Eigen::CwiseBinaryOp, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double>' is not derived from 'const Eigen::ReturnByValue' 184 | ad_Y = ad_X.array().min(Scalar(0.)); | ^ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:446:13: note: candidate 4: 'template Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::RotationBase::ColsAtCompileTime>&) [with _Scalar = CppAD::AD; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]' 446 | Matrix& operator=(const RotationBase& r); | ^~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:446:13: note: template argument deduction/substitution failed: /build/source/unittest/cppad/basic.cpp:184:37: note: 'const Eigen::CwiseBinaryOp, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double>' is not derived from 'const Eigen::RotationBase' 184 | ad_Y = ad_X.array().min(Scalar(0.)); | ^ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:206:33: note: candidate 5: 'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>&) [with _Scalar = CppAD::AD; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]' 206 | EIGEN_STRONG_INLINE Matrix& operator=(const Matrix& other) | ^~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:206:57: note: no known conversion for argument 1 from 'const Eigen::CwiseBinaryOp, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double>' to 'const Eigen::Matrix, -1, 1>&' 206 | EIGEN_STRONG_INLINE Matrix& operator=(const Matrix& other) | ~~~~~~~~~~~~~~^~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:277:13: note: candidate 6: 'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>&&) [with _Scalar = CppAD::AD; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]' 277 | Matrix& operator=(Matrix&& other) EIGEN_NOEXCEPT_IF(std::is_nothrow_move_assignable::value) | ^~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:277:32: note: no known conversion for argument 1 from 'const Eigen::CwiseBinaryOp, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double>' to 'Eigen::Matrix, -1, 1>&&' 277 | Matrix& operator=(Matrix&& other) EIGEN_NOEXCEPT_IF(std::is_nothrow_move_assignable::value) | ~~~~~~~~~^~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h: In instantiation of 'class Eigen::CwiseBinaryOp, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double>': /build/source/unittest/cppad/basic.cpp:211:26: required from here 211 | ad_Y = ad_X.array().max(Scalar(0.)); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:77:7: error: no type named 'StorageKind' in 'struct Eigen::internal::traits' 77 | class CwiseBinaryOp : | ^~~~~~~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:95:77: error: invalid use of incomplete type 'struct Eigen::internal::traits' 95 | BinaryOp>::ret>::Base Base; | ^~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:17:29: note: declaration of 'struct Eigen::internal::traits' 17 | template struct traits; | ^~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h: In instantiation of 'struct Eigen::internal::traits, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double> >': /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:96:5: required from 'class Eigen::CwiseBinaryOp, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double>' 96 | EIGEN_GENERIC_PUBLIC_INTERFACE(CwiseBinaryOp) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /build/source/unittest/cppad/basic.cpp:211:26: required from here 211 | ad_Y = ad_X.array().max(Scalar(0.)); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:38:28: error: 'const double' is not a class, struct, or union type 38 | >::type Scalar; | ^~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:41:62: error: no type named 'StorageKind' in 'struct Eigen::internal::traits' 41 | BinaryOp>::ret StorageKind; | ^~~~~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:43:81: error: no type named 'StorageIndex' in 'struct Eigen::internal::traits' 43 | typename traits::StorageIndex>::type StorageIndex; | ^~~~~~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:45:32: error: 'const double' is not a class, struct, or union type 45 | typedef typename Rhs::Nested RhsNested; | ^~~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:47:54: error: 'const double' is not a class, struct, or union type 47 | typedef typename remove_reference::type _RhsNested; | ^~~~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:49:175: error: no type named 'StorageKind' in 'struct Eigen::internal::traits' 49 | Flags = cwise_promote_storage_order::StorageKind,typename traits::StorageKind,_LhsNested::Flags & RowMajorBit,_RhsNested::Flags & RowMajorBit>::value | ^~~~~ /build/source/unittest/cppad/basic.cpp: In member function 'void Test::test_eigen_max::test_method()': /build/source/unittest/cppad/basic.cpp:211:37: error: no match for 'operator=' (operand types are 'Eigen::Matrix, -1, 1>' and 'const Eigen::CwiseBinaryOp, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double>') 211 | ad_Y = ad_X.array().max(Scalar(0.)); | ^ /build/source/unittest/cppad/basic.cpp:211:37: note: there are 6 candidates /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:223:33: note: candidate 1: 'template Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with _Scalar = CppAD::AD; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]' 223 | EIGEN_STRONG_INLINE Matrix& operator=(const DenseBase& other) | ^~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:223:33: note: template argument deduction/substitution failed: /build/source/unittest/cppad/basic.cpp:211:37: note: 'const Eigen::CwiseBinaryOp, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double>' is not derived from 'const Eigen::DenseBase' 211 | ad_Y = ad_X.array().max(Scalar(0.)); | ^ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:234:33: note: candidate 2: 'template Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::EigenBase&) [with _Scalar = CppAD::AD; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]' 234 | EIGEN_STRONG_INLINE Matrix& operator=(const EigenBase &other) | ^~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:234:33: note: template argument deduction/substitution failed: /build/source/unittest/cppad/basic.cpp:211:37: note: 'const Eigen::CwiseBinaryOp, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double>' is not derived from 'const Eigen::EigenBase' 211 | ad_Y = ad_X.array().max(Scalar(0.)); | ^ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:241:33: note: candidate 3: 'template Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::ReturnByValue&) [with _Scalar = CppAD::AD; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]' 241 | EIGEN_STRONG_INLINE Matrix& operator=(const ReturnByValue& func) | ^~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:241:33: note: template argument deduction/substitution failed: /build/source/unittest/cppad/basic.cpp:211:37: note: 'const Eigen::CwiseBinaryOp, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double>' is not derived from 'const Eigen::ReturnByValue' 211 | ad_Y = ad_X.array().max(Scalar(0.)); | ^ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:446:13: note: candidate 4: 'template Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::RotationBase::ColsAtCompileTime>&) [with _Scalar = CppAD::AD; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]' 446 | Matrix& operator=(const RotationBase& r); | ^~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:446:13: note: template argument deduction/substitution failed: /build/source/unittest/cppad/basic.cpp:211:37: note: 'const Eigen::CwiseBinaryOp, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double>' is not derived from 'const Eigen::RotationBase' 211 | ad_Y = ad_X.array().max(Scalar(0.)); | ^ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:206:33: note: candidate 5: 'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>&) [with _Scalar = CppAD::AD; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]' 206 | EIGEN_STRONG_INLINE Matrix& operator=(const Matrix& other) | ^~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:206:57: note: no known conversion for argument 1 from 'const Eigen::CwiseBinaryOp, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double>' to 'const Eigen::Matrix, -1, 1>&' 206 | EIGEN_STRONG_INLINE Matrix& operator=(const Matrix& other) | ~~~~~~~~~~~~~~^~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:277:13: note: candidate 6: 'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>&&) [with _Scalar = CppAD::AD; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]' 277 | Matrix& operator=(Matrix&& other) EIGEN_NOEXCEPT_IF(std::is_nothrow_move_assignable::value) | ^~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/Matrix.h:277:32: note: no known conversion for argument 1 from 'const Eigen::CwiseBinaryOp, CppAD::AD, 0>, const Eigen::ArrayWrapper, -1, 1> >, const double>' to 'Eigen::Matrix, -1, 1>&&' 277 | Matrix& operator=(Matrix&& other) EIGEN_NOEXCEPT_IF(std::is_nothrow_move_assignable::value) | ~~~~~~~~~^~~~~ In file included from /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/Core/ArrayBase.h:96, from /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/Core:286: /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h: In instantiation of 'const Eigen::CwiseBinaryOp::Scalar, typename Eigen::internal::traits::Scalar, 0>, const Derived, const OtherDerived> Eigen::ArrayBase::min(const OtherDerived&) const [with OtherDerived = double; Derived = Eigen::ArrayWrapper, -1, 1> >; typename Eigen::internal::traits::Scalar = CppAD::AD]': /build/source/unittest/cppad/basic.cpp:184:26: required from here 184 | ad_Y = ad_X.array().min(Scalar(0.)); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h:56:30: error: could not convert '((const Eigen::ArrayBase, -1, 1> > >*)this)->Eigen::ArrayBase, -1, 1> > >::min<0>(CppAD::AD((* & other)))' from 'CwiseBinaryOp<[...],[...],const Eigen::CwiseNullaryOp >, Eigen::Array, -1, 1, 0, -1, 1> >>' to 'CwiseBinaryOp<[...],[...],const double>' 56 | return (min)(other); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~ | | | CwiseBinaryOp<[...],[...],const Eigen::CwiseNullaryOp >, Eigen::Array, -1, 1, 0, -1, 1> >> /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h: In instantiation of 'const Eigen::CwiseBinaryOp::Scalar, typename Eigen::internal::traits::Scalar, 0>, const Derived, const OtherDerived> Eigen::ArrayBase::max(const OtherDerived&) const [with OtherDerived = double; Derived = Eigen::ArrayWrapper, -1, 1> >; typename Eigen::internal::traits::Scalar = CppAD::AD]': /build/source/unittest/cppad/basic.cpp:211:26: required from here 211 | ad_Y = ad_X.array().max(Scalar(0.)); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~ /nix/store/kki9hn7p0dc4186z31z5qz0kvaxmjk0s-eigen-3.4.1/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h:120:30: error: could not convert '((const Eigen::ArrayBase, -1, 1> > >*)this)->Eigen::ArrayBase, -1, 1> > >::max<0>(CppAD::AD((* & other)))' from 'CwiseBinaryOp<[...],[...],const Eigen::CwiseNullaryOp >, Eigen::Array, -1, 1, 0, -1, 1> >>' to 'CwiseBinaryOp<[...],[...],const double>' 120 | return (max)(other); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~ | | | CwiseBinaryOp<[...],[...],const Eigen::CwiseNullaryOp >, Eigen::Array, -1, 1, 0, -1, 1> >> ``` --- unittest/cppad/basic.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/unittest/cppad/basic.cpp b/unittest/cppad/basic.cpp index 497d319ead..6564a851de 100644 --- a/unittest/cppad/basic.cpp +++ b/unittest/cppad/basic.cpp @@ -181,7 +181,7 @@ BOOST_AUTO_TEST_CASE(test_eigen_min) CppAD::Independent(ad_X); // Function - ad_Y = ad_X.array().min(Scalar(0.)); + ad_Y = ad_X.array().min(Scalar(CppAD::AD(0.))); CppAD::ADFun ad_fun(ad_X, ad_Y); CPPAD_TESTVECTOR(Scalar) x((size_t)2); @@ -208,7 +208,7 @@ BOOST_AUTO_TEST_CASE(test_eigen_max) CppAD::Independent(ad_X); // Function - ad_Y = ad_X.array().max(Scalar(0.)); + ad_Y = ad_X.array().max(Scalar(CppAD::AD(0.))); CppAD::ADFun ad_fun(ad_X, ad_Y); CPPAD_TESTVECTOR(Scalar) x((size_t)2);