Gael Guennebaud
66e99ab6a1
Relax mixing-type constraints for binary coefficient-wise operators:
...
- Replace internal::scalar_product_traits<A,B> by Eigen::ScalarBinaryOpTraits<A,B,OP>
- Remove the "functor_is_product_like" helper (was pretty ugly)
- Currently, OP is not used, but it is available to the user for fine grained tuning
- Currently, only the following operators have been generalized: *,/,+,-,=,*=,/=,+=,-=
- TODO: generalize all other binray operators (comparisons,pow,etc.)
- TODO: handle "scalar op array" operators (currently only * is handled)
- TODO: move the handling of the "void" scalar type to ScalarBinaryOpTraits
2016-06-06 15:11:41 +02:00
Christoph Hertzberg
dacb469bc9
Enable and fix -Wdouble-conversion warnings
2016-05-05 13:35:45 +02:00
Rasmus Munk Larsen
1f48f47ab7
Implement stricter argument checking for SYRK and SY2K and real matrices. To implement the BLAS API they should return info=2 if op='C' is passed for a complex matrix. Without this change, the Eigen BLAS fails the strict zblat3 and cblat3 tests in LAPACK 3.5.
2016-04-27 19:59:44 +02:00
Gael Guennebaud
91bf925fc1
Improve constness of level2 blas API.
2016-04-11 17:13:01 +02:00
Gael Guennebaud
4e8e5888d7
Improve constness of blas level-3 interface.
2016-04-11 15:12:44 +02:00
Benoit Jacob
639b1d864a
bug #1152 : Fix data race in static initialization of blas
2016-01-26 11:44:16 -05:00
Gael Guennebaud
8328caa618
bug #51 : add block preallocation mechanism to selfadjoit*matrix product.
2016-01-25 22:06:42 +01:00
Gael Guennebaud
2f9e6314b1
update BLAS interface to general_matrix_matrix_triangular_product
2016-01-25 21:56:05 +01:00
Gael Guennebaud
1d906d883d
Fix degenerate cases in syrk and trsm
2015-11-30 22:20:31 +01:00
Gael Guennebaud
e7a1c48185
Update BLAS API unit tests
2015-11-30 22:19:20 +01:00
Gael Guennebaud
041e038fef
Remove dead code in selfadjoint_matrix_vector_product
2015-10-09 10:42:14 +02:00
Eric Martin
002c2923c2
Modify GEMM to handle m=0, n=0, and k=0 cases.
2015-07-11 21:46:13 -05:00
Gael Guennebaud
d4c574707e
fix some legitimate shadow warnings
2015-06-09 15:17:58 +02:00
Christoph Hertzberg
33f40b2883
Cygwin does not like weak linking either.
2015-02-28 14:53:11 +01:00
Gael Guennebaud
0918c51e60
merge Tensor module within Eigen/unsupported and update gemv BLAS wrapper
2015-02-12 21:48:41 +01:00
Gael Guennebaud
d771295554
remove useless include
2015-02-10 22:59:27 +01:00
Gael Guennebaud
deecff97ed
typo
2015-02-10 19:22:05 +01:00
Benoit Steiner
c739102ef9
Pulled the latest changes from the trunk
2015-02-06 05:25:03 -08:00
Gael Guennebaud
57ec399ec9
Remove unused fortran files
2014-12-13 21:41:25 +01:00
Gael Guennebaud
56ca44ad1a
Use f2c generated code instead of the original fortran code, except for dotc/dotu.
2014-12-11 17:03:41 +01:00
Tim Murray
80cae358b0
Adds a modified f2c-generated C implmentation for BLAS.
...
This adds an optional implementation for the BLAS library that does
not require the use of a FORTRAN compiler. It can be enabled with
EIGEN_USE_F2C_BLAS.
The C implementation uses the standard gfortran calling convention
and does not require the use of -ff2c when compiled with gfortran.
2014-11-24 10:56:30 -08:00
Benoit Steiner
bfdd9f3ac9
Made the blocking computation aware of the l3 cache
...
Also optimized the blocking parameters to take into account the number of threads used for a computation
2014-10-15 15:32:59 -07:00
Gael Guennebaud
a0a87410d0
Fix bug #61 : gemm was broken since we changed the blocking order
2014-07-24 22:08:10 +02:00
Gael Guennebaud
5214466b7a
Fix implicit long to int conversions in blas interface
2014-07-08 19:01:49 +02:00
Gael Guennebaud
abc1ca0af1
The BLAS interface is complete.
2014-06-06 11:21:19 +02:00
Gael Guennebaud
d992634fbc
Fix bug #776 : it seems that mingw does not support weak linking
2014-04-01 11:31:21 +02:00
Benoit Steiner
5e8622477b
Rename the vector() factories defined in blas/common.h into make_vector() to prevent a possible name conflict with std::vector.
2014-04-01 11:23:28 +02:00
Gael Guennebaud
14422decc2
Fix Fortran compiler detection
2014-02-13 09:21:13 +01:00
Gael Guennebaud
446320b226
Fix dot*w to return 0 for empty vectors (BLAS interface)
2013-10-01 22:37:10 +02:00
Gael Guennebaud
f75419c711
Add missing changes.
2013-06-12 17:56:15 +02:00
Gael Guennebaud
12a1313b09
bug #482 : pass scalar arguments by const references. Still remains a few cases that might affect the ABI (see the bug entry)
2013-02-25 18:05:57 +01:00
Gael Guennebaud
04367447ac
Fix bug #496 : generalize internal rank1_update implementation to accept uplo(A) += v * w and make A.triangularView() += v * w uses it.
...
Update unit tests and blas interface respectively.
2013-02-24 23:05:42 +01:00
Gael Guennebaud
a76fbbf397
Fix bug #314 :
...
- remove most of the metaprogramming kung fu in MathFunctions.h (only keep functions that differs from the std)
- remove the overloads for array expression that were in the std namespace
2012-11-06 15:25:50 +01:00
Gael Guennebaud
28528519e9
Merged in jdh8/eigen (pull request PR-17)
2012-09-11 21:36:05 +02:00
Gael Guennebaud
9e80822fc9
fix compilation on freebsd
2012-09-11 13:32:56 +02:00
Chen-Pang He
04f315d692
Fix rank-1 update for self-adjoint packed matrices.
2012-09-10 18:25:30 +08:00
Chen-Pang He
65caa40a3d
Implement packed triangular solver.
2012-09-10 06:29:02 +08:00
Chen-Pang He
3642ca4d46
Implement packed triangular matrix-vector product.
2012-09-09 23:34:45 +08:00
Chen-Pang He
2828c995c5
Use conj_expr_if to clarify what it's doing.
2012-09-09 21:35:28 +08:00
Chen-Pang He
669db3d776
Extend rank-1 updates for different storage orders.
2012-09-09 02:55:10 +08:00
Chen-Pang He
1b8f416408
Implement rank-1 update for self-adjoint packed matrices.
2012-09-08 22:51:40 +08:00
Chen-Pang He
dac5a8a37d
Simplify Rank2Update.h
2012-09-08 22:20:05 +08:00
Chen-Pang He
17c746523e
Comment FIXMEs on Rank2Update.h and remove unused files.
2012-09-08 21:25:09 +08:00
Chen-Pang He
e4e7585a24
Implement rank-2 update for packed matrices.
2012-09-08 17:29:44 +08:00
Chen-Pang He
b5f9bec8ac
Perform direct calls in xHEMV and xSYMV.
2012-09-08 15:47:33 +08:00
Chen-Pang He
1b61aadcbe
Implement SDSDOT with DSDOT and avoid allocating buffers in DSDOT.
2012-09-08 02:06:45 +08:00
Chen-Pang He
b0b9b4d6b2
Implement functors for rank-1 and rank-2 update.
2012-09-08 01:39:16 +08:00
Chen-Pang He
145f89cd5f
Fix memory leak in DSDOT.
2012-09-07 15:21:57 +08:00
Chen-Pang He
c86d047c2f
BLAS: implement DSDOT and SDSDOT; update test for them.
2012-09-05 18:59:32 +08:00
Chen-Pang He
c4051d3d02
Fix a typo in blas/common.h
2012-09-03 15:31:19 +08:00