Gael Guennebaud
4b70b47998
clean a bit Matrix and fix static Map functions
2009-12-17 14:48:26 +01:00
Gael Guennebaud
5ca90e1b0c
some cleaning in DenseStorageBase
2009-12-17 13:56:33 +01:00
Gael Guennebaud
ebb2878829
finally add a Array class with storage via the introduction of a DenseStorageBase
...
base class shared by both Matrix and Array
2009-12-17 13:37:00 +01:00
Gael Guennebaud
34c95029ca
a couple of fixes and cleaning
2009-12-17 10:00:35 +01:00
Gael Guennebaud
9f79558839
a lot of cleaning and fixes
2009-12-16 19:18:40 +01:00
Gael Guennebaud
9facdaf7b9
some compilation fixes
2009-12-10 22:15:22 +01:00
Gael Guennebaud
7caf751fdd
adapt select, replicate and reverse
2009-12-10 22:00:35 +01:00
Gael Guennebaud
8e05f9cfa1
add a DenseBase class for MAtrixBase and ArrayBase and more code factorisation
2009-12-04 23:17:14 +01:00
Gael Guennebaud
80ebeae48d
Add the concept of base class plugins, and started to write the ArrayBase class.
...
Sorry for this messy commit but I have to commit it...
2009-11-20 18:20:55 +01:00
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
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
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
Gael Guennebaud
63bcc1c0fb
adapt CwiseBinaryOp and the Sparse counter part
2009-11-17 10:11:27 +01: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
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
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
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
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
Benoit Jacob
e4e58e8337
simplifications in the ei_solve_impl system, factor out some boilerplate code
2009-11-08 16:51:41 -05:00
Gael Guennebaud
aa0974286f
fix compilation adding a makeconst helper struct
2009-11-07 09:07:23 +01:00
Gael Guennebaud
771c0507fb
back out previous back out, and this time don't forget
...
to include the NumTraits.h file in the commit ;)
2009-11-06 11:23:18 +01:00
Jitse Niesen
1470afda5b
Backed out previous changeset: Does not compile.
...
There is no member Nested in NumTraits.
2009-11-06 09:16:25 +00:00
Gael Guennebaud
fe81b3f651
Add the possibility to control the storage mode of scalar value (by value or reference)
...
in order to avoid unecessary copies when using complex scalar types (e.g., a AutoDiffScalar)
2009-11-05 18:06:33 +01:00
Hauke Heibel
3979f6d8aa
Let's try to stick to the original code, thus activate the fix of #62 only for 64 bit builds.
2009-11-04 15:49:22 +01:00
Hauke Heibel
e2170b9f7e
Direct access of the packet structs fixes bug #62 and doe not seem to
...
influence compiler optimization.
2009-11-04 15:38:11 +01:00
Benoit Jacob
da363d997f
introduce ei_xxx_return_value and ei_xxx_impl for xxx in solve,kernel,impl
...
put them in a new internal 'misc' directory
2009-11-03 02:18:10 -05:00
Benoit Jacob
48261fc773
* default MatrixBase ctor: make it protected, make it a static assert, only do the check when debugging eigen to avoid slowing down compilation for everybody (this check is paranoiac, it's very seldom useful)
...
* add private MatrixBase ctors to catch cases when the user tries to construct MatrixBase objects directly
2009-10-31 11:50:15 -04:00
Hauke Heibel
c70a603e34
added mean() reduction
2009-10-29 19:56:58 +01:00
Gael Guennebaud
e513cc75c4
oops I forgot to include that file in the previous commit (fixing #65 )
2009-10-29 14:24:09 +01:00
Gael Guennebaud
541eac0828
fix #65 : MatrixBase::nonZero()
2009-10-29 14:22:02 +01:00
Benoit Jacob
e8dd552257
sync with mainline
2009-10-28 19:06:45 -04:00
Benoit Jacob
2840ac7e94
big huge changes, so i dont remember everything.
...
* renaming, e.g. LU ---> FullPivLU
* split tests framework: more robust, e.g. dont generate empty tests if a number is skipped
* make all remaining tests use that splitting, as needed.
* Fix 4x4 inversion (see stable branch)
* Transform::inverse() and geo_transform test : adapt to new inverse() API, it was also trying to instantiate inverse() for 3x4 matrices.
* CMakeLists: more robust regexp to parse the version number
* misc fixes in unit tests
2009-10-28 18:19:29 -04:00
Mathieu Gautier
611d2b0b1d
Quaternion could now map an array of 4 scalars :
...
new classes :
* QuaternionBase
* Map<Quaternion>
2009-10-27 13:19:16 +00:00
Hauke Heibel
427f8a87d1
Added dox for the new typedefs.
2009-10-27 16:02:36 +01:00
Hauke Heibel
dbaba9019b
Added more common typedefs.
2009-10-27 15:57:21 +01:00
Benoit Jacob
44cdbaba4d
* make inverse() do a ReturnByValue
...
* add computeInverseWithCheck
* doc improvements
* update test
2009-10-26 14:16:50 -04:00
Benoit Jacob
ec02388a5d
big rewrite in Inverse.h
...
in particular, the API is essentially finalized and the 4x4 case is fixed to be numerically stable.
2009-10-26 11:18:23 -04:00
Hauke Heibel
66fe5a5f36
It is just not that easy and requires more work to get it done right.
2009-10-24 14:48:34 +02:00
Gael Guennebaud
a382963b04
* extend Map to allow the user to specify whether the mapped data
...
is aligned or not. This is done using the Aligned constant:
Map<MatrixType,Aligned>::Map(data);
* rename ForceAligned to EnforceAlignedAccess, and update its doc,
and emphasize this is mainly an internal stuff.
2009-10-23 14:26:14 +02:00