aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Support manually disabling exceptionsHEADmasterGravatar Benjamin Barenblat2021-07-07
| | | | | Rename EIGEN_EXCEPTIONS to EIGEN_USE_EXCEPTIONS, and allow disabling exceptions with -DEIGEN_USE_EXCEPTIONS=0.
* Add Doxygen-style documentation to main.h.Gravatar Kolja Brix2021-07-07
|
* Fix CMake directory issues.Gravatar Antonio Sanchez2021-07-07
| | | | | | | | | | | | | | | | | | Allows absolute and relative paths for - `INCLUDE_INSTALL_DIR` - `CMAKEPACKAGE_INSTALL_DIR` - `PKGCONFIG_INSTALL_DIR` Type should be `PATH` not `STRING`. Contrary to !211, these don't seem to be made absolute if user-defined - according to the doc any directories should use `PATH` type, which allows a file dialog to be used via the GUI. It also better handles file separators. If user provides an absolute path, it will be made relative to `CMAKE_INSTALL_PREFIX` so that the `configure_packet_config_file` will work. Fixes #2155 and #2269.
* Fix Tensor documentation page.Gravatar Antonio Sanchez2021-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | The extra [TOC] tag is generating a huge floating duplicated table-of-contents, which obscures the majority of the page (see bottom of https://eigen.tuxfamily.org/dox/unsupported/eigen_tensors.html). Remove it. Also, headers do not support markup (see [doxygen bug](https://github.com/doxygen/doxygen/issues/7467)), so backticks like ``` ``` end up generating titles that looks like ``` Constructor <tt>Tensor<double,2></tt> ``` Removing backticks for now. To generate proper formatted headers, we must directly use html instead of markdown, i.e. ``` <h2>Constructor <code>Tensor&lt;double,2&gt;</code></h2> ``` which is ugly. Fixes #2254.
* Fix breakage of conj_helper in conjunction with custom types introduced in !537.Gravatar Rasmus Munk Larsen2021-07-02
|
* Don't crash when attempting to shuffle an empty tensor.Gravatar Jonas Harsch2021-07-02
|
* Use `padd` instead of `+`.Gravatar Rasmus Munk Larsen2021-07-02
|
* Implement a generic vectorized version of Smith's algorithms for complex ↵Gravatar Rasmus Munk Larsen2021-07-01
| | | | division.
* Fix compile issues for gcc 4.8.Gravatar Antonio Sanchez2021-07-01
| | | | | | - Move constructors can only be defaulted as NOEXCEPT if all members have NOEXCEPT move constructors. - gcc 4.8 has some funny parsing bug in `a < b->c`, thinking `b-` is a template parameter.
* Fix inverse nullptr/asan errors for LU.Gravatar Antonio Sanchez2021-07-01
| | | | | | For empty or single-column matrices, the current `PartialPivLU` currently dereferences a `nullptr` or accesses memory out-of-bounds. Here we adjust the checks to avoid this.
* Fix duplicate definitions on MacGravatar Dan Miller2021-07-01
|
* Create the ability to disable the specialized gemm_pack_rhs in Eigen (only ↵Gravatar Chip Kerchner2021-06-30
| | | | PPC) for TensorFlow
* Make DenseStorage<> trivially_copyableGravatar Alexander Karatarakis2021-06-30
|
* Correct declarations for aarch64-pc-windows-msvcGravatar 大河メタル2021-06-30
|
* Get rid of redundant `pabs` instruction in complex square root.Gravatar Rasmus Munk Larsen2021-06-29
|
* Modify tensor argmin/argmax to always return first occurence.Gravatar Antonio Sanchez2021-06-29
| | | | | | | | | As written, depending on multithreading/gpu, the returned index from `argmin`/`argmax` is not currently stable. Here we modify the functors to always keep the first occurence (i.e. if the value is equal to the current min/max, then keep the one with the smallest index). This is otherwise causing unpredictable results in some TF tests.
* Commit 52a5f982 broke conjhelper functionality for HIP GPUs.Gravatar Rohit Santhanam2021-06-25
| | | | This commit addresses this.
* Small cleanup: Get rid of the macros EIGEN_HAS_SINGLE_INSTRUCTION_CJMADD and ↵Gravatar Rasmus Munk Larsen2021-06-24
| | | | CJMADD, which were effectively unused, apart from on x86, where the change results in identically performing code.
* Get rid of code duplication for conj_helper. For packets where ↵Gravatar Rasmus Munk Larsen2021-06-24
| | | | LhsType=RhsType a single generic implementation suffices. For scalars, the generic implementation of pconj automatically forwards to numext::conj, so much of the existing specialization can be avoided. For mixed types we still need specializations.
* Use internal::ref_selector to avoid holding a reference to a RHS expression.Gravatar Rasmus Munk Larsen2021-06-22
|
* Update ComplexEigenSolver_eigenvectors.cppGravatar Rasmus Munk Larsen2021-06-21
|
* Fix typo in SelfAdjointEigenSolver_eigenvectors.cppGravatar Rasmus Munk Larsen2021-06-21
|
* Rewrite balancer to avoid overflows.Gravatar Antonio Sanchez2021-06-21
| | | | | | | The previous balancer overflowed for large row/column norms. Modified to prevent that. Fixes #2273.
* Fix fix<> for gcc-4.9.3.Gravatar Antonio Sanchez2021-06-18
| | | | | | | There's a missing `EIGEN_HAS_CXX14` -> `EIGEN_HAS_CXX14_VARIABLE_TEMPLATES` replacement. Fixes ##2267
* Remove pset, replace with ploadu.Gravatar Antonio Sanchez2021-06-16
| | | | | | | | | We can't make guarantees on alignment for existing calls to `pset`, so we should default to loading unaligned. But in that case, we should just use `ploadu` directly. For loading constants, this load should hopefully get optimized away. This is causing segfaults in Google Maps.
* EIGEN_STRONG_INLINE was NOT inlining in some critical needed areas (6.6X ↵Gravatar Chip-Kerchner2021-06-16
| | | | slowdown) when used with Tensorflow. Changing to EIGEN_ALWAYS_INLINE where appropiate.
* changed documentation to make example compileGravatar jenswehner2021-06-16
|
* Add missing ppc pcmp_lt_or_nan<Packet8bf>Gravatar Antonio Sanchez2021-06-15
|
* Fix placement of permanent GPU defines.Gravatar Antonio Sanchez2021-06-15
|
* Fix more enum arithmetic.Gravatar Rasmus Munk Larsen2021-06-15
|
* Fix checking of version number for mingw.Gravatar Antonio Sanchez2021-06-11
| | | | | | | | | | | MinGW spits out version strings like: `x86_64-w64-mingw32-g++ (GCC) 10-win32 20210110`, which causes the version extraction to fail. Added support for this with tests. Also added `make_unsigned` for `long long`, since mingw seems to use that for `uint64_t`. Related to #2268. CMake and build passes for me after this.
* Add ability to permanently enable HIP/CUDA gpu* defines.Gravatar Antonio Sanchez2021-06-11
| | | | | | When using Eigen for gpu, these simplify portability. If `EIGEN_PERMANENTLY_ENABLE_GPU_HIP_CUDA_DEFINES` is set, then we do not undefine them.
* Allow custom TENSOR_CONTRACTION_DISPATCH macro.Gravatar Antonio Sanchez2021-06-11
| | | | | | Currently TF lite needs to hack around with the Tensor headers in order to customize the contraction dispatch method. Here we add simple `#ifndef` guards to allow them to provide their own dispatch prior to inclusion.
* Use bit_cast to create -0.0 for floating point types to avoid compiler ↵Gravatar Rasmus Munk Larsen2021-06-11
| | | | optimization changing sign with --ffast-math enabled.
* Fix c++20 warnings about using enums in arithmetic expressions.Gravatar Rasmus Munk Larsen2021-06-10
|
* Fix parsing of version for nvhpcGravatar Nicolas Cornu2021-06-10
| | | | | As the first line of the version is empty it crashes, so delete first line if it is empty
* Removed dead code from GPU float16 unit test.Gravatar Rohit Santhanam2021-05-28
|
* Remove EIGEN_DEVICE_FUNC from CwiseBinaryOp's default copy constructor.Gravatar Cyril Kaiser2021-05-26
|
* Add missing NEON ptranspose implementations.Gravatar Antonio Sanchez2021-05-25
| | | | Unified implementation using only `vzip`.
* Modify Unary/Binary/TernaryOp evaluators to work for non-class types.Gravatar Antonio Sanchez2021-05-23
| | | | | | | | | | | | | | | | | | | This used to work for non-class types (e.g. raw function pointers) in Eigen 3.3. This was changed in commit 11f55b29 to optimize the evaluator: > `sizeof((A-B).cwiseAbs2())` with A,B Vector4f is now 16 bytes, instead of 48 before this optimization. though I cannot reproduce the 16 byte result. Both before the change and after, with multiple compilers/versions, I always get a result of 40 bytes. https://godbolt.org/z/MsjTc1PGe This change modifies the code slightly to allow non-class types. The final generated code is identical, and the expression remains 40 bytes for the `abs2` sample case. Fixes #2251
* predux_half_dowto4 test extended to all applicable packetsGravatar Jakub Lichman2021-05-21
|
* Adds macro for checking if C++14 variable templates are supportedGravatar Steve Bronder2021-05-21
|
* Use derived object type in conservative_resize_like_implGravatar Niall Murphy2021-05-20
| | | | | | | | | When calling conservativeResize() on a matrix with DontAlign flag, the temporary variable used to perform the resize should have the same Options as the original matrix to ensure that the correct override of swap is called (i.e. PlainObjectBase::swap(DenseBase<OtherDerived> & other). Calling the base class swap (i.e in DenseBase) results in assertions errors or memory corruption.
* ptranpose test for non-square kernels addedGravatar Jakub Lichman2021-05-19
|
* Ensure all generated matrices for inverse_4x4 testes are invertible, this ↵Gravatar Guoqiang QI2021-05-13
| | | | fix #2248 .
* Fix calls to device functions from host codeGravatar Nathan Luehr2021-05-11
|
* Device implementation of log for std::complex types.Gravatar Nathan Luehr2021-05-11
|
* Fix ambiguity due to argument dependent lookup.Gravatar Nathan Luehr2021-05-11
|
* Changing the storage of the SSE complex packets to that of the wrapper. This ↵Gravatar guoqiangqi2021-05-10
| | | | should fix #2242 .
* Fix for issue where numext::imag and numext::real are used before they are ↵Gravatar Rohit Santhanam2021-05-10
| | | | defined.