merge with main repository

This commit is contained in:
Thomas Capricelli 2009-11-10 21:34:43 +01:00
commit df117a64c7
2 changed files with 10 additions and 26 deletions

View File

@ -781,11 +781,6 @@ template<typename Derived> class MatrixBase
template<typename Derived1, typename Derived2>
Derived& lazyAssign(const SparseProduct<Derived1,Derived2,DenseTimeSparseProduct>& product);
// dense = skyline * dense
template<typename Derived1, typename Derived2>
Derived& lazyAssign(const SkylineProduct<Derived1,Derived2,SkylineTimeDenseProduct>& product);
////////// Householder module ///////////
void makeHouseholderInPlace(Scalar *tau, RealScalar *beta);

View File

@ -25,17 +25,6 @@
#ifndef EIGEN_SKYLINEPRODUCT_H
#define EIGEN_SKYLINEPRODUCT_H
template<typename Lhs, typename Rhs> struct ei_skyline_product_mode {
enum {
value = (Rhs::Flags & Lhs::Flags & SkylineBit) == SkylineBit
? SkylineTimeSkylineProduct
: (Lhs::Flags & SkylineBit) == SkylineBit
? SkylineTimeDenseProduct
: DenseTimeSkylineProduct
};
};
template<typename Lhs, typename Rhs, int ProductMode>
struct SkylineProductReturnType {
typedef const typename ei_nested<Lhs, Rhs::RowsAtCompileTime>::type LhsNested;
@ -290,16 +279,16 @@ struct ei_skyline_product_selector<Lhs, Rhs, ResultType, ColMajor> {
}
};
template<typename Derived>
template<typename Lhs, typename Rhs >
Derived & MatrixBase<Derived>::lazyAssign(const SkylineProduct<Lhs, Rhs, SkylineTimeDenseProduct>& product) {
typedef typename ei_cleantype<Lhs>::type _Lhs;
ei_skyline_product_selector<typename ei_cleantype<Lhs>::type,
typename ei_cleantype<Rhs>::type,
Derived>::run(product.lhs(), product.rhs(), derived());
return derived();
}
// template<typename Derived>
// template<typename Lhs, typename Rhs >
// Derived & MatrixBase<Derived>::lazyAssign(const SkylineProduct<Lhs, Rhs, SkylineTimeDenseProduct>& product) {
// typedef typename ei_cleantype<Lhs>::type _Lhs;
// ei_skyline_product_selector<typename ei_cleantype<Lhs>::type,
// typename ei_cleantype<Rhs>::type,
// Derived>::run(product.lhs(), product.rhs(), derived());
//
// return derived();
// }
// skyline * dense