mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-08 09:49:03 +08:00
* added a lazyAssign overload skipping .lazy() such that c = (<xpr>).lazy() such that
lazyAssign overloads of <xpr> are automatically called (this also reduces assign instansiations)
This commit is contained in:
parent
783eb6da9b
commit
5f55ab524c
@ -1,6 +1,6 @@
|
||||
SET(Eigen_HEADERS Core CoreDeclarations LU Cholesky QR Geometry Sparse Array)
|
||||
|
||||
IF(TEST_LIB)
|
||||
IF(BUILD_LIB)
|
||||
SET(Eigen_SRCS
|
||||
src/Core/CoreInstantiations.cpp
|
||||
src/Cholesky/CholeskyInstantiations.cpp
|
||||
@ -8,7 +8,12 @@ IF(TEST_LIB)
|
||||
)
|
||||
|
||||
ADD_LIBRARY(Eigen2 SHARED ${Eigen_SRCS})
|
||||
ENDIF(TEST_LIB)
|
||||
|
||||
INSTALL(TARGETS Eigen2
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION lib
|
||||
ARCHIVE DESTINATION lib)
|
||||
ENDIF(BUILD_LIB)
|
||||
|
||||
IF(CMAKE_COMPILER_IS_GNUCXX)
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g1 -O2")
|
||||
@ -26,11 +31,4 @@ INSTALL(FILES
|
||||
DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen
|
||||
)
|
||||
|
||||
IF(TEST_LIB)
|
||||
INSTALL(TARGETS Eigen2
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION lib
|
||||
ARCHIVE DESTINATION lib)
|
||||
ENDIF(TEST_LIB)
|
||||
|
||||
ADD_SUBDIRECTORY(src)
|
@ -212,9 +212,14 @@ template<typename Derived> class MatrixBase
|
||||
return this->operator=<Derived>(other);
|
||||
}
|
||||
|
||||
/** Overloaded for optimal product evaluation */
|
||||
template<typename Derived1, typename Derived2>
|
||||
Derived& lazyAssign(const Product<Derived1,Derived2,CacheFriendlyProduct>& product);
|
||||
/** Overloaded for cache friendly product evaluation */
|
||||
template<typename Lhs, typename Rhs>
|
||||
Derived& lazyAssign(const Product<Lhs,Rhs,CacheFriendlyProduct>& product);
|
||||
|
||||
/** Overloaded for cache friendly product evaluation */
|
||||
template<typename OtherDerived>
|
||||
Derived& lazyAssign(const Flagged<OtherDerived, 0, EvalBeforeNestingBit | EvalBeforeAssigningBit>& other)
|
||||
{ lazyAssign(other._expression()); }
|
||||
|
||||
/** Overloaded for sparse product evaluation */
|
||||
template<typename Derived1, typename Derived2>
|
||||
|
Loading…
x
Reference in New Issue
Block a user