diff options
author | Gael Guennebaud <g.gael@free.fr> | 2009-07-04 11:16:27 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2009-07-04 11:16:27 +0200 |
commit | 08e419dcb151da41f169304f751e5467cf0c7b4a (patch) | |
tree | a034ebfc0ee08790f5c7b52919733ba7b2ea9840 /Eigen/src/Core/util/Meta.h | |
parent | 2de9b7f537057101f9684370004156425a24032e (diff) |
* update sparse module wrt new diagonal matrix impl
* fix a bug is SparseMatrix
Diffstat (limited to 'Eigen/src/Core/util/Meta.h')
-rw-r--r-- | Eigen/src/Core/util/Meta.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/Eigen/src/Core/util/Meta.h b/Eigen/src/Core/util/Meta.h index 7552dd70c..2f5363275 100644 --- a/Eigen/src/Core/util/Meta.h +++ b/Eigen/src/Core/util/Meta.h @@ -1,7 +1,7 @@ // This file is part of Eigen, a lightweight C++ template library // for linear algebra. // -// Copyright (C) 2008 Gael Guennebaud <g.gael@free.fr> +// Copyright (C) 2008-2009 Gael Guennebaud <g.gael@free.fr> // Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com> // // Eigen is free software; you can redistribute it and/or @@ -186,6 +186,16 @@ struct ei_result_of<ei_scalar_product_op<Scalar>(ArgType0,ArgType1)> { typedef typename ei_scalar_product_traits<typename ei_cleantype<ArgType0>::type, typename ei_cleantype<ArgType1>::type>::ReturnType type; }; +template<typename T> struct ei_is_diagonal +{ enum { ret = false }; }; +template<typename T> struct ei_is_diagonal<DiagonalBase<T> > +{ enum { ret = true }; }; + +template<typename T> struct ei_is_diagonal<DiagonalWrapper<T> > +{ enum { ret = true }; }; + +template<typename T, int S> struct ei_is_diagonal<DiagonalMatrix<T,S> > +{ enum { ret = true }; }; #endif // EIGEN_META_H |