aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc
Commit message (Collapse)AuthorAge
* - many updates after Cwise changeGravatar Benoit Jacob2008-07-08
| | | | | - fix compilation in product.cpp with std::complex - fix bug in MatrixBase::operator!=
* * vectorize dot product, copying code from sum.Gravatar Benoit Jacob2008-06-24
| | | | | | | | | | | | | | | * make the conj functor vectorizable: it is just identity in real case, and complex doesn't use the vectorized path anyway. * fix bug in Block: a 3x1 block in a 4x4 matrix (all fixed-size) should not be vectorizable, since in fixed-size we are assuming the size to be a multiple of packet size. (Or would you prefer Vector3d to be flagged "packetaccess" even though no packet access is possible on vectors of that type?) * rename: isOrtho for vectors ---> isOrthogonal isOrtho for matrices ---> isUnitary * add normalize() * reimplement normalized with quotient1 functor
* fix building of examplesGravatar Gael Guennebaud2008-06-03
|
* - get the doc of the enums in MatrixBase rightGravatar Benoit Jacob2008-06-03
| | | | | | | | | - get the doc of the flags in Constants right - finally give up with SEPARATE_MEMBER_PAGES: it triggers too big Doxygen bugs, and produces too many small pages. So we have one huge page for MatrixBase at currently 300kb and going up, so the solution especially for users with low bandwidth will be to provide an archive of the html documentation.
* big changes in Doxygen configuration; work around bug with doxygen parsing ofGravatar Benoit Jacob2008-06-02
| | | | | initialized enum values showing the last word the initializer instead of the actual enum value's name; add some more docs.
* work around Doxygen bug triggered by r814874, which caused many classes to ↵Gravatar Benoit Jacob2008-06-02
| | | | | | disappear from the docs.
* doc improvements: fix linking in Mainpage.dox, improved Doxyfile.inGravatar Benoit Jacob2008-06-02
|
* meagre outcome for so much time spent!Gravatar Benoit Jacob2008-06-01
| | | | | | * fix inverse() bug discovered by Gael's test * fix warnings introduced by the new Diagonal stuff * update Doxyfile to v1.5.6
* many small fixes and documentation improvements,Gravatar Benoit Jacob2008-05-29
| | | | this should be alpha5.
* * find the proper way of nesting the expression in Flagged:Gravatar Benoit Jacob2008-05-28
| | | | | | | | | | | | | finally that's more subtle than just using ei_nested, because when flagging with NestByValueBit we want to store the expression by value already, regardless of whether it already had the NestByValueBit set. * rename temporary() ----> nestByValue() * move the old Product.h to disabled/, replace by what was ProductWIP.h * tweak -O and -g flags for tests and examples * reorder the tests -- basic things go first * simplifications, e.g. in many methoeds return derived() and count on implicit casting to the actual return type. * strip some not-really-useful stuff from the heaviest tests
* some documentation fixes (Cwise* and Cholesky)Gravatar Gael Guennebaud2008-05-22
|
* removed "sort brief" in doxygen documentationGravatar Gael Guennebaud2008-05-08
|
* * Start of the LU module, with matrix inversion already there andGravatar Benoit Jacob2008-04-14
| | | | | | fully optimized. * Even if LargeBit is set, only parallelize for large enough objects (controlled by EIGEN_PARALLELIZATION_TRESHOLD).
* * Add fixed-size template versions of corner(), start(), end().Gravatar Benoit Jacob2008-04-12
| | | | | | | * Use them to write an unrolled path in echelon.cpp, as an experiment before I do this LU module. * For floating-point types, make ei_random() use an amplitude of 1.
* -new: recursive costs system, useful to determine automaticallyGravatar Benoit Jacob2008-04-03
| | | | | | | | when to evaluate arguments and when to meta-unroll. -use it in Product to determine when to eval args. not yet used to determine when to unroll. for now, not used anywhere else but that'll follow. -fix badness of my last commit
* - remove Eval/EvalOMP (moving them to a disabled/ subdir in orderGravatar Benoit Jacob2008-03-31
| | | | | | | to preserve SVN history). They are made useless by the new ei_eval_unless_lazy. - introduce a generic Eval member typedef so one can do e.g. T t; U u; Product<T, U>::Eval m; m = t*u;
* look at that subtle difference in Product.h...Gravatar Benoit Jacob2008-03-26
| | | | | | | | | the cacheOptimal is only good for large enough matrices. When taking a block in a fixed-size (hence small) matrix, the SizeAtCompileTime is Dynamic hence that's not a good indicator. This example shows that the good indicator is MaxSizeAtCompileTime. Result: +10% speed in echelon.cpp
* * add Gael copyright lines on 2 more filesGravatar Benoit Jacob2008-03-26
| | | | | | | * macro renaming: EIGEN_NDEBUG becomes EIGEN_NO_DEBUG as this is much better (and similar to Qt) and EIGEN_CUSTOM_ASSERT becomes EIGEN_USE_CUSTOM_ASSERT * protect Core header by a EIGEN_CORE_H
* * #define EIGEN_NDEBUG now also disables asserts. UsefulGravatar Benoit Jacob2008-03-26
| | | | | | | | | | | | to disable eigen's asserts without disabling one's own program's asserts. Notice that Eigen code should now use ei_assert() instead of assert(). * Remove findBiggestCoeff() as it's now almost redundant. * Improve echelon.cpp: inner for loop replaced by xprs. * remove useless "(*this)." here and there. I think they were first introduced by automatic search&replace. * fix compilation in Visitor.h (issue triggered by echelon.cpp) * improve comment on swap().
* * cleanup: in public api docs, don't put \sa links to \internal things.Gravatar Benoit Jacob2008-03-17
| | | | | | | | | | | (the global funcs in MathFunctions.h and Fuzzy.h don't count as internal). * Mainpage.dox. Add a few prospective Eigen users; change the recommended -finline-limit from 10000 to 1000. The reason is: it could be harmful to have a too big value here, couldn't it? (e.g. exceedingly large executables, cache misses). Looking at gcc, a value of 900 would exactly mean "determine the inlining of all functions as if they were marked with 'inline' keyword". So a value of 1000 seems a reasonable round number. In the benchmark that motivated this (TestEigenSolvers) a value of 400 is enough on my system.
* update to fix compilationGravatar Benoit Jacob2008-03-16
|
* - expand MathFunctions.h to provide more functions, like exp, log...Gravatar Benoit Jacob2008-03-14
| | | | | | | | | | | - add cwiseExp(), cwiseLog()... --> for example, doing a gamma-correction on a bitmap image stored as an array of floats is a simple matter of: Eigen::Map<VectorXf> m = VectorXf::map(bitmap,size); m = m.cwisePow(gamma); - apidoc improvements, reorganization of the \name's - remove obsolete examples - remove EIGEN_ALWAYS_INLINE on lazyProduct(), it seems useless.
* get rid of MatrixRef, simplifications.Gravatar Benoit Jacob2008-03-13
|
* a lot of renamingGravatar Benoit Jacob2008-03-13
| | | | | | | | 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...
* Removed Column and Row in favor of BlockGravatar Gael Guennebaud2008-03-12
|
* fix compilation (forgot to update that file after last big change)Gravatar Benoit Jacob2008-03-12
|
* big change: MatrixBase only takes one template parameter "Derived", theGravatar Benoit Jacob2008-03-10
| | | | | | 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.
* * basic support for multicore CPU via a .evalOMP() whichGravatar Gael Guennebaud2008-03-09
| | | | | internaly uses OpenMP if enabled at compile time. * added a bench/ folder with a couple benchmarks and benchmark tools.
* Extended the comma initializer to support xpr on the right side:Gravatar Gael Guennebaud2008-03-08
| | | | | | Matrix3i mat; Vector2i vec(33,66); mat << vec.transpose(), 99, vec, Matrix2i::random();
* * Added support for a comma initializer: mat.block(i,j,2,2) << 1, 2, 3, 4;Gravatar Gael Guennebaud2008-03-08
| | | | | | | | | | If the number of coefficients does not match the matrix size, then an assertion is raised. No support for xpr on the right side for the moment. * Added support for assertion checking. This allows to test that an assertion is indeed raised when it should be. * Fixed a mistake in the CwiseUnary example.
* * coefficient wise operators are more generic, with controllable result type.Gravatar Gael Guennebaud2008-03-06
| | | | | | - compatible with current STL's functors as well as with the extention proposal (TR1) * thanks to the above, Cast and ScalarMultiple have been removed * benchmark_suite is more flexible (compiler and matrix size)
* renaming: ref() --> asArg()Gravatar Benoit Jacob2008-03-04
|
* * Eigen compiles with any GCC versions from, at least, 3.3 without the ↵Gravatar Gael Guennebaud2008-03-04
| | | | | | previous ugly hack :) * Renamed the scalar functors with the "Scalar" prefix (instead of "Cwise")
* * Added generic unary operators (replace Opposite and Conjugate)Gravatar Gael Guennebaud2008-03-03
| | | | | | | | | | | * 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
* release alpha4, Gael editionGravatar Benoit Jacob2008-02-29
|
* Patch by Gael Guennebaud: unify fixed-size and dynamic-size BlockGravatar Benoit Jacob2008-02-29
| | | | expressions, update documentation.
* Relicense --> dual-license LGPL3+/GPL2+Gravatar Benoit Jacob2008-02-28
|
* prefix global functions with ei_ as previous solution was ratherGravatar Benoit Jacob2008-02-28
| | | | fragile. also fix compilation with g++ 4.3.
* alpha 3.1. in this commit:Gravatar Benoit Jacob2008-01-15
| | | | | | | | | - 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
* final fixes and updates for alpha3Gravatar Benoit Jacob2008-01-13
|
* documentation update for alpha 3Gravatar Benoit Jacob2008-01-13
|
* big improvement of the block-manipulation APIGravatar Benoit Jacob2008-01-13
| | | | | | | - 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
* renaming:Gravatar Benoit Jacob2008-01-13
| | | | | | | Block -> FixedBlock DynBlock -> Block indeed, previous commit solves the main issue with DynBlock so is should now be the more commonly used one.
* big architecture change dissociating "actual" dimensions from "maximum possible"Gravatar Benoit Jacob2008-01-13
| | | | | | | 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.
* rework Identity API: no longer restricted to square matricesGravatar Benoit Jacob2008-01-11
|
* -add set...() methods and their documentation; remove GenericGravatar Benoit Jacob2008-01-11
| | | | | | -use row-major traversal when the number of columns is fixed and the number of rows is dynamic -other minor changes
* switch to enums everywhereGravatar Benoit Jacob2008-01-10
|
* TODO is now on techbaseGravatar Benoit Jacob2008-01-09
|
* Ready for alpha2 release.Gravatar Benoit Jacob2008-01-07
| | | | | | - complete documentation - add TODO - update copyright years
* - move: DerivedTraits becomes MatrixBase::TraitsGravatar Benoit Jacob2008-01-06
| | | | | | - the static constants are private again in the Derived classes - more documentation and code snippets - new isDiagonal() method