| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
| |
Until now, the user had to edit the source code to do that.
Internally, add EIGEN_ALIGN that takes into account both EIGEN_DONT_ALIGN.and
EIGEN_ARCH_WANTS_ALIGNMENT. From now on, only EIGEN_ALIGN should be used to
test whether we want to align.
|
|
|
|
| |
* Some more CoeffReturnType changes
|
|
|
|
|
|
|
| |
* set AutoAlign=0, DontAlign!=0
* set Dynamic=33331
* add check on fixed sizes
* bump version to 2.0.52
|
|
|
|
|
|
|
| |
disable them (-DEIGEN_FAST_MATH=0)
* add a specialization of MatrixBase::operator*(RealScalar) for fast
"matrix of complex" times scalar products (even more useful for
autodiff scalar types)
|
| |
|
| |
|
|
|
|
| |
too high
|
| |
|
| |
|
|
|
|
|
|
|
| |
DiagonalCoeffs. The current API is simply:
m.diagonal<1>() => 1st super diagonal
m.diagonal<-2>() => the 2nd sub diagonal
I'll add a code snippet once we agree on this API.
|
|
|
|
|
|
|
| |
SSE or AltiVec
This should remove most portability issues to other platforms where data alignment issues (including
overloading operator new and new[]) can be tricky, and where data alignment is not needed in the first place.
|
|
|
|
| |
EIGEN_MINOR_VERSION to 50
|
| |
|
|
|
|
| |
warning found by gcc-svn
|
|
|
|
|
|
|
|
|
|
| |
* try to be clever in matrix ctors and operator=: be lazy when we can, always allow
to copy rowvector into columnvector, check the template parameters,
try to factor the code better
* add missing copy ctor in UnalignedType
* fix bug in the traits of DiagonalProduct
* renaming: EIGEN_TUNE_FOR_CPU_CACHE_SIZE
* update the dox a little
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
easier to have a uniform requirement in kdesupport for when he makes
fixes.
* add eigen versioning macros
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
order, one bit for enabling/disabling auto-alignment. If you want to
disable, do:
Matrix<float,4,1,Matrix_DontAlign>
The Matrix_ prefix is the only way I can see to avoid
ambiguity/pollution. The old RowMajor, ColMajor constants are
deprecated, remain for now.
* this prompted several improvements in matrix_storage. ei_aligned_array
renamed to ei_matrix_array and moved there. The %16==0 tests are now
much more centralized in 1 place there.
* unalignedassert test: updated
* update FindEigen2.cmake from KDElibs
* determinant test: use VERIFY_IS_APPROX to fix false positives; add
testing of 1 big matrix
|
|
|
|
|
|
| |
* use _mm_malloc/_mm_free on other platforms than linux of MSVC (eg., cygwin, OSX)
* replace a lot of inline keywords by EIGEN_STRONG_INLINE to compensate for
poor MSVC inlining
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Derived to MatrixBase.
* the optimization of eval() for Matrix now consists in a partial
specialization of ei_eval, which returns a reference type for Matrix.
No overriding of eval() in Matrix anymore. Consequence: careful,
ei_eval is no longer guaranteed to give a plain matrix type!
For that, use ei_plain_matrix_type, or the PlainMatrixType typedef.
* so lots of changes to adapt to that everywhere. Hope this doesn't
break (too much) MSVC compilation.
* add code examples for the new image() stuff.
* lower a bit the precision for floats in the unit tests as
we were already doing some workarounds in inverse.cpp and we got some
failed tests.
|
| |
|
|
|
|
|
| |
* fix some "unused variable" warnings in the tests; there remains a libstdc++ "deprecated"
warning which I haven't looked much into
|
|
|
|
| |
Can set it to 0 to disable stack alloc which guarantees that bad alloc throws exceptions if they are enabled.
|
|
|
|
| |
Berres.
|
| |
|
|
|
|
|
|
| |
thanks to devurandom for reporting
* remove redundant ; in ei_internal_assert
* minor fixes in InsideEigenExample.dox
|
| |
|
| |
|
|
|
|
|
| |
* let user change default format by defining EIGEN_DEFAULT_IO_FORMAT
* improve docs a little
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* rename Cholesky to LLT
* rename CholeskyWithoutSquareRoot to LDLT
* rename MatrixBase::cholesky() to llt()
* rename MatrixBase::choleskyNoSqrt() to ldlt()
* make {LLT,LDLT}::solve() API consistent with other modules
Note that we are going to keep a source compatibility untill the next beta release.
E.g., the "old" Cholesky* classes, etc are still available for some time.
To be clear, Eigen beta2 should be (hopefully) source compatible with beta1,
and so beta2 will contain all the deprecated API of beta1. Those features marked
as deprecated will be removed in beta3 (or in the final 2.0 if there is no beta 3 !).
Also includes various updated in sparse Cholesky.
|
|
|
|
|
| |
* clean ugly doxygen inheritence of expressions
* keep improving the documentation... slowly !
|
|
|
|
|
|
|
|
|
| |
to eigen mechanism)
* added a meta.cpp unit test
* EIGEN_TUNE_FOR_L2_CACHE_SIZE now represents L2 block size in Bytes (whence the ei_meta_sqrt...)
* added a CustomizeEigen.dox page
* added a TOC to QuickStartGuide.dox
|
|
|
|
|
|
|
| |
* replaced the Flags template parameter of Matrix by StorageOrder
and move it back to the 4th position such that we don't have to
worry about the two Max* template parameters
* extended EIGEN_USING_MATRIX_TYPEDEFS with the ei_* math functions
|
|
|
|
|
|
|
|
|
| |
asm("...") from the code while fixing MSVC compat (so your changes crossed
one another).
- move the pragma warning to CoreDeclarations, it's the right place to do early
platform checks.
CCMAIL:ps_ml@gmx.de
|
| |
|
|
|
|
| |
* Fix on stack memory allocation issues
|
|
|
|
| |
still fail at runtime in ei_aligned_free() (even without vectorization).
|
|
|
|
| |
compatibility.
|
|
|
|
|
|
|
|
|
| |
* fix .normalized() so that Random().normalized() works; since the return
type became complicated to write down i just let it return an actual
vector, perhaps not optimal.
* add Sparse/CMakeLists.txt. I suppose that it was intentional that it
didn't have CMakeLists, but in <=2.0 releases I'll just manually remove
Sparse.
|
|
|
|
|
|
|
|
|
|
| |
pivoting for better numerical stability. For now the only application is
determinant.
* New determinant unit-test.
* Disable most of Swap.h for now as it makes LU fail (mysterious).
Anyway Swap needs a big overhaul as proposed on IRC.
* Remnants of old class Inverse removed.
* Some warnings fixed.
|
|
|
|
|
|
|
| |
Removed EulerAngles, addes typdefs for Quaternion and AngleAxis,
and added automatic conversions from Quaternion/AngleAxis to Matrix3 such that:
Matrix3f m = AngleAxisf(0.2,Vector3f::UnitX) * AngleAxisf(0.2,Vector3f::UnitY);
just works.
|
|
|
|
|
|
|
|
| |
* rework PacketMath and DummyPacketMath, make these actual template
specializations instead of just overriding by non-template inline
functions
* introduce ei_ploadt and ei_pstoret, make use of them in Map and Matrix
* remove Matrix::map() methods, use Map constructors instead.
|
|
|
|
|
| |
* fix a couple of compilation issues when unrolling is disabled
* reduce default unrolling limit to a more reasonable value
|
|
|
|
| |
this should be alpha5.
|
|
|
|
|
|
| |
in MatrixBase work
* removed product_selector and cleaned Product.h a bit
* cleaned Assign.h a bit
|
|
|
|
|
|
|
|
|
|
|
| |
was a sign that we were doing something wrong. In fact, having
NestByValue as a special case of Flagged was wrong, and the previous
commit, while not buggy, was inefficient because then when the resulting
NestByValue xpr was nested -- hence copied -- the original xpr which was
already nested by value was copied again; hence instead of 1 copy we got
3 copies.
The solution was to ressuscitate the old Temporary.h (renamed
NestByValue.h) as it was the right approach.
|