| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
| |
DenseBase::setZero(NoChange_t, Index)
DenseBase::setZero(Index, NoChange_t)
DenseBase::setOnes(NoChange_t, Index)
DenseBase::setOnes(Index, NoChange_t)
DenseBase::setRandom(NoChange_t, Index)
DenseBase::setRandom(Index, NoChange_t)
This closes #663.
|
| |
|
|
|
|
|
|
|
|
|
| |
to CwiseNullaryExpr such that functors have only to implement the operators that matters among:
operator()()
operator()(i)
operator()(i,j)
Linear access is also automatically detected based on the availability of operator()(i,j).
|
|
|
|
| |
instead of the expression type.
|
| |
|
| |
|
|
|
|
| |
thread-safe)
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
DenseStorageBase -> PlainObjectBase
|
| |
|
|
|
|
|
| |
- mv Array/* into Core/
- merge Functors.h files, and move Norms.h into Dot.h
|
|
|
|
|
|
|
|
|
| |
functions
are provided to handle not suported types seemlessly.
Added a generic null-ary expression with null-ary functors. They replace
Zero, Ones, Identity and Random.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently only the following platform/operations are supported:
- SSE2 compatible architecture
- compiler compatible with intel's SSE2 intrinsics
- float, double and int data types
- fixed size matrices with a storage major dimension multiple of 4 (or 2 for double)
- scalar-matrix product, component wise: +,-,*,min,max
- matrix-matrix product only if the left matrix is vectorizable and column major
or the right matrix is vectorizable and row major, e.g.:
a.transpose() * b is not vectorized with the default column major storage.
To use it you must define EIGEN_VECTORIZE and EIGEN_INTEL_PLATFORM.
|
|
|
|
|
|
|
|
|
|
| |
useless copies are made when evaluating nested expressions.
Changes:
- kill LazyBit, introduce EvalBeforeNestingBit and EvalBeforeAssigningBit
- product and random don't evaluate immediately anymore
- eval() always evaluates
- change the value of Dynamic to some large positive value,
in preparation of future simplifications
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
-- currently 3 flags: RowMajor, Lazy and Large
-- only RowMajor actually used for now
* many minor improvements
|
|
|
|
|
|
|
|
|
|
|
|
| |
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().
|
| |
|
|
|
|
|
|
|
|
| |
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...
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
previous ugly hack :)
* Renamed the scalar functors with the "Scalar" prefix (instead of "Cwise")
|
| |
|
|
|
|
| |
fragile. also fix compilation with g++ 4.3.
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
-use row-major traversal when the number of columns is fixed
and the number of rows is dynamic
-other minor changes
|
| |
|
|
|
|
|
|
| |
- complete documentation
- add TODO
- update copyright years
|
|
|
|
|
|
| |
- the static constants are private again in the Derived classes
- more documentation and code snippets
- new isDiagonal() method
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
CCMAIL:eigen@lists.tuxfamily.org
|
|
|
|
|
|
|
| |
Honor this preference in operator=.
- add several methods to the API
- rework API for diagonal matrices
- add benchmarking code
|
| |
|
|
|
|
|
|
| |
satisfactory
default copy constructor; remove useless static_cast's; some misc cleanup.
|
|
|