mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-12 11:49:02 +08:00
bug #1264: fix compilation
This commit is contained in:
parent
188590db82
commit
cc2f6d68b1
@ -666,13 +666,14 @@ EIGEN_AUTODIFF_DECLARE_GLOBAL_UNARY(cosh,
|
|||||||
#undef EIGEN_AUTODIFF_DECLARE_GLOBAL_UNARY
|
#undef EIGEN_AUTODIFF_DECLARE_GLOBAL_UNARY
|
||||||
|
|
||||||
template<typename DerType> struct NumTraits<AutoDiffScalar<DerType> >
|
template<typename DerType> struct NumTraits<AutoDiffScalar<DerType> >
|
||||||
: NumTraits< typename NumTraits<typename DerType::Scalar>::Real >
|
: NumTraits< typename NumTraits<typename internal::remove_all<DerType>::type::Scalar>::Real >
|
||||||
{
|
{
|
||||||
typedef AutoDiffScalar<Matrix<typename NumTraits<typename DerType::Scalar>::Real,DerType::RowsAtCompileTime,DerType::ColsAtCompileTime,
|
typedef typename internal::remove_all<DerType>::type DerTypeCleaned;
|
||||||
0, DerType::MaxRowsAtCompileTime, DerType::MaxColsAtCompileTime> > Real;
|
typedef AutoDiffScalar<Matrix<typename NumTraits<typename DerTypeCleaned::Scalar>::Real,DerTypeCleaned::RowsAtCompileTime,DerTypeCleaned::ColsAtCompileTime,
|
||||||
|
0, DerTypeCleaned::MaxRowsAtCompileTime, DerTypeCleaned::MaxColsAtCompileTime> > Real;
|
||||||
typedef AutoDiffScalar<DerType> NonInteger;
|
typedef AutoDiffScalar<DerType> NonInteger;
|
||||||
typedef AutoDiffScalar<DerType> Nested;
|
typedef AutoDiffScalar<DerType> Nested;
|
||||||
typedef typename NumTraits<typename DerType::Scalar>::Literal Literal;
|
typedef typename NumTraits<typename DerTypeCleaned::Scalar>::Literal Literal;
|
||||||
enum{
|
enum{
|
||||||
RequireInitialization = 1
|
RequireInitialization = 1
|
||||||
};
|
};
|
||||||
|
@ -256,6 +256,14 @@ double bug_1261() {
|
|||||||
return maxVal.value() + minVal.value();
|
return maxVal.value() + minVal.value();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
double bug_1264() {
|
||||||
|
typedef AutoDiffScalar<Vector2d> AD;
|
||||||
|
const AD s;
|
||||||
|
const Matrix<AD, 3, 1> v1;
|
||||||
|
const Matrix<AD, 3, 1> v2 = (s + 3.0) * v1;
|
||||||
|
return v2(0).value();
|
||||||
|
}
|
||||||
|
|
||||||
void test_autodiff()
|
void test_autodiff()
|
||||||
{
|
{
|
||||||
for(int i = 0; i < g_repeat; i++) {
|
for(int i = 0; i < g_repeat; i++) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user