Commit Graph

2660 Commits

Author SHA1 Message Date
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