This bugzilla service is closed. All entries have been migrated to https://gitlab.com/libeigen/eigen
View | Details | Raw Unified | Return to bug 857
Collapse All | Expand All

(-)a/Eigen/src/SparseCore/SparseDenseProduct.h (-9 lines)
Lines 301-320 class DenseTimeSparseProduct Link Here
301
      Transpose<Dest> dest_t(dest);
301
      Transpose<Dest> dest_t(dest);
302
      internal::sparse_time_dense_product(rhs_t, lhs_t, dest_t, alpha);
302
      internal::sparse_time_dense_product(rhs_t, lhs_t, dest_t, alpha);
303
    }
303
    }
304
304
305
  private:
305
  private:
306
    DenseTimeSparseProduct& operator=(const DenseTimeSparseProduct&);
306
    DenseTimeSparseProduct& operator=(const DenseTimeSparseProduct&);
307
};
307
};
308
308
309
// sparse * dense
310
template<typename Derived>
311
template<typename OtherDerived>
312
inline const typename SparseDenseProductReturnType<Derived,OtherDerived>::Type
313
SparseMatrixBase<Derived>::operator*(const MatrixBase<OtherDerived> &other) const
314
{
315
  return typename SparseDenseProductReturnType<Derived,OtherDerived>::Type(derived(), other.derived());
316
}
317
318
} // end namespace Eigen
309
} // end namespace Eigen
319
310
320
#endif // EIGEN_SPARSEDENSEPRODUCT_H
311
#endif // EIGEN_SPARSEDENSEPRODUCT_H
(-)a/Eigen/src/SparseCore/SparseMatrixBase.h (-1 / +2 lines)
Lines 353-369 template<typename Derived> class SparseM Link Here
353
    template<typename OtherDerived> friend
353
    template<typename OtherDerived> friend
354
    const typename DenseSparseProductReturnType<OtherDerived,Derived>::Type
354
    const typename DenseSparseProductReturnType<OtherDerived,Derived>::Type
355
    operator*(const MatrixBase<OtherDerived>& lhs, const Derived& rhs)
355
    operator*(const MatrixBase<OtherDerived>& lhs, const Derived& rhs)
356
    { return typename DenseSparseProductReturnType<OtherDerived,Derived>::Type(lhs.derived(),rhs); }
356
    { return typename DenseSparseProductReturnType<OtherDerived,Derived>::Type(lhs.derived(),rhs); }
357
357
358
    /** sparse * dense (returns a dense object unless it is an outer product) */
358
    /** sparse * dense (returns a dense object unless it is an outer product) */
359
    template<typename OtherDerived>
359
    template<typename OtherDerived>
360
    const typename SparseDenseProductReturnType<Derived,OtherDerived>::Type
360
    const typename SparseDenseProductReturnType<Derived,OtherDerived>::Type
361
    operator*(const MatrixBase<OtherDerived> &other) const;
361
    operator*(const MatrixBase<OtherDerived> &other) const
362
    { return typename SparseDenseProductReturnType<Derived,OtherDerived>::Type(derived(), other.derived()); }
362
    
363
    
363
     /** \returns an expression of P H P^-1 where H is the matrix represented by \c *this */
364
     /** \returns an expression of P H P^-1 where H is the matrix represented by \c *this */
364
    SparseSymmetricPermutationProduct<Derived,Upper|Lower> twistedBy(const PermutationMatrix<Dynamic,Dynamic,Index>& perm) const
365
    SparseSymmetricPermutationProduct<Derived,Upper|Lower> twistedBy(const PermutationMatrix<Dynamic,Dynamic,Index>& perm) const
365
    {
366
    {
366
      return SparseSymmetricPermutationProduct<Derived,Upper|Lower>(derived(), perm);
367
      return SparseSymmetricPermutationProduct<Derived,Upper|Lower>(derived(), perm);
367
    }
368
    }
368
369
369
    template<typename OtherDerived>
370
    template<typename OtherDerived>

Return to bug 857