aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/products/GeneralMatrixVector.h
Commit message (Collapse)AuthorAge
* Ensured that contractions that can be reduced to a matrix vector product ↵Gravatar Benoit Steiner2015-01-06
| | | | work correctly even when the input coefficients aren't aligned.
* Generalized the matrix vector product code.Gravatar Benoit Steiner2014-10-31
|
* Enable vectorization of gemv for PacketSize>4 through unaligned loads (still ↵Gravatar Gael Guennebaud2014-03-28
| | | | better than no vectorization)
* Merged eigen/eigen into defaultGravatar Benoit Steiner2014-02-24
|\
| * Implement bug #317: use a template function call to suppress unused variable ↵Gravatar Gael Guennebaud2014-02-24
| | | | | | | | warnings. This also fix the issue of the previous changeset in a much nicer way.
| * Workaround clang ABI change with unsed arguments (ugly fix)Gravatar Gael Guennebaud2014-02-24
| |
* | 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.
* | Added support for AVX to Eigen.Gravatar Benoit Steiner2014-01-29
|/
* Use aligned loads in Matrix-Vector product where possible. Fixes bug #689Gravatar Christoph Hertzberg2013-10-29
|
* Add explanations of the logic behind the matrix-vector productsGravatar Gael Guennebaud2013-08-21
|
* Fix bug #314: move remaining math functions from internal to numext namespaceGravatar Gael Guennebaud2013-06-10
|
* Fix "routine is both "inline" and "noinline"" warningsGravatar Gael Guennebaud2013-02-28
|
* multiple warnings for unused variableGravatar Desire NUENTSA2012-09-07
|
* Fix out-of-range memory access in GEMV (the memory was not used for the ↵Gravatar Gael Guennebaud2012-08-30
| | | | | | | computation, only to assemble unaligned packets from aligned packet loads) (transplanted from 221f54698c2f6690da8c0f44c1e31e55118dedab )
* Automatic relicensing to MPL2 using Keirs script. Manual fixup follows.Gravatar Benoit Jacob2012-07-13
|
* Get rid of include directives inside namespace blocks (bug #339).Gravatar Jitse Niesen2012-04-15
|
* workaround ICC compilation error with -strict-ansiGravatar Gael Guennebaud2012-01-25
|
* Intel(R) MKL support added.Gravatar karturov2011-12-05
| | | | | | | | | | * * * License disclaimer changed to BSD license for MKL_support.h * * * Pardiso support fixed, test added. blas/lapack tests fixed: Scalar parameter was added in Cholesky, product_matrix_vector_triangular remaned to triangular_matrix_vector_product. * * * PARDISO test was added physically.
* protect calls to min and max with parentheses to make Eigen compatible with ↵Gravatar Gael Guennebaud2011-07-21
| | | | | | | default windows.h (transplanted from 49b6e9143e1d74441924c0c313536e263e12a55c )
* Initial fixes for bug #85.Gravatar Hauke Heibel2010-10-25
| | | | | | | Renamed meta_{true|false} to {true|false}_type, meta_if to conditional, is_same_type to is_same, un{ref|pointer|const} to remove_{reference|pointer|const} and makeconst to add_const. Changed boolean type 'ret' member to 'value'. Changed 'ret' members refering to types to 'type'. Adapted all code occurences.
* bug #86 : use internal:: namespace instead of ei_ prefixGravatar Benoit Jacob2010-10-25
|
* fix warnings. The one in Reverse was potentially serious: coeff() methods ↵Gravatar Benoit Jacob2010-08-03
| | | | should return CoeffReturnType, not "Scalar", if the expression is potentially a Lvalue.
* sync with default branchGravatar Gael Guennebaud2010-07-22
|\
* | oopsGravatar Gael Guennebaud2010-07-22
| |
* | rename indices to a common schemeGravatar Gael Guennebaud2010-07-22
| |
* | mixing types step 3:Gravatar Gael Guennebaud2010-07-11
| | | | | | | | | | - improve support of colmajor by vector and matrix - matrix - now all configurations are well handled, but the perf are not always very good
* | make colmaj * vector uses pointers onlyGravatar Gael Guennebaud2010-07-11
| |
* | mixing types in product step 2:Gravatar Gael Guennebaud2010-07-11
| | | | | | | | | | | | | | | | * pload* and pset1 are now templated on the packet type * gemv routines are now embeded into a structure with a consistent API with respect to gemm * some configurations of vector * matrix and matrix * matrix works fine, some need more work...
| * fix unused warningGravatar Gael Guennebaud2010-07-11
|/
* * generalize rowmajor by vectorGravatar Gael Guennebaud2010-07-10
| | | | * fix weird compilation error when constructing a matrix with a row by matrix product
* optimize gemv for complex<double> and fix gcc alignment issue in 32bitsGravatar Gael Guennebaud2010-07-07
|
* s/IsVectorized/VectorizableGravatar Gael Guennebaud2010-07-07
|
* * add a IsVectorized mechanism (instead of packet-size>1...)Gravatar Gael Guennebaud2010-07-06
| | | | * vectorize complex<double>
* add support for vectorized conjugated productsGravatar Gael Guennebaud2010-07-06
|
* email changeGravatar Gael Guennebaud2010-06-24
|
* the Index types change.Gravatar Benoit Jacob2010-05-30
| | | | As discussed on the list (too long to explain here).
* * Fix bug #79: ei_alignmentOffset was assuming that ptr is multiple ofGravatar Benoit Jacob2010-01-02
| | | | | | | sizeof(Scalar), and that assumption breaks with double on linux x86-32. * Rename ei_alignmentOffset to ei_first_aligned * Rewrite its documentation and part of its body * The variant taking a MatrixBase doesn't need a separate size argument.
* discard vectorization in matrix-vector product when data is not evenGravatar Gael Guennebaud2009-10-05
| | | | aligned on the scalar type size (e.g., for double on 32 bits system without -malign-double)
* Add an efficient rank2 update function (like the level2 blas xSYR2 routine).Gravatar Gael Guennebaud2009-07-11
| | | | Note that it is already used in Tridiagonalization.
* commit woking versions of triangular solvers naturallyGravatar Gael Guennebaud2009-07-09
| | | | | | handling conjuagted expression. still have to bench whether it is faster (runtime and compile time) to directly call the cache friendly functions, whence all the commented piece of code...
* started to simplify the triangular solversGravatar Gael Guennebaud2009-07-09
|
* ok now all the complex mat-mat and mat-vec products involving conjugate,Gravatar Gael Guennebaud2009-07-08
| | | | | adjoint, -, and scalar multiple seems to be well handled. It only remains the simpler case: C = alpha*(A*B) ... for the next commit
* * extended the cache friendly products to support C = alpha * A * M and C += ↵Gravatar Gael Guennebaud2009-07-07
| | | | | | | | | alpha * A * B * this allows to optimize xpr like C -= lazy_product, still have to catch "scalar_product_of_lazy_product" * started to support conjugate in cache friendly products (very useful to evaluate A * B.adjoint() without evaluating B.adjoint() into a temporary * compilation fix
* remove sentence "Eigen itself is part of the KDE project."Gravatar Benoit Jacob2009-05-22
| | | | it never made very precise sense. but now does it still make any?
* more MSVC fixes (asm comments...)Gravatar Gael Guennebaud2009-03-17
|
* big addons:Gravatar Gael Guennebaud2009-03-05
| | | | | | | | | | | * add Homogeneous expression for vector and set of vectors (aka matrix) => the next step will be to overload operator* * add homogeneous normalization (again for vector and set of vectors) * add a Replicate expression (with uni-directional replication facilities) => for all of them I'll add examples once we agree on the API * fix gcc-4.4 warnings * rename reverse.cpp array_reverse.cpp
* * split CacheFriendlyProduct into multiple smaller filesGravatar Gael Guennebaud2009-02-21
* add an efficient selfadjoint * vector implementation (= blas symv) perf are inbetween MKL and GOTO => the interface is still missing (have to be rethougth)