mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-09-17 20:03:17 +08:00
Fix NumTraits<AutoDiff>
This commit is contained in:
parent
fa39f81b48
commit
ce90647fa5
@ -525,6 +525,23 @@ struct ScalarBinaryOpTraits<typename DerType::Scalar,AutoDiffScalar<DerType>, Bi
|
|||||||
typedef AutoDiffScalar<DerType> ReturnType;
|
typedef AutoDiffScalar<DerType> ReturnType;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// The following is an attempt to let Eigen's known about expression template, but that's more tricky!
|
||||||
|
|
||||||
|
// template<typename DerType, typename BinOp>
|
||||||
|
// struct ScalarBinaryOpTraits<AutoDiffScalar<DerType>,AutoDiffScalar<DerType>, BinOp>
|
||||||
|
// {
|
||||||
|
// enum { Defined = 1 };
|
||||||
|
// typedef AutoDiffScalar<typename DerType::PlainObject> ReturnType;
|
||||||
|
// };
|
||||||
|
//
|
||||||
|
// template<typename DerType1,typename DerType2, typename BinOp>
|
||||||
|
// struct ScalarBinaryOpTraits<AutoDiffScalar<DerType1>,AutoDiffScalar<DerType2>, BinOp>
|
||||||
|
// {
|
||||||
|
// enum { Defined = 1 };//internal::is_same<typename DerType1::Scalar,typename DerType2::Scalar>::value };
|
||||||
|
// typedef AutoDiffScalar<typename DerType1::PlainObject> ReturnType;
|
||||||
|
// };
|
||||||
|
|
||||||
#define EIGEN_AUTODIFF_DECLARE_GLOBAL_UNARY(FUNC,CODE) \
|
#define EIGEN_AUTODIFF_DECLARE_GLOBAL_UNARY(FUNC,CODE) \
|
||||||
template<typename DerType> \
|
template<typename DerType> \
|
||||||
inline const Eigen::AutoDiffScalar< \
|
inline const Eigen::AutoDiffScalar< \
|
||||||
@ -645,9 +662,10 @@ template<typename DerType> struct NumTraits<AutoDiffScalar<DerType> >
|
|||||||
: NumTraits< typename NumTraits<typename DerType::Scalar>::Real >
|
: NumTraits< typename NumTraits<typename DerType::Scalar>::Real >
|
||||||
{
|
{
|
||||||
typedef AutoDiffScalar<Matrix<typename NumTraits<typename DerType::Scalar>::Real,DerType::RowsAtCompileTime,DerType::ColsAtCompileTime,
|
typedef AutoDiffScalar<Matrix<typename NumTraits<typename DerType::Scalar>::Real,DerType::RowsAtCompileTime,DerType::ColsAtCompileTime,
|
||||||
DerType::Options, DerType::MaxRowsAtCompileTime, DerType::MaxColsAtCompileTime> > Real;
|
0, DerType::MaxRowsAtCompileTime, DerType::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;
|
||||||
enum{
|
enum{
|
||||||
RequireInitialization = 1
|
RequireInitialization = 1
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user