Commit Graph
138 Commits
Author SHA1 Message Date
Rasmus Munk Larsen e93a071774 Fix a bug introduced in !751. 2021-12-15 22:00:40 +00:00
Erik Schultheis c20e908ebc turn some macros intro constexpr functions 2021-12-10 19:27:01 +00:00
Fabian Keßler 19cacd3ecb optimize cmake scripts for subproject use 2021-10-28 16:08:02 +02:00
Daniel N. Miller (APD) 09d7122468 Do not build shared libs if not supported 2021-08-06 20:48:32 +00:00
Samir Benmendil 288d456c29 Replace language_support module with builtin CheckLanguage
The workaround_9220 function was introduced a long time ago to
workaround a CMake issue with enable_language(OPTIONAL). Since then
CMake has clarified that the OPTIONAL keywords has not been
implemented[0].

A CheckLanguage module is now provided with CMake to check if a language
can be enabled. Use that instead.

[0] https://cmake.org/cmake/help/v3.18/command/enable_language.html
2021-01-27 13:26:40 +00:00
Hans Johnson 6fb3e5f176 STYLE: Remove CMake-language block-end command arguments
Ancient versions of CMake required else(), endif(), and similar block
termination commands to have arguments matching the command starting the block.
This is no longer the preferred style.
2019-10-31 11:36:27 -05:00
Gael Guennebaud 031f17117d bug #1741: fix self-adjoint*matrix, triangular*matrix, and triangular^1*matrix with a destination having a non-trivial inner-stride 2019-09-11 15:04:25 +02:00
Gael Guennebaud 459b2bcc08 Fix compilation of BLAS backend and frontend 2019-09-11 10:02:37 +02:00
Gael Guennebaud ea0d5dc956 bug #1741: fix C.noalias() = A*C; with C.innerStride()!=1 2019-09-10 16:25:24 +02:00
Christoph Hertzberg 4270c62812 Split the implementation of i?amax/min into two. Based on PR-627 by Sameer Agarwal.
Like the Netlib reference implementation, I*AMAX now uses the L1-norm instead of the L2-norm for each element. Changed I*MIN accordingly.
2019-04-15 17:18:03 +02:00
Sameer Agarwal c181dfb8ab Consistently use EIGEN_BLAS_FUNC in BLAS.
Previously, for a few functions, eithe BLASFUNC or, EIGEN_CAT
was being used. This change uses EIGEN_BLAS_FUNC consistently
everywhere.

Also introduce EIGEN_BLAS_FUNC_SUFFIX, which by default is
equal to "_", this allows the user to inject a new suffix as
needed.
2019-02-27 11:30:58 -08:00
Christoph Hertzberg 73ca600bca Fix numerous shadow-warnings for GCC<=4.8 2018-08-28 18:32:39 +02:00
luz.paz e3912f5e63 MIsc. source and comment typos
Found using `codespell` and `grep` from downstream FreeCAD
2018-03-11 10:01:44 -04:00
NeroBurner c4fc2611ba add cmake-option to enable/disable creation of tests
* * *
disable unsupportet/test when test are disabled
* * *
rename EIGEN_ENABLE_TESTS to BUILD_TESTING
* * *
consider BUILD_TESTING in blas
2017-01-02 09:09:21 +01:00
Benoit Steiner fbe672d599 Reenable the generation of dynamic blas libraries. 2016-11-03 04:08:43 -07:00
Benoit Steiner 78b569f685 Merged latest updates from trunk 2016-10-05 18:48:55 -07:00
Benoit Steiner 6f3cd529af Pulled latest updates from trunk 2016-10-05 18:31:43 -07:00
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
Benoit Steiner f899e08946 Enabled a number of tests previously disabled by mistake 2016-05-03 14:07:47 -07:00
Benoit Steiner 07a247dcf4 Pulled latest updates from upstream 2016-04-29 13:41:26 -07: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
Benoit Steiner d6e596174d Pull latest updates from upstream 2016-04-11 17:20:17 -07: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 Steiner 6c9cf117c1 Fixed indentation 2016-02-04 10:34:10 -08: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