Add QR and Cholesky module instantiations in the lib.

To try it with the unit tests set the cmake variable TEST_LIB to ON.
This commit is contained in:
Gael Guennebaud
2008-06-14 13:02:41 +00:00
parent 53289a8b64
commit f07f907810
15 changed files with 205 additions and 71 deletions

View File

@@ -22,8 +22,8 @@
// License and a copy of the GNU General Public License along with
// Eigen. If not, see <http://www.gnu.org/licenses/>.
#ifdef EIGEN_EXTERN_INSTANCIATIONS
#undef EIGEN_EXTERN_INSTANCIATIONS
#ifdef EIGEN_EXTERN_INSTANTIATIONS
#undef EIGEN_EXTERN_INSTANTIATIONS
#endif
#include "../../Core"
@@ -31,17 +31,17 @@
namespace Eigen
{
#define EIGEN_INSTANCIATE_PRODUCT(TYPE) \
#define EIGEN_INSTANTIATE_PRODUCT(TYPE) \
template static void ei_cache_friendly_product<TYPE>( \
int _rows, int _cols, int depth, \
bool _lhsRowMajor, const TYPE* _lhs, int _lhsStride, \
bool _rhsRowMajor, const TYPE* _rhs, int _rhsStride, \
bool resRowMajor, TYPE* res, int resStride)
EIGEN_INSTANCIATE_PRODUCT(float);
EIGEN_INSTANCIATE_PRODUCT(double);
EIGEN_INSTANCIATE_PRODUCT(int);
EIGEN_INSTANCIATE_PRODUCT(std::complex<float>);
EIGEN_INSTANCIATE_PRODUCT(std::complex<double>);
EIGEN_INSTANTIATE_PRODUCT(float);
EIGEN_INSTANTIATE_PRODUCT(double);
EIGEN_INSTANTIATE_PRODUCT(int);
EIGEN_INSTANTIATE_PRODUCT(std::complex<float>);
EIGEN_INSTANTIATE_PRODUCT(std::complex<double>);
}

View File

@@ -87,7 +87,7 @@ template<typename Scalar> struct ei_scalar_max_op;
template<typename Scalar> struct ei_scalar_random_op;
template<typename Scalar>
static void ei_cache_friendly_product(
void ei_cache_friendly_product(
int _rows, int _cols, int depth,
bool _lhsRowMajor, const Scalar* _lhs, int _lhsStride,
bool _rhsRowMajor, const Scalar* _rhs, int _rhsStride,