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