Benoit Jacob
2ee7969f0a
re-optimize Matrix::resize(), add some comments
2008-01-14 13:14:49 +00:00
Benoit Jacob
e20aceb6eb
cleanup in Eval; instead introduce convenient typedefs in Matrix
...
for naming special related matrix types: RowType, ColumnType,
BlockType
2008-01-14 11:25:09 +00:00
Benoit Jacob
183bf54d27
final fixes and updates for alpha3
2008-01-13 23:38:48 +00:00
Benoit Jacob
57d7b7d97b
documentation update for alpha 3
2008-01-13 23:17:51 +00:00
Benoit Jacob
6ce996f219
big improvement of the block-manipulation API
...
- reduction of sizeof(Block) for vector types
- variants of block() and fixedBlock() for vector blocks
- convenience methods start() and end() for vectors
- convenience method corner() for matrices
2008-01-13 22:48:57 +00:00
Benoit Jacob
95dc68dc86
renaming:
...
Block -> FixedBlock
DynBlock -> Block
indeed, previous commit solves the main issue with DynBlock so
is should now be the more commonly used one.
2008-01-13 20:19:14 +00:00
Benoit Jacob
89a134ba0b
big architecture change dissociating "actual" dimensions from "maximum possible"
...
dimension. The advantage is that evaluating a dynamic-sized block in a fixed-size
matrix no longer causes a dynamic memory allocation. Other new thing:
IntAtRunTimeIfDynamic allows storing an integer at zero cost if it is known at
compile time.
2008-01-13 19:55:23 +00:00
Benoit Jacob
e05a1aba1d
one bugfix and one optimization
2008-01-11 16:06:31 +00:00
Benoit Jacob
bcf7b29185
rework Identity API: no longer restricted to square matrices
2008-01-11 15:56:21 +00:00
Benoit Jacob
e092cbc75c
-add set...() methods and their documentation; remove Generic
...
-use row-major traversal when the number of columns is fixed
and the number of rows is dynamic
-other minor changes
2008-01-11 15:08:04 +00:00
Benoit Jacob
aae0667e1e
reorganization/cleanup
2008-01-11 07:16:18 +00:00
Benoit Jacob
45a4b61b5f
switch to enums everywhere
2008-01-10 20:45:35 +00:00
Benoit Jacob
47d354924b
revert most of previous commit. It really is better to forbid default
...
constructor for dynamic-size matrices. Now why do I feel like a beheaded
chicken running around?
2008-01-08 10:39:36 +00:00
Benoit Jacob
b036eca902
Revert to allowing default Matrix constructor even for dynamic size (which is
...
then set to 1). Discussion with jonasp made me remember why we did so in Eigen1.
Also add default constructor to Eval
2008-01-07 21:19:36 +00:00
Benoit Jacob
8ba3055447
Ready for alpha2 release.
...
- complete documentation
- add TODO
- update copyright years
2008-01-07 09:34:21 +00:00
Benoit Jacob
5111ace0d6
move default parameter values from function definition to function declaration.
...
doxygen likes it and this fixes compilation on ICC.
2008-01-06 19:34:28 +00:00
Benoit Jacob
84934ea217
- move: DerivedTraits becomes MatrixBase::Traits
...
- the static constants are private again in the Derived classes
- more documentation and code snippets
- new isDiagonal() method
2008-01-06 16:35:21 +00:00
Benoit Jacob
aaf889e72b
remove all the _Order mechanics, now we are always traversing matrices in
...
column-major order, even if storage is row-major. Benchmark showed that adapting
the traversal order to the storage order brought no benefit.
Also do some cleanup after Gael's big patch.
2008-01-06 13:57:29 +00:00
Benoit Jacob
495eb7053a
Patch by Gael Guennebaud, making Eigen compatible with the Intel compiler (icc).
...
CCMAIL:eigen@lists.tuxfamily.org
2008-01-06 13:17:07 +00:00
Benoit Jacob
d1d55e67e9
- make MatrixBase and all expressions aware of their preferred traversal order.
...
Honor this preference in operator=.
- add several methods to the API
- rework API for diagonal matrices
- add benchmarking code
2008-01-05 10:57:14 +00:00
Benoit Jacob
23ffede3d0
more documentation, 12 more code snippets
2008-01-03 19:36:32 +00:00
Benoit Jacob
42f6590bb2
cleanup: remove copy contructors when the compiler is able to generate a satisfactory
...
default copy constructor; remove useless static_cast's; some misc cleanup.
2007-12-31 13:29:51 +00:00
Benoit Jacob
86220784b6
part 2 of the reorganization. Benefits/changes:
...
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.
2007-12-28 16:20:00 +00:00
Benoit Jacob
dfdad129a3
move Core/ to a src/ subdir, in preparation for following changes
2007-12-28 16:00:55 +00:00
Benoit Jacob
e7bdbe2e6a
matrix storage order can now also be row-dominant (choosable for each matrix separately)
...
map() moves from MatrixBase to Matrix
much more documentation/examples/snippets
2007-12-27 21:43:10 +00:00
Benoit Jacob
6b9370e0f0
more changes in ScalarMultiple, reintroduce FloatingPoint in NumTraits, improve
...
examples
2007-12-26 09:25:00 +00:00
Benoit Jacob
05a49547e1
in ScalarMultiple, make the factor type independent from the matrix scalar type.
...
This is an optimization for complex matrices, allowing to do only a real multiplication
when a complex multiplication is not needed, e.g. in normalized().
2007-12-26 08:30:21 +00:00
Benoit Jacob
dad245af56
- eigen2 now fully enforces constness! found a way to achieve that
...
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.
2007-12-25 17:20:58 +00:00
Benoit Jacob
3cd2a125b2
- rework the coefficients API
...
- make vectors use a separate loop unroller, so that copying a
row-vector into a col-vector is now possible
- add much more documentation
- misc improvements
2007-12-24 11:14:25 +00:00
Benoit Jacob
e937583655
everything works, make now runs doxygen once and only once, after all
...
the required files have been generated.
2007-12-21 11:29:04 +00:00
Benoit Jacob
c38156a217
now we also have a examples/ directory for self-contained examples,
...
and this is already used to document DynBlock
2007-12-21 10:35:00 +00:00
Benoit Jacob
a52c74095f
rename src/ to Eigen/ so that we're able to #include<Eigen/Core.h>
...
in the examples instead of ugly things like #include"../../src/Core.h"
2007-12-20 21:25:13 +00:00