| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
| |
* added qr and eigensolver tests
* fix a compilation warning in Matrix copy constructor
|
|
|
|
|
|
|
|
|
|
| |
Triangular class
- full meta-unrolling in Part
- move inverseProduct() to MatrixBase
- compilation fix in ProductWIP: introduce a meta-selector to only do
direct access on types that support it.
- phase out the old Product, remove the WIP_DIRTY stuff.
- misc renaming and fixes
|
| |
|
|
|
|
|
| |
replaced the QTestLib framework my custom macros
and a (optional) custom script to run the tests from ctest.
|
|
|
|
| |
and fix an issue in the triangular test
|
|
|
|
| |
* Fix several warnings, temporarily disable determinant test.
|
| |
|
|
|
|
|
| |
* updated Cholesky to support complex
* correct result_type for abs and abs2 functors
|
| |
|
|
|
|
| |
Added a test for Triangular.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
using a macro and _Pragma.
- use OpenMP also in cacheOptimalProduct and in the
vectorized paths as well
- kill the vector assignment unroller. implement in
operator= the logic for assigning a row-vector in
a col-vector.
- CMakeLists support for building tests/examples
with -fopenmp and/or -msse2
- updates in bench/, especially replace identity()
by ones() which prevents underflows from perturbing
bench results.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently only the following platform/operations are supported:
- SSE2 compatible architecture
- compiler compatible with intel's SSE2 intrinsics
- float, double and int data types
- fixed size matrices with a storage major dimension multiple of 4 (or 2 for double)
- scalar-matrix product, component wise: +,-,*,min,max
- matrix-matrix product only if the left matrix is vectorizable and column major
or the right matrix is vectorizable and row major, e.g.:
a.transpose() * b is not vectorized with the default column major storage.
To use it you must define EIGEN_VECTORIZE and EIGEN_INTEL_PLATFORM.
|
|
|
|
|
|
|
|
|
|
|
| |
in ei_xpr_copy and operator=, respectively.
* added Matrix::lazyAssign() when EvalBeforeAssigningBit must be skipped
(mainly internal use only)
* all expressions are now stored by const reference
* added Temporary xpr: .temporary() must be called on any temporary expression
not directly returned by a function (mainly internal use only)
* moved all functors in the Functors.h header
* added some preliminaries stuff for the explicit vectorization
|
|
|
|
|
|
|
| |
* added "all" and "any" special redux operators
* added support bool matrices
* added support for cost model of STL functors via ei_functor_traits
(By default ei_functor_traits query the functor member Cost)
|
|
|
|
|
|
|
|
| |
when to evaluate arguments and when to meta-unroll.
-use it in Product to determine when to eval args. not yet used
to determine when to unroll. for now, not used anywhere else but
that'll follow.
-fix badness of my last commit
|
| |
|
|
|
|
|
|
| |
-- currently 3 flags: RowMajor, Lazy and Large
-- only RowMajor actually used for now
* many minor improvements
|
|
|
|
|
|
|
| |
* macro renaming: EIGEN_NDEBUG becomes EIGEN_NO_DEBUG
as this is much better (and similar to Qt) and
EIGEN_CUSTOM_ASSERT becomes EIGEN_USE_CUSTOM_ASSERT
* protect Core header by a EIGEN_CORE_H
|
| |
|
|
|
|
|
|
|
|
| |
internal classes: AaBb -> ei_aa_bb
IntAtRunTimeIfDynamic -> ei_int_if_dynamic
unify UNROLLING_LIMIT (there was no reason to have operator= use
a higher limit)
etc...
|
| |
|
| |
|
|
|
|
|
|
| |
Finally the importing macro is named EIGEN_BASIC_PUBLIC_INTERFACE
because it does not only import the ei_traits, it also makes the base class
a friend, etc.
|
|
|
|
|
|
| |
template parameter "Scalar" is removed. This is achieved by introducting a
template <typename Derived> struct Scalar to achieve a forward-declaration of
the Scalar typedefs.
|
|
|
|
|
|
| |
Matrix3i mat; Vector2i vec(33,66);
mat << vec.transpose(), 99,
vec, Matrix2i::random();
|
|
|
|
|
|
|
|
|
|
| |
If the number of coefficients does not match the matrix size, then an assertion is raised.
No support for xpr on the right side for the moment.
* Added support for assertion checking. This allows to test that an assertion is indeed raised
when it should be.
* Fixed a mistake in the CwiseUnary example.
|
|
|
|
|
|
| |
- compatible with current STL's functors as well as with the extention proposal (TR1)
* thanks to the above, Cast and ScalarMultiple have been removed
* benchmark_suite is more flexible (compiler and matrix size)
|
|
|
|
|
|
| |
were always instanciated.
* the unrolling limits are configurable at compile time.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* functor templates are not template template parameter anymore
(this allows to make templated functors !)
* Main page: extented compiler discussion
* A small hack to support gcc 3.4 and 4.0 (see the main page)
* Fix a cast type issue in Cast
* Various doxygen updates (mainly Cwise stuff and added doxygen groups
in MatrixBase to split the huge memeber list, still not perfect though)
* Updated Gael's email address
|
|
|
|
|
| |
This unifies + and - and moreover this patch introduces
coeff-wise * and / based on this. Also, corresponding test.
|
|
|
|
| |
expressions, update documentation.
|
| |
|
|
|
|
| |
fragile. also fix compilation with g++ 4.3.
|
|
|
|
|
|
|
| |
Block -> FixedBlock
DynBlock -> Block
indeed, previous commit solves the main issue with DynBlock so
is should now be the more commonly used one.
|
| |
|
|
|
|
|
|
| |
-use row-major traversal when the number of columns is fixed
and the number of rows is dynamic
-other minor changes
|
| |
|
|
|
|
|
|
| |
- complete documentation
- add TODO
- update copyright years
|
|
|
|
|
|
| |
- the static constants are private again in the Derived classes
- more documentation and code snippets
- new isDiagonal() method
|
|
|
|
|
|
|
| |
Honor this preference in operator=.
- add several methods to the API
- rework API for diagonal matrices
- add benchmarking code
|
|
|
|
|
|
| |
1) Eigen2 co-installable with Eigen1 without conflict, without affecting programs including either.
2) #include<Eigen/Core> without the .h without conflict with the Core/ directory
3) Uniformize coding style of the CMakeLists.
|
|
|
|
|
|
|
|
| |
with minimal code duplication. There now are only two (2)
const_cast remaining in the whole source code.
- eigen2 now fully allows copying a row-vector into a column-vector.
added a unit-test for that.
- split unit tests, improve docs, various improvements.
|
|
|
|
| |
in the examples instead of ugly things like #include"../../src/Core.h"
|
| |
|
| |
|
|
|
|
| |
Add corresponding unit-test.
|
|
|
|
|
| |
-expand and improve unit-tests
-various renaming and improvements
|
| |
|