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
Benoit Jacob
936b0de9cc
play with inlining to get better performance when the compiler is not asked to optimize
2007-12-11 13:14:14 +00:00
Benoit Jacob
8117c9aa83
oops, forgot to commit that change
2007-12-11 10:48:35 +00:00
Benoit Jacob
0a7086f1ec
rename CopyHelper into OperatorEquals, get rid of the auxiliary _copy_helper() method,
...
and make sure copies are always done in column-dominant order
2007-12-11 10:19:49 +00:00
Benoit Jacob
2b20814ced
Expand and improve unit-tests
2007-12-11 10:07:18 +00:00
Benoit Jacob
d50ce24dd9
rework asserts system so as to minimize the impact of debugging code on performance
2007-12-11 10:06:43 +00:00
Benoit Jacob
effaee9bc7
fix bugs in Block/DynBlock
2007-12-11 10:05:50 +00:00
Benoit Jacob
fc924bc7d4
specialize for Size==0 in order to catch user bugs and not clutter
...
the compiler output with an infinite recursion. Also add a #define switch
for loop unrolling.
2007-12-11 10:04:39 +00:00
Benoit Jacob
9d51572cbe
rework the random numbers API
2007-12-11 10:02:48 +00:00
Benoit Jacob
c58c892e25
had forgotten to 'svn add' that file...
2007-12-05 08:57:23 +00:00
Benoit Jacob
68eba600b1
big reorganisation of asserts, so that:
...
0) asserts are only done in the public API, except for a few ones explicitly
named eigen_internal_assert.
1) internal asserts are disabled unless EIGEN_INTERNAL_DEBUGGING is defined.
This limits the impact of debugging on performance.
2) no 'unused argument' warnings anymore when compiling with -DNDEBUG
2007-12-05 08:56:42 +00:00