26 Commits

Author SHA1 Message Date
Benoit Jacob
fe569b060c get rid of MatrixRef, simplifications. 2008-03-13 20:36:01 +00:00
Benoit Jacob
afc64f3332 a lot of renaming
internal classes: AaBb -> ei_aa_bb
IntAtRunTimeIfDynamic -> ei_int_if_dynamic
unify UNROLLING_LIMIT (there was no reason to have operator= use
a higher limit)
etc...
2008-03-13 09:33:26 +00:00
Gael Guennebaud
35bce20954 Removed Column and Row in favor of Block 2008-03-12 18:10:52 +00:00
Benoit Jacob
2ee68a074e generalized ei_traits<>.
Finally the importing macro is named EIGEN_BASIC_PUBLIC_INTERFACE
because it does not only import the ei_traits, it also makes the base class
a friend, etc.
2008-03-12 17:17:36 +00:00
Benoit Jacob
01572b9f54 big change: MatrixBase only takes one template parameter "Derived", the
template parameter "Scalar" is removed. This is achieved by introducting a
template <typename Derived> struct Scalar to achieve a forward-declaration of
the Scalar typedefs.
2008-03-10 17:23:11 +00:00
Benoit Jacob
861c6f4c9b renaming: ref() --> asArg() 2008-03-04 17:08:23 +00:00
Gael Guennebaud
f65cca5d1d * Eigen compiles with any GCC versions from, at least, 3.3 without the previous ugly hack :)
* Renamed the scalar functors with the "Scalar" prefix (instead of "Cwise")
2008-03-04 12:34:58 +00:00
Gael Guennebaud
46885d33bf Removed trailling spaces. 2008-03-03 11:02:52 +00:00
Gael Guennebaud
255689231d * Added generic unary operators (replace Opposite and Conjugate)
* functor templates are not template template parameter anymore
   (this allows to make templated functors !)
 * Main page: extented compiler discussion
 * A small hack to support gcc 3.4 and 4.0 (see the main page)
 * Fix a cast type issue in Cast
 * Various doxygen updates (mainly Cwise stuff and added doxygen groups
   in MatrixBase to split the huge memeber list, still not perfect though)
 * Updated Gael's email address
2008-03-03 10:52:44 +00:00
Benoit Jacob
a2f8d4be6a Patch by Gael Guennebaud: coeff-wise binary operators.
This unifies + and - and moreover this patch introduces
coeff-wise * and / based on this. Also, corresponding test.
2008-02-29 14:35:14 +00:00
Benoit Jacob
f12e9c53ac Patch by Gael Guennebaud: unify fixed-size and dynamic-size Block
expressions, update documentation.
2008-02-29 13:56:40 +00:00
Benoit Jacob
3698d8cf33 Relicense --> dual-license LGPL3+/GPL2+ 2008-02-28 15:44:45 +00:00
Benoit Jacob
c67e717404 alpha 3.1. in this commit:
- finally get the Eval stuff right. get back to having Eval as
  a subclass of Matrix with limited functionality, and then,
  add a typedef MatrixType to get the actual matrix type.
- add swap(), findBiggestCoeff()
- bugfix by Ramon in Transpose
- new demo: doc/echelon.cpp
2008-01-15 13:55:47 +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
45a4b61b5f switch to enums everywhere 2008-01-10 20:45:35 +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
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
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
dfdad129a3 move Core/ to a src/ subdir, in preparation for following changes 2007-12-28 16:00:55 +00:00