Hauke Heibel
7bc8e3ac09
Initial fixes for bug #85 .
...
Renamed meta_{true|false} to {true|false}_type, meta_if to conditional, is_same_type to is_same, un{ref|pointer|const} to remove_{reference|pointer|const} and makeconst to add_const.
Changed boolean type 'ret' member to 'value'.
Changed 'ret' members refering to types to 'type'.
Adapted all code occurences.
2010-10-25 22:13:49 +02:00
Benoit Jacob
4716040703
bug #86 : use internal:: namespace instead of ei_ prefix
2010-10-25 10:15:22 -04:00
Hauke Heibel
ba86d3ef65
Fixed bug #84 .
2010-10-21 10:13:17 +02:00
Benoit Jacob
8c17fab8f5
renaming: ei_matrix_storage -> DenseStorage
...
DenseStorageBase -> PlainObjectBase
2010-10-20 09:34:13 -04:00
Benoit Jacob
e259f71477
rename PlanarRotation -> JacobiRotation
2010-10-19 21:56:26 -04:00
Benoit Jacob
9044c98cff
work around stupid msvc error when constructing at compile time an expression
...
that involves a division by zero, even if the numeric type has floating point
2010-10-19 21:56:11 -04:00
Hauke Heibel
9f8b6ad43e
Fixed bug #79 .
2010-10-19 09:43:54 +02:00
Benoit Jacob
3481f10e7a
re-fix the broken msvc warning in JacobiSVD
2010-10-18 09:46:22 -04:00
Benoit Jacob
3404d5fb14
improvements in pages 5 and 7 of the tutorial.
2010-10-18 09:09:30 -04:00
Benoit Jacob
597bb61c23
fix stupid msvc warning in jacobisvd
2010-10-18 06:54:11 -04:00
Benoit Jacob
8356bc8d06
add jacobiSvd() method, update test & docs
2010-10-17 09:40:52 -04:00
Benoit Jacob
3f79884f03
bump to 2.92.0
2010-10-15 09:46:20 -04:00
Benoit Jacob
6dc478fd77
doc typo
2010-10-14 10:19:46 -04:00
Benoit Jacob
65c01e2bf7
JacobiSVD doc fix
2010-10-14 10:17:40 -04:00
Benoit Jacob
8f0e80fe30
JacobiSVD:
...
* fix preallocating constructors, allocate U and V of the right size for computation options
* complete documentation and internal comments
* improve unit test, test inf/nan values
2010-10-14 10:14:43 -04:00
Gael Guennebaud
47197065da
compilation fix
2010-10-14 10:19:55 +02:00
Gael Guennebaud
3a2bb7f782
fix compilation and warnings with fcc 4.0.1
2010-10-13 10:21:28 +02:00
Benoit Jacob
8eb0fc1e72
remove SVD class (was bad code taked from elsewhere)
...
Use JacobiSVD for now.
We do plan to reintroduce a bidiagonalizing SVD asap.
2010-10-12 10:19:59 -04:00
Benoit Jacob
dbedc70012
Jacobi improvements:
...
* add fixed-size vectorized path
* add missing restrict keywords
* use innerStride()
* allow vectorization even if innerStride()>1, if PacketSize==1
(think of the case of rows of std::complex<double>)
2010-10-12 09:58:53 -04:00
Benoit Jacob
12a152031d
fix the Jacobi bug, expand unit test
2010-10-12 09:43:40 -04:00
Benoit Jacob
b8bb804007
set ColPivHouseholderQR as default preconditioner for JacobiSVD
2010-10-11 21:00:42 -04:00
Benoit Jacob
5c3d21693b
implement JacobiSVD::solve() and expand the unit test
2010-10-11 15:36:04 -04:00
Benoit Jacob
d229f99ba2
adapt Quaternion to JacobiSVD API changes.
2010-10-08 10:42:41 -04:00
Benoit Jacob
8ba8d90063
add option to compute thin U/V.
...
By default nothing is computed. You have to ask explicitly for thin/full U/V if you want them.
2010-10-08 10:42:40 -04:00
Benoit Jacob
6fad2eb97b
Rework JacobiSVD api / template parameters.
...
There is now an integer QRPreconditioner template parameter, defaulting to full-piv QR.
Since we have to special-case each QR dec anyway, a template template parameter didn't add much value here.
There is an option NoQRPreconditioner if you know your matrices are already square (auto-detected for fixed-size matrices).
2010-10-08 10:42:32 -04:00
Benoit Jacob
58e0cce0f7
merge backout
2010-10-08 10:42:25 -04:00
Benoit Jacob
4a98cada26
Backed out changeset 2334291157
...
Sorry Thomas, these doc fixes are no longer relevant with the JacobiSVD API changes, and they are preventing me from applying my patches cleanly.
2010-10-08 10:42:06 -04:00
Gael Guennebaud
a76ce042e6
MSVC for windows mobile does not have the errno.h file
2010-10-07 18:09:15 +02:00
Gael Guennebaud
af22364988
an attempt to fix compilation on windows mobile
2010-10-07 17:54:46 +02:00
Gael Guennebaud
01fad14d78
mark LLT/LDLT solveInPlace func internal and rm their boolean returned value
2010-10-05 15:56:50 +02:00
Thomas Capricelli
2334291157
fix doc
2010-10-04 04:08:32 +02:00
Benoit Jacob
71f023de3e
fix compilation on ubuntu 9.04's version of gcc 4.3 (yes, wtf)
2010-09-27 09:57:57 -04:00
Radu Bogdan Rusu
94ea1eed9a
fix warning
2010-09-27 09:56:54 -04:00
Hauke Heibel
327ed3d1d3
Added a note to the Gram Schmidt code and improved some formatting.
2010-09-25 14:15:35 +02:00
Hauke Heibel
316dadc8e4
Fixed some SVD issues.
...
Make the SVD's output unitary.
Improved unit tests.
Added an assert to the SVD ctor to check whether rows>=cols.
2010-09-24 17:32:44 +02:00
Hauke Heibel
053261de88
Make the SVD's output unitary and improved unit tests.
2010-09-24 16:28:20 +02:00
Benoit Jacob
1c54514bfc
merge
2010-09-23 09:53:21 -04:00
Benoit Jacob
c253cc3d53
SVD:
...
* fix unit test for rectangular matrices.
* enforce that rows >= cols since various places in the code assume that.
2010-09-23 09:51:08 -04:00
Hauke Heibel
62bf04b339
Fixed bad memory access in the SVD.
2010-09-23 11:15:36 +02:00
Benoit Jacob
77c943670e
add cmakelists for 2 subdirs and make sure all subdirs are installed (GLOB)
2010-09-14 04:11:15 -04:00
Gael Guennebaud
91e9344be9
fix vectorization logic and code of cross3 which was never enabled..
2010-09-08 14:10:01 +02:00
Gael Guennebaud
9bb75937cc
fix += return by value like operations
2010-09-06 11:51:42 +02:00
Gael Guennebaud
62eb4dc99b
noalias was wrongly skipping automatic transposition
2010-09-02 19:18:34 +02:00
Gael Guennebaud
4824db6444
add the possibility to extend QuaternionBase
2010-09-02 17:28:07 +02:00
Eamon Nerbonne
d17bb02ccd
Fixes mingw32 compile issues
2010-09-02 10:38:23 +02:00
Gael Guennebaud
b49dde01dc
fix bad mat * mat * scalar when the implicit conversion operator to a Matrix is used
2010-08-31 09:54:38 +02:00
Gael Guennebaud
dcff9ba785
fix bad "using typename"
2010-08-25 13:34:35 +02:00
Gael Guennebaud
cb7a72d5b0
Fix Sun CC parsing of Eigen/Core. In particular,
...
I moved all the block related methods to a plugin file. This also
significantly reduce code verbosity.
2010-08-25 13:09:56 +02:00
Benoit Jacob
bd8d06033d
make a couple of typedefs public so stuff compiles
2010-08-24 10:53:33 -04:00
Gael Guennebaud
a47bbf664c
fix 4x4 SSE inversion when storage orders don't match
2010-08-24 13:00:59 +02:00
Gael Guennebaud
ad9a7c69bc
fix inversion of 4x4 unaligned matrices
2010-08-24 12:28:42 +02:00
Gael Guennebaud
6261f4629f
add TriangularMatrix::conjugate to be consistent since we have adjoint
2010-08-23 23:38:35 +02:00
Jitse Niesen
d1111d625c
Docs: Typos in ArrayBase doxygen comments
2010-08-23 11:44:51 +01:00
Jitse Niesen
103b9351fd
Docs: Add references to TopicClassHierarchy
2010-08-22 18:28:19 +01:00
Jitse Niesen
a6da803873
Document DenseCoeffsBase
2010-08-22 17:30:31 +01:00
Hauke Heibel
60aad09878
Fixed DiagonalMatrix assignment.
2010-08-21 16:34:46 +02:00
Hauke Heibel
92b1674c79
Fixed typos.
2010-08-19 20:11:06 +02:00
Hauke Heibel
610d79e686
Simplified to product templates to a minimum of template parameters.
...
Removed the ei_is_any_projective helper and added ei_transform_traits.
2010-08-19 20:02:46 +02:00
Hauke Heibel
a64aabf73c
Removed unused code.
2010-08-19 19:33:13 +02:00
Hauke Heibel
55c7848877
Matrix product refactoring (rhs products only).
...
Added strong inlines required for MSVC for proper inlining.
Added specializations for DiagonalMatrix products to RotationBase.
Added left- and righ-hand-side products with DiagonalMatrix to Transform.
RHS Transform products now return Matrix objects only.
Split the geo_transformations unit test. Some tests were not made for projectivities.
Removed unused variables from main.h that caused warnings.
2010-08-19 19:25:35 +02:00
Gael Guennebaud
d4b664c4cd
fix ugly conversion from double[2] to complex
2010-08-19 14:47:58 +02:00
Gael Guennebaud
5354ffbb4f
add missing specialization for vector * selfadjoint
2010-08-19 14:05:21 +02:00
Gael Guennebaud
ddbbd7065d
* disable unalignment detection when vectorization is not enabled
...
* revert MapBase unalignment detection
2010-08-18 09:35:55 +02:00
Hauke Heibel
85fdcdf055
Fixed Geometry module failures.
...
Removed default parameter from Transform.
Removed the TransformXX typedefs.
Removed references to TransformXX from unit tests and docs.
Assigning Transforms to a sub-group is now forbidden at compile time.
Products should now properly support the Isometry flag.
Fixed alignment checks in MapBase.
2010-08-17 20:03:50 +02:00
Benoit Jacob
87aafc9169
fix Transform() constructor taking a Transform with other mode.
...
Not really tested as the geometry tests are currently busted.
2010-08-16 12:30:33 -04:00
Benoit Jacob
19d9c835e0
fix warnings
2010-08-16 11:11:43 -04:00
Gael Guennebaud
b37551f62a
further improve compilation error message for array+=matrix
2010-08-16 11:13:02 +02:00
Gael Guennebaud
c625a6a85b
improve compilation error message for array+=matrix and the likes
2010-08-16 11:07:17 +02:00
Gael Guennebaud
453d54325e
fix declaration of AffineTransformType in Translation
2010-08-16 10:44:27 +02:00
Gael Guennebaud
aa2b46aa91
allow vectorization of mat44.col() by adding a InnerPanel boolean
...
template parameter to Block
2010-07-23 16:29:29 +02:00
Gael Guennebaud
853c0e15df
slightly generalize the alignment assert in MapBase
2010-08-16 09:41:07 +02:00
Gael Guennebaud
8566ef805b
remove the aligned bit flag for non vectorizable types
2010-08-16 09:38:49 +02:00
Benoit Jacob
3a30a2bc3e
forgot to remove a #endif
2010-08-13 14:03:38 -04:00
Benoit Jacob
b80d9dd42e
fix determination of number of registers on sse:
...
__i386__ was not defined by MSVC 2010.
fixed as (2*sizeof(void*)).
also move that to SSE/ and let the default for unknown arch's be just 8.
2010-08-13 13:55:28 -04:00
Benoit Jacob
8bbe556e35
merge the backout
2010-08-11 00:06:31 -04:00
Benoit Jacob
97ced33b33
Backed out changeset 40f6e26a24
...
See thread on mailing list: "InnerPanel change mis-detects alignment?"
2010-08-11 00:04:06 -04:00
Jitse Niesen
76fbe94279
Document EIGEN_NO_DEBUG macro.
...
I needed some doxygen tricks to get this to work, so it may not be worth it.
2010-08-10 11:37:23 +01:00
Hauke Heibel
3dd8225862
Added more detailed docs to the QR decompositions classes.
2010-08-05 08:56:19 +02:00
Benoit Jacob
d90d7a006f
fix warnings. The one in Reverse was potentially serious: coeff() methods should return CoeffReturnType, not "Scalar", if the expression is potentially a Lvalue.
2010-08-03 10:38:48 -04:00
Hauke Heibel
cc25edd5de
Fixed Affine transform typedef.
2010-08-02 21:33:48 +02:00
Hauke Heibel
7cefa75901
Added static method Identity() to the Translation class.
2010-07-29 17:30:37 +02:00
Hauke Heibel
e92993d7b9
Safeguarded some Transform functions with compile time asserts.
...
Added missing static Identity() to Rotation2D, AngleAxis.
2010-07-29 16:17:42 +02:00
Hauke Heibel
6b89ee0095
Transform is now per default Projective.
...
Improved invert() in the Transform class.
RotationBase offers matrix() to be conform with Transform's naming scheme.
Added Translation::translation() to be conform with Transform's naming scheme.
2010-07-29 15:54:32 +02:00
Hauke Heibel
2f0e8904f1
Removed debug outputs.
2010-07-28 10:47:58 +02:00
Kenneth Riddile
b038a4bb71
* added EIGEN_ALIGNED_ALLOCATOR macro to allow specifying a different aligned allocator
...
* attempted to add support for std::deque by copying and modifying the std::vector implementation...MSVC still fails to compile with the std::deque::resize() "will not be aligned" error...probably missing something simple but I'm not sure how to make it work
2010-07-26 19:06:47 -04:00
Jitse Niesen
1420f8b3a1
Several changes in comments to keep Doxygen happy.
2010-07-25 20:29:07 +01:00
Jitse Niesen
425444428c
Add examples for API documentation of block methods in DenseBase.
2010-07-23 22:20:00 +01:00
User Martin Senst
145830e067
Add newline at the end of Dense.
2010-07-23 19:00:02 +02:00
Gael Guennebaud
40f6e26a24
allow vectorization of mat44.col() by adding a InnerPanel boolean
...
template parameter to Block
2010-07-23 16:29:29 +02:00
Gael Guennebaud
9daa66f262
fix merge conflicts
2010-07-22 17:23:11 +02:00
Gael Guennebaud
7020f30da3
sync with default branch
2010-07-22 16:29:35 +02:00
Gael Guennebaud
b9edd6fb85
oops
2010-07-22 16:24:01 +02:00
Gael Guennebaud
96ba7cd655
add an OpenGL module simplifying the way you can pass Eigen's objects to GL
2010-07-22 16:08:58 +02:00
Gael Guennebaud
fa6d36e0f7
fix SparseView: clean the nested matrix type
2010-07-22 15:57:01 +02:00
Hauke Heibel
734469e43f
Unified LinSpaced in order to be conform with other setter methods as e.g. Constant.
2010-07-22 14:04:00 +02:00
Gael Guennebaud
c7f40e522e
merge
2010-07-22 13:21:06 +02:00
Gael Guennebaud
bec3f9bfe4
rename indices to a common scheme
2010-07-22 13:17:39 +02:00
Gael Guennebaud
0916d69ca5
fix inner vectorization logic
2010-07-22 13:17:12 +02:00
Gael Guennebaud
0dfc5b296b
fix strict aliasing issue
2010-07-22 13:16:53 +02:00
Gael Guennebaud
35f0bc70d8
fix a strict aliasing issue with gcc 4.3
2010-07-20 22:43:55 +02:00
Gael Guennebaud
7dbbc6ffd1
fix static allocation of workspace
2010-07-20 17:06:14 +02:00
Gael Guennebaud
ced1a45f82
add NEON ploaddup and pcplxflip functions
2010-07-20 14:24:01 +02:00
Gael Guennebaud
193eedbfe2
one more fix for openmp
2010-07-20 14:19:00 +02:00
Gael Guennebaud
d7fa09bf05
improve block-size heuristic
2010-07-20 13:23:50 +02:00
Gael Guennebaud
4824ac1363
fix openmp version
2010-07-20 13:23:19 +02:00
Gael Guennebaud
b551a2d77a
fix declaration of pack_lhs in trsm
2010-07-20 12:58:22 +02:00
Gael Guennebaud
10a7668035
uncomment commented code for debug
2010-07-20 12:57:46 +02:00
Gael Guennebaud
872523844a
fix trmm and symm wrt lhs packing
2010-07-20 10:06:41 +02:00
Gael Guennebaud
76eb9c9fd9
fix compilation by including file in correct order
2010-07-19 23:32:13 +02:00
Gael Guennebaud
70b1ce11c6
* fix SelfCwiseBinaryOp traits and handling of mixed types
...
* improve compilation error in case of type mismatch
2010-07-19 23:31:08 +02:00
Gael Guennebaud
8b0b121c9e
explicitely disable vectorization for mixed coeff based products
2010-07-19 23:28:57 +02:00
Gael Guennebaud
08c841eb87
fix lhs packing in the case of real * complex products
2010-07-19 23:16:03 +02:00
Gael Guennebaud
1ed4233fd2
port Jacobi to new ei_pset1/ei_pload API
2010-07-19 16:51:38 +02:00
Gael Guennebaud
c2ee454df4
* fix compilation of mixed scalar product
...
* optimize mixed scalar products
2010-07-19 16:49:09 +02:00
Gael Guennebaud
6e157dd7c6
* fix a couple of remaining issues with previous commit,
...
* merge ei_product_blocking_traits into ei_gepb_traits
2010-07-19 15:45:13 +02:00
Gael Guennebaud
f8aae7a908
* _mm_loaddup_pd is slow
...
* optimize SSE ei_ploaddup<Packet4f>
2010-07-19 15:43:27 +02:00
Gael Guennebaud
cd0e5dca9b
wip: extend the gebp kernel to optimize complex and mixed products
2010-07-19 08:50:59 +02:00
Gael Guennebaud
1dc9aaaf36
add support for mixing type in trsv
2010-07-13 16:03:49 +02:00
Gael Guennebaud
36d9b51a44
optimize non fused MADD, and add a flatten attribute macro to enforce
...
inlining within a function
2010-07-13 15:16:34 +02:00
Gael Guennebaud
b72b7ab76f
matrix product: move the alpha factor to gebp instead of the packing,
...
clean some temporaries, etc.
2010-07-12 16:31:46 +02:00
Gael Guennebaud
f8678272a4
mixing types step 3:
...
- improve support of colmajor by vector and matrix - matrix
- now all configurations are well handled, but the perf are not always very good
2010-07-11 23:57:23 +02:00
Gael Guennebaud
8e3c4283f5
make colmaj * vector uses pointers only
2010-07-11 16:01:48 +02:00
Gael Guennebaud
ff96c94043
mixing types in product step 2:
...
* pload* and pset1 are now templated on the packet type
* gemv routines are now embeded into a structure with
a consistent API with respect to gemm
* some configurations of vector * matrix and matrix * matrix works fine,
some need more work...
2010-07-11 15:48:30 +02:00
Gael Guennebaud
4161b8be67
sync
2010-07-10 22:58:51 +02:00
Gael Guennebaud
e5bc9526f1
* generalize rowmajor by vector
...
* fix weird compilation error when constructing a matrix with a row by matrix product
2010-07-10 22:53:27 +02:00
Gael Guennebaud
c4ef69b5bd
fix compilation: make the check_coordinates* functions const
2010-07-10 22:37:16 +02:00
Benoit Jacob
6dcd373b9d
let ei_pset1 use _mm_loaddup_pd. Not a significant speed improvement, but also not a speed regression, and replaces 3 instructions by 1 single instruction.
2010-07-09 18:51:17 -04:00
Konstantinos Margaritis
6ad3f1ab1f
Added NEON/Complex.h, ~3.5x faster than scalar std::complex<float>
...
minor fix in AltiVec Complex.h
2010-07-10 00:09:29 +03:00
Gael Guennebaud
96f9015807
disable MSVC optimization when the underlying compiler is ICC
2010-07-09 19:33:43 +02:00
Gael Guennebaud
b2effa2b2c
move ei_conj_if to a more appropriate file
2010-07-09 18:05:57 +02:00
Konstantinos Margaritis
642cc27eb1
forgot to commit ei_p4f_FORWARD;
2010-07-09 18:08:18 +03:00
Konstantinos Margaritis
f6bd508351
forgot to add the Complex.h include for AltiVec.
2010-07-09 17:56:53 +03:00
Konstantinos Margaritis
d9e134c73c
Altivec port of Complex.h.
...
Note: For some reason g++ 4.4 is >200% slower than g++ 4.3 on altivec code.
The same benchmark (bench_gemm) was tested, on the same hardware/OS (G4/Debian testing),
with same CFLAGS. With some code reorganizing I managed to get some minor gain
on 4.4, but I just could not reach 4.3 speed. This is most likely a bug, but I'm waiting
to see if it's fixed on 4.5. I'll look into this a bit more.
2010-07-09 17:54:41 +03:00
Gael Guennebaud
b1a17dbfe4
fix a few weird issues with gcc 4.3 32bits and complex<float>
2010-07-09 08:27:58 +02:00
Gael Guennebaud
504d3a3586
fix SliceVectorizedTraversal for packetsize==1
2010-07-08 23:31:14 +02:00
Gael Guennebaud
300a226ffa
scalars fitting in a single packet requires more work, step 1
...
* add a, Alignable trait
* update LinearVectorization assignment
2010-07-08 14:27:47 +02:00
Gael Guennebaud
2a1500915a
compilation fix
2010-07-08 14:26:00 +02:00
Gael Guennebaud
2066ed91de
enabling aligned loads/store for complex<double> is much more tricky,
...
so the temporary fix is to always perform unaligned load/store
2010-07-07 22:50:19 +02:00
Gael Guennebaud
d89925e6de
an attempt to fix wrong unaligned store
2010-07-07 22:35:06 +02:00
Gael Guennebaud
31a36aa9c4
support for real * complex matrix product - step 1 (works for some special cases)
2010-07-07 19:49:09 +02:00
Gael Guennebaud
861962c55f
sync
2010-07-07 16:44:05 +02:00
Gael Guennebaud
a2415388ef
optimized conjugate products for SSE3
2010-07-07 16:37:20 +02:00
Gael Guennebaud
65257f6b29
optimize for SSE3 => significant speed up !!
2010-07-07 15:34:46 +02:00
Gael Guennebaud
dd18b22f0b
optimize pmul for complex<double>
2010-07-07 15:29:04 +02:00
Gael Guennebaud
845994f18f
optimize gemv for complex<double> and fix gcc alignment issue in 32bits
2010-07-07 15:28:41 +02:00
Gael Guennebaud
e07c0f6bb5
cleanning
2010-07-07 11:41:29 +02:00
Gael Guennebaud
b0896382a3
s/IsVectorized/Vectorizable
2010-07-07 11:10:46 +02:00
Gael Guennebaud
74cf12cbe0
add a compile time error if someone call packet on Diagonal (instead of infinite runtime loop)
2010-07-07 11:07:12 +02:00
Gael Guennebaud
d5e0efaf69
fix vectorization rule of diagonal-product
2010-07-07 11:06:31 +02:00
Gael Guennebaud
c851044eae
fix row cwise-prod column in coeff based products...
...
I really don't know why this worked so far...
2010-07-07 10:52:59 +02:00
Gael Guennebaud
e38fc9692d
add a conj_product functor and optimize dot products
2010-07-07 10:00:08 +02:00
Gael Guennebaud
f8d3b4c060
fix mixing types in DiagonalProduct
2010-07-07 09:43:29 +02:00
Gael Guennebaud
bfa606d16f
* add a IsVectorized mechanism (instead of packet-size>1...)
...
* vectorize complex<double>
2010-07-06 23:36:00 +02:00
Gael Guennebaud
bc57c68cf5
bug fix forgot to conjugate the scalar factor when needed
2010-07-06 20:53:48 +02:00
Gael Guennebaud
e04c3f2cc0
reduce code generation and minor speed up
2010-07-06 19:15:02 +02:00
Gael Guennebaud
d6454788d9
add support for vectorized conjugated products
2010-07-06 19:10:24 +02:00
Jitse Niesen
49747fa4a9
Various documentation improvements.
...
* Add short documentation for Array class
* Put all classes explicitly in Core module (where applicable)
* Section on Modules in Quick Reference Guide
* Put Page 7 after Page 6 in Contents :)
2010-07-06 13:10:08 +01:00
Jens Mueller
d849bc4401
Avoid calling resizeLike, if EIGEN_NO_AUTOMATIC_RESIZING is defined
2010-07-06 10:11:18 +02:00
Gael Guennebaud
7d23e7f9f1
indentation
2010-07-06 11:02:01 +02:00
Gael Guennebaud
c69a226192
* extend the Has* packet traits and makes all functor use it
...
* extend the packing routines to support conjugation
2010-07-05 23:27:54 +02:00
Gael Guennebaud
8db60afb47
oops I did not see that
2010-07-05 21:27:15 +02:00
Gael Guennebaud
e1eccfad3f
add intitial support for the vectorization of complex<float>
2010-07-05 16:18:09 +02:00
Konstantinos Margaritis
1505221263
add check for non x86 platforms, we get a compile error on arm/powerpc without the check
...
(there is no known -yet- method to get cpuid, without resolving to kernel /sys interface)
2010-07-05 16:44:41 +03:00
Gael Guennebaud
efb79600b9
fix warning "type qualifiers ignored on function return type" for long long scalar types
2010-07-05 11:23:05 +02:00
Gael Guennebaud
fffaa58ac2
fix unaligned workspace in sybb
2010-07-05 10:12:30 +02:00
Gael Guennebaud
c201aabf3e
comment the workaround of the EIGEN_EMPTY_STRUCT_CTOR workaround for gcc 4.3
2010-07-04 15:26:58 +02:00
Gael Guennebaud
11329f49f4
suppress warning and add a fixme about this transpose argument
2010-07-03 19:39:29 +02:00
Gael Guennebaud
be1fdbf3af
fix openmp for row major destination
2010-07-03 12:52:39 +02:00
Gael Guennebaud
b4ef323e90
fix bug with openmp
2010-07-03 12:20:13 +02:00
Thomas Capricelli
b212227418
shut one more warning
2010-07-01 04:27:45 +02:00
Thomas Capricelli
1399fd9cbd
fix compilation issue with clang
2010-07-01 04:26:07 +02:00
Thomas Capricelli
d414ab51f0
oops... fix it better
2010-07-01 03:39:19 +02:00
Thomas Capricelli
2874101b62
fix compilation with icc. Anyway, the use of an enum instead of a
...
'const bool' is more consistent with the code around.
2010-07-01 03:23:47 +02:00
Thomas Capricelli
04648becf7
fix warnings with old gcc
2010-07-01 03:22:09 +02:00
Jitse Niesen
7d72d4f3c7
Bug fix for NumTraits<T>::lowest() .
...
std::numeric_limits<T>::min() is the lowest *positive* normalized number
for floating point types.
This fixes the test failure for geo_alignedbox8 for me.
2010-07-01 01:42:31 +01:00
Benoit Jacob
532aeba308
s/struct/class/g ; bug reported by Thomas
2010-06-30 19:47:26 -04:00
Manoj Rajagopalan
5c58582a08
Renamed DenseBase::{row,col}Range() to DenseBase::middle{Rows,Cols}()
2010-06-29 14:31:39 -04:00
Gael Guennebaud
82c4a755af
disable empty struct trick for buggy gcc 4.3
2010-06-29 18:17:17 +02:00
Benoit Jacob
e5de9e5226
Remove \nonstable yet. The stability rules for Eigen3 are much simpler:
...
- all what's not in unsupported/ is considered stable API
(except internal stuff e.g. expression templates).
2010-06-29 10:10:47 -04:00
Benoit Jacob
3bd421e073
fix potential warning
2010-06-29 10:02:10 -04:00
Konstantinos Margaritis
cf3616b2c0
AltiVec signed integer pmadd removed, proved to be 2x slower than the scalar trait(!).
2010-06-28 21:24:55 +03:00
Carlos Becker
bdef7eb656
Added doxygen info for .matrix() and .array()
2010-06-28 18:38:28 +01:00
Gael Guennebaud
189d4b51c2
fix unused warning when EIGEN_HAS_FUSE_CJMADD
2010-06-27 17:42:03 +02:00
Benoit Jacob
25f44266a2
fix #146
2010-06-27 08:44:21 -04:00
Gael Guennebaud
f096452dfd
Fix cache computation on old Intel CPUs which do not
...
support the cpuid function 0x4
2010-06-27 00:17:38 +02:00
Manoj Rajagopalan
464fc297cf
Included definitions for rowRange() and colRange() member functions of DenseBase
2010-06-26 17:37:17 -04:00
Martin Senst
4b474fdb34
Relax assertion to allow for matrices with cols() == 0 and/or rows() == 0.
2010-07-20 21:25:43 +02:00
Gael Guennebaud
95f2e7f3f5
introduce a new LvalueBit flag and split DenseCoeffBase into three level of accessors
2010-07-21 10:57:01 +02:00
Gael Guennebaud
cac147ba10
add support for determinant on empty matrix
2010-07-19 10:45:06 +02:00
Gael Guennebaud
ea27678153
fix compilation of ei_tridiagonalization_inplace_selector for 1x1 matrix
2010-07-18 17:10:11 +02:00
Gael Guennebaud
2d78023815
fix hemm to not use the imaginary part of the diagonal entries
2010-07-17 11:57:54 +02:00
Gael Guennebaud
4c19024fbf
re-enable writing to reversed objects
2010-07-16 22:26:07 +02:00
Gael Guennebaud
fb041c260c
fix for empty matrices
2010-07-16 22:25:35 +02:00
Gael Guennebaud
883a8cbb2c
disable the optimized 3x3 path for complexes which was not working at all
2010-07-16 18:22:00 +02:00
Gael Guennebaud
6ab9e8632f
fix bad fuzzy comparison in 3x3 tridiagonalization
2010-07-16 16:38:58 +02:00
Gael Guennebaud
044424b0e2
fix sum()/prod() on empty matrix making sure this does not affect fixed sized object, extend related unit tests including partial reduction
2010-07-16 14:02:20 +02:00
Gael Guennebaud
b08c26aefa
merge
2010-07-15 20:41:33 +02:00
Gael Guennebaud
84fdbded4d
add support for strictly triangular matrix in trmm though it is not really useful
2010-07-15 20:39:20 +02:00
Gael Guennebaud
bfbe61454e
merge
2010-07-15 09:54:31 +02:00
Gael Guennebaud
cf9edd9958
fix compilation for non trivial types
2010-07-14 23:31:38 +02:00
Gael Guennebaud
90d6fc0e28
fix ei_aligned_delete for null pointers and non trivial dtors
2010-07-14 22:49:34 +02:00
Christoph Hertzberg
6ba5d2c90c
Implemented SSE optimized double-precision Quaternion multiplication
2010-07-12 23:30:47 +02:00
Gael Guennebaud
850c6d8a2b
fix unused warning
2010-07-11 10:58:58 +02:00
Gael Guennebaud
931027f31b
add a utilility to debug cpuid, and makes sure we get 0 if we query an unsupported cpuid function
2010-06-26 23:15:06 +02:00
Gael Guennebaud
ec07c4109d
add default parameters for InnerStride/OuterStride to be
...
able to simply write OuterStride<> instead of OuterStride<Dynamic>
2010-06-25 14:48:16 +02:00
Gael Guennebaud
4056db01e7
use const Scalar& instead of Scalar for function arguments
2010-06-25 13:52:23 +02:00
Gael Guennebaud
686689e9cf
comment all disabled MSVC warnings
2010-06-25 13:31:07 +02:00
Gael Guennebaud
75b6d2b2f8
fix very annoying warning (gcc 4.3): type qualifiers ignored on function return type
2010-06-25 13:20:34 +02:00
Gael Guennebaud
01553c419e
fox blcok size computation for fixed size objects
2010-06-25 11:44:55 +02:00
Gael Guennebaud
e313826890
add mixed sparse-dense outer product
2010-06-25 11:36:38 +02:00
Gael Guennebaud
1927b4dff5
Fix use of nesting types in SparseTranspose and split the big SparseProduct.h file
2010-06-25 10:26:24 +02:00
Gael Guennebaud
28e64b0da3
email change
2010-06-24 23:21:58 +02:00
Gael Guennebaud
99e4afd43e
makes SparseView a true sparse expression and fix use of nesting types
2010-06-24 22:48:48 +02:00
Gael Guennebaud
f3b875e434
fix infinite loop
2010-06-24 22:18:09 +02:00
Gael Guennebaud
566867428c
- add a low level mechanism to provide preallocated memory to gemm
...
- ensure static allocation for the product of "large" fixed size matrix
2010-06-24 21:44:24 +02:00
Gael Guennebaud
e039edcb42
fix temporary creation rule
2010-06-24 19:21:25 +02:00
Gael Guennebaud
b22fc6cdc3
bug fix in gemv:
...
solution always use a temporary in dst.innerStride != 1
even though this is not needed when packet_size == 1....
2010-06-24 17:51:25 +02:00
Gael Guennebaud
6be06745df
block householder : minor optimization
2010-06-24 17:48:38 +02:00
Gael Guennebaud
905beb0953
fix symm
2010-06-24 16:42:43 +02:00
Gael Guennebaud
af38bccd3d
fix syrk
2010-06-24 16:26:27 +02:00
Gael Guennebaud
19f2f53e2c
fix compilation when default to row major
2010-06-24 15:13:41 +02:00
Gael Guennebaud
d44fce501b
fix computation of blocking sizes for small triangular matrices
2010-06-24 11:50:28 +02:00
Hauke Heibel
0068d3ccf6
Added version testing for MSVC.
2010-06-24 10:05:24 +02:00
Hauke Heibel
22a6cb2dc0
Fix compilation when the memory layout is RowMajor.
2010-06-24 09:56:59 +02:00
Hauke Heibel
83f1b747e7
Fixed MSVC cpuid.
2010-06-24 09:55:53 +02:00
Gael Guennebaud
0a42f8c876
fix compilation when EIGEN_CPUD is not defined
2010-06-24 09:45:17 +02:00
Gael Guennebaud
8beb60bf63
fix EIGEN_CPUID for i386 & PIC, still remains to fix the MSVC version
2010-06-24 09:29:43 +02:00
Gael Guennebaud
546587c7d3
default to Intel's API by default
2010-06-23 17:14:06 +02:00
Gael Guennebaud
e1a6bad087
fix cache queries for non core2 CPU ;)
2010-06-23 16:34:51 +02:00
Gael Guennebaud
b4fe53f561
* makes all product use the new API to set the blocking sizes
...
* fix an issue preventing multithreading (now Dynamic = -1 ...)
2010-06-22 16:08:35 +02:00
Gael Guennebaud
fd9a9fa0ae
slightly optimize computeProductBlockingSizes by explicitely precomputing what is known at compile time
2010-06-22 11:10:38 +02:00
Hauke Heibel
d132b5b061
Correct the options computation for RowMajor matrices.
2010-06-22 09:30:08 +02:00
Gael Guennebaud
98686ab86c
fix in case we don't know how to query the L1/L2 cache sizes
2010-06-21 23:44:20 +02:00
Gael Guennebaud
0212eec23f
simplify and optimize block sizes computation for matrix products. They
...
are now automatically computed from the L1 and L2 cache sizes which are
themselves automatically determined at runtime.
2010-06-21 23:28:50 +02:00
Hauke Heibel
4bac6fbe1e
The intrin.h header needs to be included after cmath in order to prevent warnigns.
...
Fixed (hopefully) final Index realted warnings.
2010-06-21 18:39:24 +02:00
Hauke Heibel
80b6e5f278
Added include reuqired for __cpuid.
2010-06-21 16:43:31 +02:00
Gael Guennebaud
4cd38b333c
make bench_gemm print out the queried cache sizes
2010-06-21 12:07:05 +02:00
Gael Guennebaud
e54635da11
add functions to query the L1 and L2/L3 cache sizes
2010-06-21 11:59:37 +02:00
Hauke Heibel
dc6ad5e25b
More Index related stuff.
2010-06-21 11:36:00 +02:00
Gael Guennebaud
52165ba55a
compilation fix
2010-06-20 22:27:35 +02:00
Hauke Heibel
f34eaa2628
Next try - more Index fixes.
2010-06-20 21:44:25 +02:00
Hauke Heibel
e402d34407
More Index realted warnings.
2010-06-20 15:52:34 +02:00
Gael Guennebaud
e3853353fb
fix array_comp *= array_real
2010-06-20 00:35:33 +02:00
Gael Guennebaud
7fd8418b19
finish to merge Array into Core:
...
- mv Array/* into Core/
- merge Functors.h files, and move Norms.h into Dot.h
2010-06-19 23:36:38 +02:00
Gael Guennebaud
575ac5409c
add missing support for std::pow(array,scalar)
2010-06-19 23:17:07 +02:00
Gael Guennebaud
eba418a458
remove reference to the dead Array module
2010-06-19 23:00:22 +02:00
Gael Guennebaud
f85a1cf5df
optimize SparseMatrix iterator
2010-06-18 16:47:41 +02:00
Benoit Jacob
f0a6d56f07
fix linking errors with multiply defined functions
2010-06-18 09:01:34 -04:00
Gael Guennebaud
ece48a6450
split the Sparse module into multiple ones, and move non stable parts to unsupported/
...
(see the ML for details)
2010-06-18 11:28:30 +02:00
Gael Guennebaud
22d07ec2e3
Add blocking inside HouseholderQR based on code from Vincent Lejeune.
...
This is all internal stuff for now.
2010-06-17 18:30:47 +02:00