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
Benoit Jacob
b569216dc3
remove useless default argument values
2007-12-05 07:44:57 +00:00
Benoit Jacob
1a94c28bfe
and here is the fixed-size Block class
2007-12-05 07:39:26 +00:00
Benoit Jacob
04502cccd9
rename Block to DynBlock and rework API to make place for
...
upcoming fixed-size Block matrix. Also some cleanup.
2007-12-05 07:22:22 +00:00