Gael Guennebaud
4af1753b6f
* remove EnforceAlignedAccess option to Block, VectorBlock, Map and MapBase
...
because thanks to the previous commit this is not needed anymore
* add a more general ForceAlignedAccess expression which can be used for any expression.
It is already used by StableNorm.h.
2009-11-20 16:30:14 +01:00
Gael Guennebaud
eb8f450071
Hey, finally the copyCoeff stuff is not only used to implement swap anymore :)
...
Add an internal pseudo expression allowing to optimize operators like +=, *= using
the copyCoeff stuff.
This allows to easily enforce aligned load for the destination matrix everywhere.
2009-11-20 15:39:38 +01:00
Jitse Niesen
b0baf43114
Eigen/CMakeLists.txt: remove parens from if.
...
Only CMake 2.6.3 and later recognize this syntax, and at the moment we
require 2.6.2. CMake uses the right precendence, per its man page, so the
parentheses are not necessary.
2009-11-20 11:26:26 +00:00
Benoit Jacob
6cbf662f14
* don't laugh, but these bugs took me forever to fix.
...
* expand unit tests to make sure to catch them: they nearly escaped the existing tests as these memory violations were highly dependent on the numbers of rows and cols.
2009-11-19 22:01:13 -05:00
Benoit Jacob
eac3232095
minor improvements in triangular stuff
2009-11-19 20:50:50 -05:00
Benoit Jacob
88b551e89b
* fix compilation of unit-tests (sorry, had tested only 1 channel)
...
* remove buggy (superfluous?) specialization in the meta-unroller
2009-11-19 19:20:19 -05:00
Benoit Jacob
a20a744adc
TriangularMatrix: extend to rectangular matrices
2009-11-19 17:07:55 -05:00
Benoit Jacob
2275f98d7b
move signature file to root directory, where it belongs
2009-11-19 12:41:28 -05:00
Benoit Jacob
bbf0eb35a7
* in Eigen/CMakeLists.txt, finally do a globbing to we no longer will have problems with "oops forgot to install new module".
...
* add a file Eigen/signature_of_eigen3_matrix_library, use it to make FindEigen3.cmake more solid: able to find Eigen in either eigen3/ or eigen/ and not mix it up with Eigen2.
2009-11-19 12:31:11 -05:00
Benoit Jacob
b5f4636d42
* eigen2->eigen3
...
* bump version to 2.91.0
* add FindEigen3.cmake
2009-11-19 12:09:04 -05:00
Benoit Jacob
abb2a1bb15
simplification
2009-11-18 17:44:20 -05:00
Benoit Jacob
126a8e6a69
fix remaining bug in ColPivHouseholderQR, so now all tests pass again
2009-11-18 17:40:45 -05:00
Benoit Jacob
40865fa28c
fix bugs, old and new:
...
* old bug: in CwiseBinaryOp: only set the LinearAccessBit if both sides have the same storage order.
* new bug: in Assign.h, only consider linear traversal if both sides have the same storage order.
2009-11-18 17:20:39 -05:00
Benoit Jacob
11fa2ae2c6
temporarily disable linear traversal.
...
Actually I don't think it's buggy. But it probably triggers existing bugs, I suspect that
some xprs have LinearAccessBit and shouldn't have it.
Also this fixes the "bugs" with JacobiSVD ---> now it works again
2009-11-18 16:31:14 -05:00
Benoit Jacob
8860203e6a
fix stuff after the PermutationMatrix changes.
...
I still have JacobiSVD errors when cols>rows
2009-11-18 12:41:24 -05:00
Gael Guennebaud
e3d890bc5a
Another big refactoring change:
...
* add a new Eigen2Support module including Cwise, Flagged, and some other deprecated stuff
* add a few cwiseXxx functions
* adapt a few modules to use cwiseXxx instead of the .cwise() prefix
2009-11-18 18:15:19 +01:00
Benoit Jacob
94c706d04f
Assign.h: add LinearTraversal (non-vectorized index-based traversal)
...
Rename some constants to make names match more closely what they mean.
2009-11-18 11:57:07 -05:00
Gael Guennebaud
0529ecfe1b
Big refactoring/cleaning in the spasre module with
...
in particular the addition of a selfadjointView, and the
extension of triangularView. The rest is cleaning and does not
change/extend the API.
2009-11-18 14:52:52 +01:00
Gael Guennebaud
1e62e0b0d8
more ET refactoring:
...
* extend Cwise for multiple storage base class
* a lot of cleaning in the Sparse module
2009-11-17 16:04:19 +01:00
Benoit Jacob
9f21e2aab7
port the QR module to PermutationMatrix
2009-11-17 08:14:54 -05:00
Gael Guennebaud
63bcc1c0fb
adapt CwiseBinaryOp and the Sparse counter part
2009-11-17 10:11:27 +01:00
Benoit Jacob
30b610a10f
vade retro
2009-11-16 21:45:01 -05:00
Benoit Jacob
ac00902f84
for consistency: PlainMatrixType ---> DenseMatrixType
2009-11-16 21:43:15 -05:00
Benoit Jacob
984c000778
addToDense ---> addTo
...
subToDense ---> subTo
2009-11-16 21:33:41 -05:00
Benoit Jacob
07412b2075
PermutationMatrix: add setIdentity and transpositions methods
...
LU: make use of that
2009-11-16 21:28:26 -05:00
Benoit Jacob
b90744dc05
Port FullPivLU to PermutationMatrix
2009-11-16 17:05:12 -05:00
Benoit Jacob
76c614f9bd
PartialPivLU: port to PermutationMatrix
...
PermutationMatrix: add resize()
2009-11-16 15:36:07 -05:00
Benoit Jacob
eb6df28c6c
DiagonalMatrix: release-quality documentation
...
BandMatrix: rename toDense() ---> toDenseMatrix() for consistency
2009-11-16 15:25:58 -05:00
Benoit Jacob
e8d0dbf82e
PermutationMatrix:
...
* make multiplication order not be reversed
* release-quality documentation
2009-11-16 15:07:33 -05:00
Benoit Jacob
8a1bada43d
initialize-by-zero: remember that when the newsize==oldsize, resize() must remain a NOP
2009-11-16 13:45:06 -05:00
Gael Guennebaud
1c9a2d246f
adapt CwiseUnaryOp and CwiseUnaryView
2009-11-16 19:39:29 +01:00
Gael Guennebaud
2a3a6fe45e
Experiment the ET refactoring on Transpose for Dense and Sparse storages.
...
All tests work fine.
2009-11-16 18:19:08 +01:00
Benoit Jacob
b25eb5fdaa
PermutationMatrix: add inverse() and product of permutations
2009-11-16 09:39:07 -05:00
Benoit Jacob
955cd7f884
* add PermutationMatrix
...
* DiagonalMatrix:
- add MaxSizeAtCompileTime parameter
- DiagonalOnTheLeft ---> OnTheLeft
- fix bug in DiagonalMatrix::setIdentity()
2009-11-15 21:12:15 -05:00
Mathieu Gautier
6680fa42ee
* add Map<Quaternion> test based on Map from test/map.cpp
...
* replace implicit constructor AngleAxis(QuaternionBase&) by an explicit one, it seems ambiguous for the compiler
* remove explicit constructor with conversion type quaternion(Quaternion&): conflict between constructor.
* modify EIGEN_INHERIT_ASSIGNEMENT_OPERATORS to suit Quaternion class
2009-11-13 16:41:51 +01:00
Benoit Jacob
8b563d7163
ouch, avoid infinite loop!
...
optimization is not so important here, so a for loop will do.
2009-11-12 14:08:47 -05:00
Benoit Jacob
5266a78aca
also optionnally initialize by zero after resizing
2009-11-12 12:49:00 -05:00
Benoit Jacob
8132ee3908
* add non-default option to initialize matrices by 0
...
(useful for porting)
* maketests really has to be in test/
2009-11-12 12:39:22 -05:00
Jitse Niesen
343eec7ca8
Compilation fix: makeHousholderInPlace now uses references.
2009-11-11 16:23:09 +00:00
Benoit Jacob
bf691cc3f1
fix PowerPC platform detection
2009-11-11 10:52:00 -05:00
Benoit Jacob
a440385b41
*adapt Householder to the convention that we now favor refs over ptrs for output. Keep "workspace" as pointer because it is an array (which is now more obvious).
...
*rename makeHouseholderSequence to householderSequence, because that's what it returns.
2009-11-10 21:22:20 -05:00
Gael Guennebaud
f647fb8dd4
fix compilation and removed some unused stuff in skyline
2009-11-10 21:22:55 +01:00
Gael Guennebaud
58632c1652
fix #68 I did not see the skyline matrix patch contained that
2009-11-10 14:19:03 +01:00
Gael Guennebaud
1879403562
mv the Skyline module to unsupported/
2009-11-10 12:47:42 +01:00
kayhman
1333fe651d
Added basic SkylineMatrix.
2009-11-04 15:18:12 +01:00
Benoit Jacob
92749eed11
* merge
...
* remove a ctor in QuaternionBase as it gives a strange error with GCC 4.4.2.
2009-11-09 09:08:03 -05:00
Benoit Jacob
4b366b07be
add missing includes
2009-11-09 08:04:20 -05:00
Benoit Jacob
9a0900e33e
last round of changes, mainly to return derived types instead of base types, and fix various compilation issues
2009-11-09 07:51:31 -05:00
Gael Guennebaud
670651e2e0
Quaternion: fix compilation, cleaning
2009-11-09 10:48:18 +01:00
Benoit Jacob
e4e58e8337
simplifications in the ei_solve_impl system, factor out some boilerplate code
2009-11-08 16:51:41 -05:00