Commit Graph

2716 Commits

Author SHA1 Message Date
Keir Mierle
2d4fee0b40 Fix out-of-range int constant in 4x4 inverse.
(transplanted from 45bcad41b4
)
2012-01-05 23:15:09 -08:00
Gael Guennebaud
e7ef367db1 suppress unused variable warnings 2012-01-06 09:02:06 +01:00
Gael Guennebaud
bdee0c9baa set the default number of iteration to the size of the problem 2011-12-27 16:38:05 +01:00
Gael Guennebaud
8171adb7ff fix bug #398, the quaternion returned by slerp was not always normalized,
add a proper unit test for slerp
2011-12-23 22:39:32 +01:00
Gael Guennebaud
e3e39ea26d suppress an 'unused variable' warning 2011-12-22 14:06:16 +01:00
Gael Guennebaud
2c03e6fccc evaluate 1D sparse expressions into SparseVector and make the sparse operator<< and dot honor nested types 2011-12-22 14:01:06 +01:00
Gael Guennebaud
7f04845023 fix assignment of a row-major sparse vector to a column major sparse one 2011-12-22 11:53:47 +01:00
Gael Guennebaud
e4cea957df fix bug #391: prune was for compressed format only, now it also turns the matrix into compressed form 2011-12-20 18:37:24 +01:00
Gael Guennebaud
7e866c447f fix bug #391: improper stream output for uncompressed mode, also avoid double debugging outputs for column major matrices 2011-12-20 18:31:00 +01:00
Gael Guennebaud
50d756b9ea fix bug #394: innerVector::nonZeros() was broken for uncompressed mode 2011-12-20 18:10:02 +01:00
Gael Guennebaud
fcc966b40d workaround doxygen limitation to follow the base class of PlainObjectBase 2011-12-19 22:13:11 +01:00
Gael Guennebaud
33e52a3943 rm local fill-in ratio estimation (was broken sometimes) 2011-12-16 16:29:46 +01:00
Gael Guennebaud
732a50d043 implement a more optimistic heuristic to predict the nnz of a saprse*sparse product 2011-12-16 15:59:44 +01:00
Gael Guennebaud
40c0f3af57 fig bug #396: add a static assertion on the storage order of a sparse-sparse coeff-wise binary op 2011-12-15 19:23:20 +01:00
Jitse Niesen
3db6455896 Remove evaluators for 2.1 release.
We plan to re-instate them when we branch 2.2 (see bug #388).
2011-12-14 21:23:43 +00:00
Jitse Niesen
1e7712771e Remove asserts that eigenvalue computation has converged (bug #354). 2011-12-12 17:17:38 +00:00
Gael Guennebaud
d738bedc5b remove redundant declaration (fix compilation with clang 3.0) 2011-12-11 11:45:03 +01:00
Gael Guennebaud
f60e6f5ee8 s/compressed()/isCompressed() 2011-12-10 23:08:10 +01:00
Gael Guennebaud
594fd2d11d Cholmod: add support for uncompressed SparseMatrix objects 2011-12-10 22:53:31 +01:00
Gael Guennebaud
105e170d8b trivial compilation fix 2011-12-10 16:17:12 +01:00
Gael Guennebaud
2600ba1731 feature 297: s/intersectionPoint/pointAt, fix documentation, add a unit test 2011-12-10 12:17:42 +01:00
Andy Somerville
c06ae325a4 feature 297: add ParametrizedLine::intersectionPoint() and intersectionParam()
-> intersection() is deprecated
2011-12-10 11:58:38 +01:00
Igor Krivenko
36457178f9 bug #352:properly cast constants 2011-12-09 23:38:41 +01:00
Gael Guennebaud
d400a6245e fix compilation with EIGEN_NO_DEBUG 2011-12-09 23:42:39 +01:00
Gael Guennebaud
38277e8a9b feature 319: fix LDLT::rankUpdate for complex/upper, simply the algortihm, update copyrights 2011-12-09 23:08:38 +01:00
Tim Holy
2d7c3eea53 feature 319: Add update and downdate functionality to LDLT 2011-12-09 21:04:44 +01:00
Gael Guennebaud
37f304a2e6 add a "using MKL" documentation page, add a minimal documentation of PARDISO wrapper classes, refine a bit the EIGEN_USE_* logic 2011-12-09 16:52:37 +01:00
Sebastian Lipponer
fff25a4b46 Fix MSVC integer overflow warning 2011-12-09 10:39:10 +00:00
Gael Guennebaud
57c6bfba08 add missing CMakeLists.txt 2011-12-09 10:53:12 +01:00
Gael Guennebaud
10447a7b57 mv blas.h to src/misc such that it would be possible to use any blas libraries,
however, this requires some more works:
 - add const qualifiers in the declarations of blas.h
 - add the possibility to add a suffix to blas function names
2011-12-09 10:40:35 +01:00
Gael Guennebaud
43cdd242d0 - split and rename defined tokens to enable the use of BLAS/Lapack/VML/etc
- include MKL headers outside the Eigen namespace.
2011-12-09 10:06:49 +01:00
karturov
015c331252 Intel(R) MKL support added.
* * *
License disclaimer changed to BSD license for MKL_support.h
* * *
Pardiso support fixed, test added.
blas/lapack tests fixed: Scalar parameter was added in Cholesky, product_matrix_vector_triangular remaned to triangular_matrix_vector_product.
* * *
PARDISO test was added physically.
2011-12-05 14:52:21 +07:00
Jitse Niesen
dd232e30b0 Document QuaternionBase, minor doc improvements.
* Document class QuaternionBase so that docs for members are displayed.
* Remove obsolete \redstar refering to Array module
* Fix typo in Constants.h
* Document EIGEN_NO_AUTOMATIC_RESIZING
2011-12-08 14:22:06 +00:00
Gael Guennebaud
e017f798eb bump 2011-12-06 15:53:17 +01:00
Gael Guennebaud
84cf1b5b1d fix QuaternionBase::cast.
It did not work with clang, and I'm unsure how it worked for gcc/msvc since QuaternionBase was introduced
2011-12-05 14:13:59 +01:00
Gael Guennebaud
9ca673daed fix compilation with clang 2011-12-05 12:50:43 +01:00
Gael Guennebaud
59576014a9 fig bug #373: compilation error with clang 2.9 when exceptions are disabled (cannot reproduce with clang 3.0 or 3.1) 2011-12-05 09:44:25 +01:00
Gael Guennebaud
b60624dc2a fix bug #384: add a static assertion on the Index type which has to be signed 2011-12-04 22:14:53 +01:00
Gael Guennebaud
82f9aa194d fix bug #294: add a diagonal() method to SparseMatrix (const) 2011-12-04 21:49:21 +01:00
Gael Guennebaud
69966e90e1 fix bug #221: remove the dense to SparseVector conversion ctor. 2011-12-04 21:15:46 +01:00
Gael Guennebaud
5dc9650f11 fix bug #281: replace csparse macros by template functions 2011-12-04 19:15:23 +01:00
Gael Guennebaud
9bd902ed9c fix bug #341: trisove on MappedSparseMatrix 2011-12-04 14:57:43 +01:00
Gael Guennebaud
9353bbac4a fix bug #356: fix TriangularView::InnerIterator for unit diagonals 2011-12-04 14:39:24 +01:00
Gael Guennebaud
32917515df make the accessors to internal sparse storage part of the public API and remove their "_" prefix. 2011-12-04 12:19:26 +01:00
Gael Guennebaud
1cdbae62db add SparseVector::ReverseInnerIterator 2011-12-04 09:56:40 +01:00
Gael Guennebaud
91e392a042 add ReverseInnerIterators to loop over the elements in reverse order,
and partly fix bug #356 (issue in trisolve for upper-column major))
2011-12-03 23:49:37 +01:00
Gael Guennebaud
a09cc5d4c0 fix bug #282: add the possibiliry to shift the diagonal coefficients via a linear function. 2011-12-03 18:26:08 +01:00
Gael Guennebaud
9ae606866c Eigen2sSupport: import some fixes from the 3.0 branch (MSVC fix) 2011-12-03 17:45:07 +01:00
Gael Guennebaud
e759086dcd improve documentation of some sparse related classes 2011-12-02 19:02:49 +01:00
Gael Guennebaud
4ca89f32ed Sparse matrix insertion:
- automatically turn a SparseMatrix to uncompressed mode when calling insert(i,j).
 - now coeffRef insert a new element when it does not already exist
2011-12-02 19:00:16 +01:00
Gael Guennebaud
f10bae74e8 - move CompressedStorage and AmbiVector into internal namespace
- remove innerVectorNonZeros(j) => use innerVector(j).nonZeros()
2011-12-02 10:00:24 +01:00
Jitse Niesen
a0bcaa88af Extend tutorial page on broadcasting to reflect recent changes. 2011-12-01 21:16:07 +00:00
Gael Guennebaud
49d652c600 fix assigment from uncompressed 2011-11-30 21:55:54 +01:00
Gael Guennebaud
6b8d6887ac bug fix in SparseSelfAdjointTimeDenseProduct for empty rows or columns 2011-11-30 19:39:20 +01:00
Gael Guennebaud
00d4a360ba bug fix in SparseView::incrementToNonZero 2011-11-30 19:31:11 +01:00
Gael Guennebaud
d1b54ecfa3 add more support for uncompressed mode 2011-11-30 19:24:43 +01:00
Gael Guennebaud
cda397b117 cleanning pass on the sparse modules:
- remove outdated/deprecated code
 - improve a bit the documentation
2011-11-28 16:36:37 +01:00
Gael Guennebaud
2d621d235d fix alignment computation in Block and MapBase such that aligned means aligned on 16 bytes and nothing else
(transplanted from dcb36e3d49
)
2011-11-28 13:43:10 +01:00
Marc Glisse
8107b3da75 bug #383 - EIGEN_ASM_COMMENT broken in C++11
this is due to the new user-defined literals syntax.
2011-11-26 17:55:18 -05:00
Gael Guennebaud
2d4fe54b73 fix CG example 2011-11-24 08:19:13 +01:00
Gael Guennebaud
01b4b6e456 improve accuracy of 3x3 direct eigenvector extraction 2011-11-23 22:43:40 +01:00
Benoit Jacob
ffe6d1f901 Alignment fixes:
* Fix AlignedBit computation for Plain Objects
 * use it for the conditional alignment of operator new
 * only overload new in PlainObjectBase, don't overload again in Matrix and Array
2011-11-22 09:04:31 -05:00
Gael Guennebaud
f278a3eaba stop fill pivoting LU only if the pivot is exactly 0 2011-11-22 09:18:54 +01:00
Benoit Jacob
bc6d78982f Bugs 157 and 377 - General tightening/testing of vectorwise ops:
* add lots of static assertions making it very explicit when all these ops
are supposed to work:
** all ops require the rhs vector to go in the right direction
** all ops already require that the lhs and rhs are of the same kind
(matrix vs vector) otherwise we'd have to do complex work
** multiplicative ops (introduced Kibeom's patch) are restricted to arrays, if only because for matrices they could be ambiguous.

* add a new test, vectorwiseop.cpp.

* these compound-assign operators used to be implemented with for loops:

   for(Index j=0; j<subVectors(); ++j)
     subVector(j).array() += other.derived().array();

This didn't seem to be needed; replaced by using expressions like operator+ and operator- did.
2011-11-18 11:10:27 -05:00
Kibeom Kim
de22ad117c bug #157 - Implemented *= /= * / operations for VectorwiseOp (e.g. mat.colwise()) 2011-11-17 17:57:45 -05:00
Jitse Niesen
08c0edae86 Move EIGEN_USING_MATRIX_TYPEDEFS macros to Eigen2Support. 2011-11-16 14:32:50 +00:00
Dennis Schridde
db36e4204f [Geometry/AlignedBox] New typedefs, like for Core/Matrix
Includes 1-4 and dynamic sized boxes for int, float and double type.
Also changes the tests to use these typedefs.
2011-11-09 22:12:28 +01:00
Gael Guennebaud
8fbbbe7521 fix some include paths 2011-11-16 09:27:38 +01:00
Gael Guennebaud
cb2f1944e2 add the new module headers 2011-11-12 15:22:35 +01:00
Gael Guennebaud
53fa851724 move sparse solvers from unsupported/ to main Eigen/ and remove the "not stable yet" warning 2011-11-12 14:11:27 +01:00
Gael Guennebaud
3e4a68cc60 optimize vectorized reductions by peeling the loop:
- x2 for squaredNorm() on double
 - peeling the loop with a peeling factor of 4 leads to even better perf
   for large vectors (e.g., >64) but it makes more difficult to keep good performance on smaller ones.
2011-11-12 09:19:48 +01:00
Gael Guennebaud
c110abb7d2 fix performance issue with SPMV 2011-11-11 06:04:31 +01:00
Dennis Schridde
3a82aa1133 [Core/Matrix] Fix: Clear the right typedef macro 2011-11-09 12:25:55 +00:00
Gael Guennebaud
fb3aa7220f reimplement abs2 not to use std::norm which is incredibly slow. 2011-11-08 22:42:51 +01:00
Jitse Niesen
45a6bb34c3 Add simple example on how to compute Cholesky decomposition. 2011-11-07 17:14:06 +00:00
Marton Danoczy
f422668d39 Patches to support ARM NEON with Clang 3.0 and LLVM-GCC 2011-11-04 16:37:10 +01:00
Benoit Jacob
1b98b73472 Refactor force-inlining macros and use EIGEN_ALWAYS_INLINE to force inlining of the integer overflow helpers, whose non-inlining caused major performance problems, see the mailing list thread 'Significant perf regression probably due to bug #363 patches' 2011-11-06 16:27:41 -05:00
Benoit Jacob
ab3f138b23 In the Matrix constructor taking (rows, cols), statically assert that the types are integer.
The 2D vector ctor taking (x, y) is not concerned.
2011-11-05 23:56:48 -04:00
Gael Guennebaud
478de03bd8 fix a couple of warnings in the unit tests 2011-11-05 23:30:49 +01:00
Gael Guennebaud
1de769d122 remove deprecated assert 2011-11-04 14:42:54 +01:00
Jitse Niesen
a594ac3966 Allow for more iterations in SelfAdjointEigenSolver (bug #354).
Add an assert to guard against using eigenvalues that have not converged.
Add call to info() in tutorial example to cover non-convergence.
2011-11-02 14:18:20 +00:00
Jan Oberländer
fa7c08a831 bug #365 - Rename B0 in GeneralBlockPanelKernel.h to avoid name clash
with termios.h on POSIX systems.
2011-10-31 10:44:09 -04:00
Benoit Jacob
9df2f5c923 bug #369 - Quaternion alignment is broken
The problem was two-fold:
 * missing aligned operator new
 * Flags were mis-computed, the Aligned constant was misused
2011-10-31 09:23:41 -04:00
Adolfo Rodriguez Tsourouksdissian
4477843bdd bug #206 - part 4: Removes heap allocations from JacobiSVD and its preconditioners 2011-10-30 23:55:20 -04:00
Adolfo Rodriguez Tsourouksdissian
5e431779f3 bug #206 - part 3: Reimplement FullPivHouseholderQR<T>::matrixQ() using ReturnByValue 2011-03-08 19:04:31 +01:00
Adolfo Rodriguez Tsourouksdissian
7bf0e8cd82 bug #206 - part 2: For HouseholderSequence objects, added non-allocating versions of evalTo() and applyThisOnTheRight/Left that take additional working vector parameters. 2011-10-30 23:55:16 -04:00
Benoit Jacob
bca18a13ea The most important inline keyword ever? Without it, gcc failed to inline this function, which is called by all matrix constructors... 2011-10-25 20:45:26 -04:00
Gael Guennebaud
1ddf88060b update sparse*sparse product: the default is now a conservative algorithm preserving symbolic non zeros. The previous with auto pruning of the small value is avaible doing: (A*B).pruned() or (A*B).pruned(ref) or (A*B).pruned(ref,eps) 2011-10-24 11:44:53 +02:00
Gael Guennebaud
39d4585bff add the possiibility to disable deprectated warnings (useful for deprecated unit tests!) 2011-10-24 09:40:37 +02:00
Gael Guennebaud
70df09b76d move DynamicSparseMatrix to SparseExtra 2011-10-24 09:31:33 +02:00
Benoit Jacob
de69129f56 forgot inline keyword 2011-10-17 08:49:59 -04:00
Benoit Jacob
16b638c159 Throw std::bad_alloc even when exceptions are disabled, by doing new int[size_t(-1)].
Don't throw exceptions on aligned_malloc(0) (just because malloc's retval is null doesn't mean error, if size==0).
Remove EIGEN_NO_EXCEPTIONS option, use only compiler standard defines. Either exceptions are enabled or they aren't.
2011-10-17 08:44:44 -04:00
Benoit Jacob
dcbc985a28 bug #363 - add test for integer overflow in size computations 2011-10-16 16:12:19 -04:00
Benoit Jacob
739559b08a bug #363 - check for integer overflow in size=rows*cols computations 2011-10-16 16:12:19 -04:00
Benoit Jacob
0c6055c285 bug #363 - check for integer overflow in byte-size computations 2011-10-16 16:12:19 -04:00
Gael Guennebaud
a5761d6dd7 fix sparse tri-solve for full matrices 2011-10-11 20:35:52 +02:00
Gael Guennebaud
b94c00226f make it compatible with Diagonal<> 2011-10-11 11:28:13 +02:00
Gael Guennebaud
ae9c96a32d fix assignment to a set of sparse inner vectors 2011-10-10 16:16:37 +02:00
Gael Guennebaud
4e7f38ffc7 fix nesting 2011-10-09 22:19:01 +02:00
Jitse Niesen
ac3ad9c1e7 Convert tabs to spaces. 2011-09-27 15:47:04 +01:00
Jitse Niesen
17c321617d Fix bug #286: Infinite loop in JacobiSVD with denormals 2011-09-27 14:25:02 +01:00
Gael Guennebaud
c331c092d5 no comment 2011-09-21 14:20:41 +02:00
Gael Guennebaud
7301f4345c quick workaround of MSVC9' ICE in pset1 2011-09-21 14:18:41 +02:00
Gael Guennebaud
5d1836b182 accept both STL and Eigen's containers for reserve() 2011-09-20 02:04:03 +02:00
Jitse Niesen
2092b45d0d Bug fix for matrix1 * matrix2 * scalar1 * scalar2.
See report on http://forum.kde.org/viewtopic.php?f=74&t=96947 .
2011-09-19 15:07:19 +01:00
Jitse Niesen
6b006772f1 Fix LDLT::solve() if matrix singular but solution exists (bug #241).
Clarify this in docs and add regression test.
2011-09-11 06:30:53 +01:00
Gael Guennebaud
d52d8e4a53 reactivate the sorting in the experimental sparse-sparse product 2011-09-08 13:43:32 +02:00
Gael Guennebaud
7706bafcfd add the possibility to reserve room for inner vector in SparseMatrix 2011-09-08 13:42:54 +02:00
Jitse Niesen
477d3e5726 Update docs of PlainObjectBase::Map(); fixes bug #335.
Also fix some typos.
2011-09-03 15:18:21 +01:00
Gael Guennebaud
8414be739b fix bug #330: Index to int conversion warning 2011-08-23 11:02:10 +02:00
Gael Guennebaud
b3f5fbbd9a oops EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION now perfroms full specialization,
no need for the typename keywords
2011-08-22 10:48:04 +02:00
Gael Guennebaud
b85c89c313 fix bug #262: Compilation error of stdvector_overload test with GCC 4.6
Now our aligned allocator is automatically activatived only when the user
did not specified an allocator (or specified the default std::allocator).
2011-08-22 10:12:10 +02:00
Gael Guennebaud
42e2578ef9 the min/max macros to detect unprotected min/max were undefined by some std header,
so let's declare them after and do the respective fixes ;)
2011-08-19 14:18:05 +02:00
Gael Guennebaud
5734ee6df4 add the possibility to specialize assign_impl and still call the default implementations.
(yes I know this change will be deprecated as soon as the evaluators will be in shape but I need this now)
2011-08-18 10:19:25 +02:00
Gael Guennebaud
f162f7c323 fix a numerical issue in the direct 3x3 eigenvector extraction 2011-08-08 10:46:26 +02:00
Hauke Heibel
3431c052c6 Improved compilation errors for Transform initialization/assignment with different numeric types. 2011-07-28 09:35:17 +02:00
Gael Guennebaud
8fa7e92e77 fix sparse selfadjoint time dense such that the other triangular part is not used at all 2011-07-26 09:02:41 +02:00
Gael Guennebaud
97ac0fd192 fix eigen2 support min/max garbage 2011-07-22 11:37:41 +02:00
Gael Guennebaud
e8313364c1 simplify a bit the 2x2 direct eigenvalue solver 2011-07-22 11:21:43 +02:00
Gael Guennebaud
47a2bca89f integrate Hauke's 2x2 direct symmetric eigenvalues solver 2011-07-22 09:43:14 +02:00
Gael Guennebaud
26d7dad138 add a computeDirect method to SelfAdjointEigenSolver for fast eigen decomposition 2011-07-21 19:07:52 +02:00
Gael Guennebaud
22bff949c8 protect calls to min and max with parentheses to make Eigen compatible with default windows.h
(transplanted from 49b6e9143e
)
2011-07-21 11:19:36 +02:00
Hauke Heibel
705023fd85 Translation * RotationBase now returns an isometric transformation. 2011-07-19 11:13:40 +02:00
Gael Guennebaud
38a4e3053d fix LLT rank one update for "upper" hermitian matrices 2011-07-19 10:09:43 +02:00
Gael Guennebaud
0d02182ae8 add an "InvalidInput" enum, used by the SuperLU interface 2011-07-18 13:37:41 +02:00
Gael Guennebaud
5fdebc2fa5 fix bug #316 - SelfAdjointEigenSolver::compute does not handle matrices of size (1,1) correctly 2011-07-09 07:15:14 +02:00
Thomas Capricelli
08074843ac fix few warnings reported by clang 2011-07-07 22:20:04 +02:00
Gael Guennebaud
c98cd5e564 fix constness of intersection methods (bug #309) 2011-06-27 13:15:01 +02:00
Jitse Niesen
0b308e79c4 Add DenseStorage specializations for dynamic size with MaxSize = 0 (bug #288).
This is necessary for instantiations like Matrix<float,Dynamic,Dynamic,0,0,0>.
2011-06-24 13:47:11 +01:00
Jitse Niesen
16db255333 Fix compilation of cholesky rank update test. 2011-06-24 13:41:23 +01:00
Thomas Capricelli
9b52fe0432 fix typo in doc for ParametrizedLine 2011-06-23 00:36:24 +02:00
Gael Guennebaud
7aabce7c76 rm confusing sentence 2011-06-17 09:46:05 +02:00
Gael Guennebaud
2f32e48517 New feature: add rank one update in Cholesky decomposition 2011-06-20 15:05:50 +02:00
Gael Guennebaud
a55c27a15f fix documentation of norm 2011-06-18 08:30:34 +02:00
Benoit Jacob
aedccbf52f back out 842881cfb1 2011-06-15 09:59:10 -04:00
Andy Somerville
842881cfb1 bug #298 - let normalize() return a reference to *this 2011-06-15 00:30:11 -04:00
Gael Guennebaud
40287d2fd9 remove the use of non standard long long 2011-06-14 10:56:47 +02:00
Gael Guennebaud
f82b3ea241 fix aligned_allocator::allocate interface 2011-06-14 08:50:25 +02:00
Gael Guennebaud
6d3dee1b66 introduce a smart_copy internal function and fix sparse matrices with non POD scalar type 2011-06-09 19:04:06 +02:00
Jitse Niesen
8c8ab9ae10 Implement matrix logarithm + test + docs.
Currently, test matrix_function_1 fails due to bug #288.
2011-06-07 14:44:43 +01:00
Gael Guennebaud
91fe1507d1 Sparse: more fixes regarding long int as index type 2011-06-07 11:28:16 +02:00
Gael Guennebaud
421ece38e1 Sparse: fix long int as index type in simplicial cholesky and other decompositions 2011-06-06 10:17:28 +02:00
Jitse Niesen
7a61a564ef Fix snippets for operator|| and && by adding pair of parens. 2011-06-03 11:17:08 +01:00
Gael Guennebaud
5bc4abc45e fix compilation with MinGW 2011-06-01 12:16:21 +02:00
Gael Guennebaud
562d3ea91d forgot to include this file in previous commit 2011-06-01 10:49:36 +02:00
Gael Guennebaud
35c1158ee3 add boolean || and && operators 2011-05-31 22:17:34 +02:00
Gael Guennebaud
9464745385 do not directly call std::ceil 2011-05-28 16:46:38 +02:00
Gael Guennebaud
87ac09daa8 Simplify the use of custom scalar types, the rule is to never directly call a standard math function using std:: but rather put a using std::foo before and simply call foo:
using std::max;
max(a,b);
2011-05-25 08:41:45 +02:00
Gael Guennebaud
117d17ee58 bug #271: fix copy/paste mistakes in doc
(transplanted from 145b9cad63101ee46924d446fa8b08ffb48c7f3a)
2011-05-23 13:39:26 +02:00
Gael Guennebaud
46bee5682f clean a bit previous patch (ctor vs static_cast and a few bits) 2011-05-23 13:34:04 +02:00
David H. Bailey
074b067624 fix implicit scalar conversions (needed to support fancy scalar types, see bug #276) 2011-05-23 11:20:13 +02:00
Gael Guennebaud
7209d6a126 fix gemv_static_vector_if on architectures that cannot aligned on the stack (e.g., ARM NEON) 2011-05-21 22:15:11 +02:00
Gael Guennebaud
f2837aebc4 NEON: fix plset 2011-05-18 21:12:08 +02:00
Gael Guennebaud
85c137ccd4 NEON: fix ploaddup 2011-05-18 08:15:47 +02:00
Gael Guennebaud
179d42bb2b fix bug #267: alloca is not aligned on arm 2011-05-17 21:30:12 +02:00
Jitse Niesen
9a06055870 Store light-weight objects in evaluators by value.
This resolves failure in unit test caused by dying temporaries.
2011-05-13 14:05:59 +01:00
Jitse Niesen
e22a523021 Remove Eigen::internal::sqrt(), see bug #264. 2011-05-12 16:52:56 +01:00
John Tytgat
0aa7425f15 fix bug #260: broken Qt support for Transform
(transplanted from 84c8b6d5c5
)
2011-05-11 22:31:36 +02:00
Jitse Niesen
d7e3c949be Implement and document MatrixBase::sqrt(). 2011-05-09 22:20:20 +01:00
Jitse Niesen
0896c6d97d Get rid of wrong "subscript above bounds" warning (bug #149). 2011-05-07 18:44:11 +01:00
Gael Guennebaud
4e7e5d09e1 s/n=n/EIGEN_UNUSED_VARIABLE(n) 2011-05-06 21:29:19 +02:00
Gael Guennebaud
fb76452cbc add missing .data() members to MatrixWrapper and ArrayWrapper 2011-05-06 21:15:05 +02:00
Gael Guennebaud
97b6d26f5b fix compilation on ARM NEON (missing AlignedOnScalar) 2011-05-06 09:03:48 +02:00
Thomas Capricelli
883219041f better fix for gcc 4.6.0 / ptrdiff_t, as suggested by Benoit 2011-05-05 18:48:18 +02:00
Thomas Capricelli
a18a1be42d Fix compilation with gcc-4.6.0, patch provided by Anton Gladky <gladky.anton@gmail.com>,
working on debian packaging.
2011-05-05 00:44:24 +02:00
Jitse Niesen
012419166e Bail out if preprocessor symbol Success is defined (bug #253). 2011-05-04 14:28:45 +01:00
Jitse Niesen
cc23b0a3d9 Remove unused enums in Constants.h . 2011-05-03 17:20:54 +01:00
Jitse Niesen
a96c849c20 Document enums in Constants.h (bug #248).
To get the links to work, I also had to document the Eigen namespace.
Unfortunately, this means that the word Eigen is linked whenever it appears
in the docs.
2011-05-03 17:08:14 +01:00
Gael Guennebaud
1947da39ab fix bug #258: asin/acos copy paste mistake 2011-05-02 13:26:44 +02:00
Jitse Niesen
06fb7cf470 Implement compound assignments using evaluator of SelfCwiseBinaryOp. 2011-04-28 16:57:35 +01:00
Jitse Niesen
3b60d2dbc4 Implement swap using evaluators. 2011-04-28 15:52:15 +01:00
Jitse Niesen
2d11041e24 Use copyCoeff/copyPacket in copy_using_evaluator. 2011-04-22 22:36:45 +01:00
Jitse Niesen
3457965bf5 Implement evaluator for Diagonal. 2011-04-22 22:36:45 +01:00
Jitse Niesen
f924722f3b Implement evaluators for Reverse. 2011-04-22 22:36:45 +01:00
Jitse Niesen
bb2d70d211 Implement evaluators for ArrayWrapper and MatrixWrapper. 2011-04-22 22:36:45 +01:00
Gael Guennebaud
6441e8727b fix aligned_stack_memory_handler for null pointers 2011-04-21 09:00:55 +02:00
Mathieu Gautier
392eb9fee8 Quaternion : add Flags on Quaternion's traits with the LvalueBit set if needed
Quaternion : change PacketAccess to IsAligned to mimic other traits
test : add a test and 4 failtest on Map<const Quaternion> based on Eigen::Map ones
2011-04-12 14:49:50 +02:00
Gael Guennebaud
e87f653924 fix bug #250: compilation error with gcc 4.6 (STL header files no longer include cstddef) 2011-04-19 16:34:25 +02:00
Gael Guennebaud
67d50f539b fix bug #242: vectorization was wrongly enabled on MSVC 2005 2011-04-19 15:25:00 +02:00
Jitse Niesen
0b40b36d10 Make MapBase(PointerType) constructor explicit (fixes bug #251) 2011-04-19 12:13:04 +01:00
Benoit Jacob
820545cddb fix unaligned-array-assert link 2011-04-18 06:35:54 -04:00
Jitse Niesen
c9b5531d6c Normalize eigenvectors returned by EigenSolver (fixes bug #249)
because the documentation says that we do this.
Also, add a unit test to cover this.
2011-04-15 17:39:59 +01:00
Jitse Niesen
e654405900 Implement unrolling in copy_using_evaluator() . 2011-04-13 11:49:48 +01:00
Jitse Niesen
7e86324898 Implement evaluator for PartialReduxExpr as a dumb wrapper. 2011-04-13 09:49:10 +01:00
Jitse Niesen
11164830f5 Implement evaluator for Replicate. 2011-04-12 22:54:31 +01:00
Jitse Niesen
12a30a982f Implement evaluator for Select. 2011-04-12 22:34:16 +01:00
Jitse Niesen
88b3116b99 Decouple AssignEvaluator.h from assign_traits from Assign.h 2011-04-12 13:35:08 +01:00
Gael Guennebaud
0c146bee1b enforce no inlining of the GEBP product kernel: this is a big
function that makes no sense to inline, though GCC was thinking
the opposite. This even slighlty improve the perf. And as a side
effect this workaround a weird GCC-4.4 linking bug (see
"Problem with g++-4.4 -O2 and Eigen3" in the ML)
2011-04-07 18:49:45 +02:00
Jitse Niesen
eae5a6bb09 Decouple Cwise*Op evaluators from expression objects 2011-04-05 18:30:51 +01:00
Jitse Niesen
11ea81858a Implement evaluator for CwiseUnaryView 2011-04-05 18:20:43 +01:00
Jitse Niesen
cca7b146a2 Implement evaluator for Map 2011-04-05 18:15:59 +01:00
Gael Guennebaud
a6b5314c20 Performance tunning for TRMM products 2011-04-05 11:20:50 +02:00
Jitse Niesen
ae06b8af5c Make evaluators for Matrix and Array inherit from common base class.
This gets rid of some code duplication.
2011-04-04 15:35:14 +01:00
Jitse Niesen
afdd26f229 Do some of the actual work in evaluator for Block.
Also, add simple accessor methods to Block expression class.
2011-04-04 13:44:50 +01:00
Jitse Niesen
d90a8ee8bd Evaluators: add Block evaluator as dumb wrapper, add slice vectorization. 2011-03-31 13:50:52 +01:00
Gael Guennebaud
b471161f28 fix typo and remove unused declaration. 2011-03-31 10:02:02 +02:00
Adam Szalkowski
969e92261d fix bug #239: the essential part was left uninitialized in some cases 2011-03-31 09:54:52 +02:00
Jitse Niesen
8175fe43e0 Evaluators: Make inner vectorization more similar to default traversal. 2011-03-28 21:29:47 +01:00
Gael Guennebaud
6feb1d3c0b fix trmv for Strictly* triangular matrices and trapezoidal matrices 2011-03-28 17:42:26 +02:00
Gael Guennebaud
568478ffe5 fix trmm for some unusual trapezoidal cases (a dense set of columns or rows is zero) 2011-03-28 17:41:46 +02:00
Jitse Niesen
b175bc464f Evaluators: Implement linear traversal, better testing. 2011-03-27 22:08:48 +01:00
Jitse Niesen
1b17a674dd Evaluators: Implement inner vectorization.
The implementation is minimal (I only wrote the functions called by
the unit test) and ugly (lots of copy and pasting).
2011-03-27 13:49:15 +01:00
Jitse Niesen
5c204d1ff7 Evaluators: Implement LinearVectorizedTraversal, packet ops in evaluators. 2011-03-25 16:30:41 +00:00
Gael Guennebaud
e6fa4a267a improve computation of the sub panel width 2011-03-24 23:42:25 +01:00
Gael Guennebaud
931814d7c0 improve performance of trsm 2011-03-24 23:19:53 +01:00
Jitse Niesen
c6ad2deead Bug fix in linspace_op::packetOp(row,col). Fixes bug #232.
Also, add regression test.
2011-03-24 10:42:11 +00:00
Gael Guennebaud
42bc1f77be impl basic product evaluator on top of previous one 2011-03-24 09:33:36 +01:00
Gael Guennebaud
abc8c0821c makes evaluator test use VERIFY_IS_APPROX 2011-03-23 17:23:56 +01:00
Gael Guennebaud
816541d82c add a stupid Product<A,B> expression produced by prod(a,b), and implement a first version of its evaluator 2011-03-23 16:12:21 +01:00
Gael Guennebaud
cfd5c2d74e import evaluator works 2011-03-23 11:54:00 +01:00
Gael Guennebaud
5fda8cdfb3 fix 228 (ei_aligned_stack_delete does not exist anymore) 2011-03-21 21:59:42 +01:00
Gael Guennebaud
b8ecda5c66 clean a bit the stack allocation mechanism 2011-03-19 10:27:47 +01:00
Gael Guennebaud
290205dfc0 fix memory leak when a custom scalar throw an exception 2011-03-19 01:06:50 +01:00
Benoit Jacob
5991d247f9 bump 2011-03-18 05:27:58 -04:00
Benoit Jacob
4931a719f4 bump 2011-03-14 14:10:05 -04:00
Jitse Niesen
27f34269d5 Document EIGEN_DEFAULT_DENSE_INDEX_TYPE.
Also, expand description of EIGEN_DONT_ALIGN.
2011-03-11 11:15:44 +00:00
Benoit Jacob
dc36efbb8f fix bug #219: Map Flags AlignedBit was miscomputed, didn't account for EIGEN_ALIGN 2011-03-10 10:17:17 -05:00
Oliver Ruepp
5d1263e7c5 bug #37: fix resizing when the destination sparse matrix is row major 2011-03-08 16:37:59 +01:00
Benoit Jacob
bfcad536e8 * bug #206: correctly forward computationOptions and work towards avoiding mallocs after preallocation, with unit test.
* added EIGEN_RUNTIME_NO_MALLOC and new set_is_malloc_allowed() function to implement that test
2011-03-06 20:59:25 -05:00
Benoit Jacob
b464fc19bc try to fix a ICC 11.1 compiler error (bug #217) 2011-03-06 19:27:31 -05:00
Benoit Jacob
c541d0a62e disable ICC 12 warning 279 - controlling expression is constant 2011-03-06 19:06:44 -05:00
Benoit Jacob
56818d907e Make EIGEN_ALIGN16 always align to fix crashes with EIGEN_DONT_ALIGN_STATICALLY. New macro EIGEN_USER_ALIGN16 had the old behavior i.e. honors user preference. 2011-03-04 09:57:49 -05:00
Gael Guennebaud
4f0909b5f0 fix bug #212 (installation of Eigen2Support/Geometry) 2011-03-04 14:16:58 +01:00
Gael Guennebaud
5cec29162b fix compilation in the case of 1D Transform 2011-03-02 19:29:55 +01:00
Gael Guennebaud
703c8a0cc6 fix compilation when mixing CompactAffine with Homogeneous objects 2011-03-02 19:27:13 +01:00
Gael Guennebaud
d30f0c0953 fix transform * matrix products: in particular it now truely considers the rhs as a set of (homogeneous) points and do not neglect the homogeneous coordinates in the case of affine transform 2011-03-02 19:26:38 +01:00
Gael Guennebaud
c8e1b679fa re-enable fast pset1-pstore by introducing a new higher level pstore1 function 2011-03-02 10:55:44 +01:00
Benoit Jacob
77fc6a9914 bump 2011-02-28 00:55:52 -05:00
Benoit Jacob
eef03525b8 fix bug #203: revert to using _mm_set1_p[sd] 2011-02-28 00:04:05 -05:00
Benoit Jacob
9be2712bf7 remove now-useless comments 2011-02-27 22:35:17 -05:00
Benoit Jacob
0612768c1c fix bug #201: Clang too has intrinsics bugs preventing us to use custom unaligned loads 2011-02-27 21:59:07 -05:00
Benoit Jacob
4846c76d9d shut up a stupid clang 2.8 warning 2011-02-27 20:18:03 -05:00
Benoit Jacob
afc9efca15 fix compilation with clang 2.8 2011-02-27 20:17:47 -05:00
Benoit Jacob
ea7d872181 documentation fixes 2011-02-27 17:43:10 -05:00
Benoit Jacob
b3544ce2ae bug #195 - fix this once and for all: just never use _mm_load_sd on gcc/i386, it generates redundant x87 ops 2011-02-27 17:26:59 -05:00
Jitse Niesen
a8f5ef9388 Document (non)sorting of eigenvalues.
Also, update docs for (Generalized)SelfAdjointEigenSolver to reflect that these
two classes were split apart.
2011-02-27 14:06:55 +00:00
Gael Guennebaud
ef73265987 to ease debugging let's catch invalid template options in Transform 2011-02-25 09:03:24 +01:00
Benoit Jacob
5dfae4524b fix bug #195: fast unaligned load for integer using _mm_load_sd failed when the value interpreted as a NaN 2011-02-24 10:31:57 -05:00
Hauke Heibel
2064c59878 Improved docs of PlainObjectBase::conservativeResize methods. 2011-02-24 15:48:41 +01:00
Gael Guennebaud
bb9a465c5a fix AltiVec ploaddup 2011-02-24 00:23:50 +03:00
Gael Guennebaud
23aae0d63e fix pset1 for complex 2011-02-23 21:24:47 +03:00
Gael Guennebaud
c121e6f390 implement ploaddup for complex and SSE/NEON even though they are not used in practice 2011-02-23 16:31:42 +01:00
Gael Guennebaud
955c099eb5 implement ploaddup for altivec and add respective unit test 2011-02-23 18:20:55 +03:00
Gael Guennebaud
6e01780541 fix a couple of issues with pcplxflip 2011-02-23 17:51:40 +03:00
Gael Guennebaud
78e1a62c54 implement pcplxflip for altivec 2011-02-23 14:20:58 +01:00
Gael Guennebaud
7dc18b20bb same for neon 2011-02-23 09:41:55 +01:00
Gael Guennebaud
32e7dae776 Altivec: fix infinite loop (ei_ -> internal:: change) 2011-02-23 09:41:02 +01:00
Gael Guennebaud
c78b5fd9aa fix no newline warning 2011-02-23 09:23:11 +01:00
Gael Guennebaud
2fb5567e08 add missing AlignedOnScalar 2011-02-22 21:25:47 +01:00
Benoit Jacob
c58a2ff03a add EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS non-default option. Use it in our own CMakeLists. also add a include-guard-like mechanism to prevent doing unmatched #pragma warning push/pop. 2011-02-22 10:05:41 -05:00