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
209cf7c91f
TODO is now on techbase
2008-01-09 13:04:04 +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
eb6ee51fdf
will svn finally let me remove this dir?
2007-12-21 09:31:17 +00:00
Benoit Jacob
a316cd8a76
now cmake takes snippets of code, completes them into compilable sources, builds them,
...
executes them and stores their output in files.
2007-12-21 09:30:32 +00:00
Benoit Jacob
ee3410f79a
renaming (commit in order to avoid svn breakage)
2007-12-21 09:05:41 +00:00
Benoit Jacob
04e3512eb6
first version of CMakeLists auto-generating examples outputs
2007-12-21 09:02:24 +00:00
Benoit Jacob
64f5d5d318
move the documentation to doc/, add dummy documentation to srcdir/ compiling to
...
an explanation of how to generate the docs
2007-12-21 07:30:15 +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
Benoit Jacob
647a817b2e
more documentation and examples, add Doxyfile and Mainpage.dox and also
...
the benchmark program
2007-12-20 21:11:05 +00:00
Benoit Jacob
cddeeee17d
- make RowsAtCompileTime and ColsAtCompileTime public in
...
MatrixBase and private in derived types
- initial documentation in MatrixBase
2007-12-19 09:30:53 +00:00
Benoit Jacob
59be5c3124
enforce constness in map(), do only one const_cast, and improve API
2007-12-19 08:14:00 +00:00
Benoit Jacob
8bb98a80b4
split the coeffs accessors/mutators into a separate Coeffs.h file
2007-12-18 16:02:14 +00:00
Benoit Jacob
3380429e3a
Improve the "map" API and corresponding Matrix constructors
2007-12-18 15:29:28 +00:00
Benoit Jacob
a32690a222
Eval is read-only, don't generate any assignment operator
2007-12-18 12:12:37 +00:00
Benoit Jacob
2c656c51e6
add matrix constructor taking an array. update unit-tests.
2007-12-18 08:56:18 +00:00
Benoit Jacob
53040f53d9
add constructors and accessors/mutators specific to small vectors.
...
Add corresponding unit-test.
2007-12-17 20:51:40 +00:00
Benoit Jacob
f75a0c5179
some more cleanup and reorganisation
2007-12-17 07:25:11 +00:00
Benoit Jacob
9314b8e024
Some cleanup and renaming.
2007-12-16 12:41:37 +00:00
Benoit Jacob
7c38475291
-add Ones, DiagonalMatrix, DiagonalCoeffs
...
-expand and improve unit-tests
-various renaming and improvements
2007-12-15 18:16:30 +00:00
Benoit Jacob
fc7b2b5c20
expand unit-tests and fix const-qualifaction bugs thus discovered
2007-12-12 17:48:20 +00:00
Benoit Jacob
e9a458a7a5
Split the global math functions out of NumTraits.h
2007-12-12 16:57:12 +00:00
Benoit Jacob
7ddc13b9fa
use a more c++-ish way of preventing the compiler from generating default operator=
...
when it's not wanted. Thanks to Christian Mayer for the tip.
2007-12-12 16:52:17 +00:00
Benoit Jacob
fa8009c6b7
1) remove EIGEN_UNUSED, instead use non-named arguments.
...
2) use T instead of const T& when that makes more sense
Thanks to Christian Mayer a.k.a Mekhzolan for the tips.
2007-12-11 15:25:43 +00:00
Benoit Jacob
0cbdaf6bb8
revert most of my previous commit. forcing the compiler to inline only increased
...
its memory usage.
2007-12-11 14:57:42 +00:00