aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/GeneralProduct.h
Commit message (Collapse)AuthorAge
* Eliminate boolean product warnings by factoring out aGravatar Christoph Hertzberg2021-01-05
| | | `combine_scalar_factors` helper function.
* bug #1680: improve MSVC inlining by declaring many triavial constructors and ↵Gravatar Gael Guennebaud2019-02-15
| | | | accessors as STRONG_INLINE.
* Fix compilation of empty products of the form: Mx0 * 0xNGravatar Gael Guennebaud2019-02-11
|
* merging updates from upstreamGravatar Deven Desai2018-07-11
|\
* | updates based on PR feedbackGravatar Deven Desai2018-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two major changes (and a few minor ones which are not listed here...see PR discussion for details) 1. Eigen::half implementations for HIP and CUDA have been merged. This means that - `CUDA/Half.h` and `HIP/hcc/Half.h` got merged to a new file `GPU/Half.h` - `CUDA/PacketMathHalf.h` and `HIP/hcc/PacketMathHalf.h` got merged to a new file `GPU/PacketMathHalf.h` - `CUDA/TypeCasting.h` and `HIP/hcc/TypeCasting.h` got merged to a new file `GPU/TypeCasting.h` After this change the `HIP/hcc` directory only contains one file `math_constants.h`. That will go away too once that file becomes a part of the HIP install. 2. new macros EIGEN_GPUCC, EIGEN_GPU_COMPILE_PHASE and EIGEN_HAS_GPU_FP16 have been added and the code has been updated to use them where appropriate. - `EIGEN_GPUCC` is the same as `(EIGEN_CUDACC || EIGEN_HIPCC)` - `EIGEN_GPU_DEVICE_COMPILE` is the same as `(EIGEN_CUDA_ARCH || EIGEN_HIP_DEVICE_COMPILE)` - `EIGEN_HAS_GPU_FP16` is the same as `(EIGEN_HAS_CUDA_FP16 or EIGEN_HAS_HIP_FP16)`
| * Extend CUDA support to matrix inversion and selfadjointeigensolverGravatar Andrea Bocci2018-06-11
|/
* Fixed compilation with cuda_clang.Gravatar Benoit Steiner2017-09-07
|
* Make the threshold from gemm to coeff-based-product configurable, and add ↵Gravatar Gael Guennebaud2017-08-24
| | | | some explanations.
* Fix lazyness of operator* with CUDAGravatar Gael Guennebaud2017-07-20
|
* Add a EIGEN_NO_CUDA option, and introduce EIGEN_CUDACC and EIGEN_CUDA_ARCH ↵Gravatar Gael Guennebaud2017-07-17
| | | | aliases
* Adjusted the EIGEN_DEVICE_FUNC qualifiers to make sure that:Gravatar Benoit Steiner2017-03-01
| | | | | * they're used consistently between the declaration and the definition of a function * we avoid calling host only methods from host device methods.
* Ease compiler job to generate clean and efficient code in mat*vec.Gravatar Gael Guennebaud2016-12-02
|
* Fix slection of product implementation for dynamic size matrices with fixed ↵Gravatar Gael Guennebaud2016-11-30
| | | | max size.
* Fix a performance regression in (mat*mat)*vec for which mat*mat was ↵Gravatar Gael Guennebaud2016-11-30
| | | | evaluated multiple times.
* bug #1343: fix compilation regression in array = matrix_productGravatar Gael Guennebaud2016-11-18
|
* Fix alignement of statically allocated temporaries in gemv.Gravatar Gael Guennebaud2016-09-17
|
* Fix a pointer to integer conversion warningGravatar Gael Guennebaud2016-05-26
|
* Enable lazy-coeff-based-product for vector*(1x1) productsGravatar Gael Guennebaud2016-04-16
|
* bug #1166: fix shortcomming in gemv when the destination is not a vector at ↵Gravatar Gael Guennebaud2016-02-15
| | | | compile-time.
* Remove dead codeGravatar Gael Guennebaud2016-02-04
|
* Improve heuritics for switching between coeff-based and general matrix ↵Gravatar Gael Guennebaud2016-02-04
| | | | product implementation.
* Fix a nesting issue in some matrix-vector cases.Gravatar Gael Guennebaud2015-10-08
|
* Re-enable vectorization of LinSpaced, plus some cleaningGravatar Gael Guennebaud2015-10-08
|
* bug #973: update macro-level control of alignement by introducing ↵Gravatar Gael Guennebaud2015-07-29
| | | | user-controllable EIGEN_MAX_ALIGN_BYTES and EIGEN_MAX_STATIC_ALIGN_BYTES macros. This changeset also removes EIGEN_ALIGN (replaced by EIGEN_MAX_ALIGN_BYTES>0), EIGEN_ALIGN_STATICALLY (replaced by EIGEN_MAX_STATIC_ALIGN_BYTES>0), EIGEN_USER_ALIGN*, EIGEN_ALIGN_DEFAULT (replaced by EIGEN_ALIGN_MAX).
* Declare const some const variablesGravatar Gael Guennebaud2015-02-19
|
* Remove deprecated usage of expr::Index.Gravatar Gael Guennebaud2015-02-16
|
* Pulled the latest changes from the trunkGravatar Benoit Steiner2015-02-06
|\
* | Generalized the matrix vector product code.Gravatar Benoit Steiner2014-10-31
| |
| * Using Index instead of hard coded int type to prevent potential implicit ↵Gravatar Georg Drenkhahn2014-09-22
| | | | | | | | integer conversion
| * Remove deprecated code not used by evaluatorsGravatar Gael Guennebaud2014-09-18
| |
| * merge with default branchGravatar Gael Guennebaud2014-09-14
| |\ | |/ |/|
* | Fix bug #822: outer products needed linear access, and add respective unit testsGravatar Gael Guennebaud2014-09-08
| |
| * Implement evaluator for sparse-selfadjoint productsGravatar Gael Guennebaud2014-07-22
| |
| * merge with default branchGravatar Gael Guennebaud2014-07-10
| |\ | |/ |/|
* | Fix many long to int implicit conversionsGravatar Gael Guennebaud2014-07-08
| |
| * merge with default branchGravatar Gael Guennebaud2014-06-20
| |\ | |/ |/|
* | Fix 128bit packet size assumptions in unit tests.Gravatar Gael Guennebaud2014-04-18
| |
| * Fix evaluators unit test (i.e., when only EIGEN_ENABLE_EVALUATORS is definedGravatar Gael Guennebaud2014-03-10
| |
| * Hide some deprecated classes.Gravatar Gael Guennebaud2014-02-24
| |
| * By-pass ProductBase for triangular and selfadjoint products and get rid of ↵Gravatar Gael Guennebaud2014-02-23
| | | | | | | | ProductBase
| * Get rid of GeneralProduct<> for GemvProductGravatar Gael Guennebaud2014-02-21
| |
| * Get rid of GeneralProduct for outer-products, and get rid of ScaledProductGravatar Gael Guennebaud2014-02-21
| |
* | Reverted the definition of the EIGEN_ALIGN to its former meaning (i.e. a ↵Gravatar Benoit Steiner2014-02-18
| | | | | | | | | | | | | | | | boolean) Created a new EIGEN_ALIGN_BYTES define to encode how the data should be aligned Fixed a few remaining alignment issues exposed when the Eigen code is compiled with avx enabled. Created a new EIGEN_ALIGN_DEFAULT define, which is set to the minimum alignment value required for the chosen instruction set. Use this value instead of EIGEN_ALIGN32 to preserve the existing alignment on SSE/Altivec/Neon.
| * Fix a few regression regarding temporaries and productsGravatar Gael Guennebaud2013-12-14
| |
| * Enable use of evaluators for noalias and lazyProduct, add conversion to ↵Gravatar Gael Guennebaud2013-12-03
| | | | | | | | scalar for inner products
| * add definition of product_tagGravatar Gael Guennebaud2013-11-29
|/
* Add an option to test evaluators globallyGravatar Gael Guennebaud2013-11-07
|
* merge with main branchGravatar Gael Guennebaud2013-07-17
|\
| * Fix bug #314: move remaining math functions from internal to numext namespaceGravatar Gael Guennebaud2013-06-10
| |
* | merge with default branchGravatar Gael Guennebaud2013-04-19
|\|