Guoqiang QI
38ae5353ab
1)provide a better generic paddsub op implementation
...
2)make paddsub op support the Packet2cf/Packet4f/Packet2f in NEON
3)make paddsub op support the Packet2cf/Packet4f in SSE
2021-01-13 22:54:03 +00:00
Gael Guennebaud
e409dbba14
Enable SSE vectorization of Quaternion and cross3() with AVX
2019-02-23 10:45:40 +01:00
Christoph Hertzberg
42f3ee4fb8
Old gcc versions have problems with recursive #pragma GCC diagnostic push/pop
...
Workaround: Don't include "DisableStupidWarnings.h" before including other main-headers
2018-08-28 11:44:15 +02:00
Mehdi Goli
e46e722381
Adding Tensor ReverseOp; TensorStriding; TensorConversionOp; Modifying Tensor Contractsycl to be located in any place in the expression tree.
2017-01-16 13:58:49 +00:00
Luke Iwanski
23778a15d8
Reverting unintentional change to Eigen/Geometry
2017-01-16 11:05:56 +00:00
Fraser Cormack
8245d3c7ad
Fix case-sensitivity of file include
2017-01-12 12:13:18 +00:00
Gael Guennebaud
29bb599e03
Fix numerous doxygen issues in auto-link generation
2015-12-30 16:04:24 +01:00
Gael Guennebaud
47d44c2f37
Add missing licence header to some top header files
2015-10-26 11:46:05 +01:00
Gael Guennebaud
d93ba137f2
Introduce EIGEN_PI, get rid of M_PI and acos(-1.0)
2015-06-10 17:12:10 +02:00
Christoph Hertzberg
324e7e8fc9
Removed the deprecated EIGEN2_SUPPORT, as previously announced. A compilation error is raised, if this compile-switch is defined. The documentation references to the corresponding pages from Eigen3.2 now. Also, the Eigen2 testsuite has been removed.
2014-07-01 16:58:11 +02:00
Benoit Steiner
64a85800bd
Added support for AVX to Eigen.
2014-01-29 11:43:05 -08:00
Jitse Niesen
3c412183b2
Get rid of include directives inside namespace blocks (bug #339 ).
2012-04-15 11:06:28 +01:00
Benoit Jacob
d8e97aee89
shut up stupid ICC warnings
2011-02-22 09:31:22 -05:00
Benoit Jacob
bd12ac4ffc
import eigen2 Geometry module into Eigen2Support.
...
fix build of geometry tests
2011-01-24 11:21:58 -05: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
Hauke Heibel
7bf5930496
Adapted Geometry includes.
...
Adapted the decomposition documentation regarding the solve signature.
2010-01-21 09:43:30 +01:00
Mark Borgerding
ff1e9542f6
added comments to help vim understand the header files are c++.
2009-12-01 18:00:29 -05:00
Gael Guennebaud
044dd0c1dd
revert previous change in Quaternion::setFromTwoVectors
2009-08-15 23:37:20 +02:00
Gael Guennebaud
0cd158820c
switch from eigensolver to SVD which seems to be more accurate with float
2009-07-06 11:15:38 +02:00
Gael Guennebaud
90f1e24579
significantly improve the accuracy of setFromTwoVectors ( fixes #21 )
2009-07-06 10:35:20 +02:00
Hauke Heibel
db5647abae
Added Umeyama implementation.
2009-05-26 19:22:25 +02:00
Gael Guennebaud
e4f64ce098
add optimized quaternion * quaternion product specialization for
...
float/SSE using code from Rohit Garg
2009-03-07 13:52:44 +00:00
Gael Guennebaud
0be89a4796
big addons:
...
* add Homogeneous expression for vector and set of vectors (aka matrix)
=> the next step will be to overload operator*
* add homogeneous normalization (again for vector and set of vectors)
* add a Replicate expression (with uni-directional replication
facilities)
=> for all of them I'll add examples once we agree on the API
* fix gcc-4.4 warnings
* rename reverse.cpp array_reverse.cpp
2009-03-05 10:25:22 +00:00
Benoit Jacob
a79deafc6d
* mark Geometry as experimental
...
* install QtAlignedMalloc
* finish the renaming Regression->LeastSquares
* install LeastSquares directory (!!!)
* misc dox fixes
2009-01-26 13:53:43 +00:00
Benoit Jacob
8106d35408
Patch by Kenneth Riddile: disable MSVC warnings, reenable them outside
...
of Eigen, and add a MSVC-friendly path in StaticAssert.
2008-12-18 20:48:02 +00:00
Gael Guennebaud
faf942a947
Add a generic matrix to Euler-angles function.
...
Perhaps the prototype of this function could be improved,
see comments in the code
2008-12-05 15:56:28 +00:00
Gael Guennebaud
ca048aaf77
fix compilation with gcc 4.3
2008-10-26 20:43:05 +00:00
Gael Guennebaud
94f6f2a7de
Add an axis aligned box in the geometry module.
...
Some naming questions:
- for "extend" we could also think of: "expand", "union", "add"
- same for "clamp": "crop", "intersect"
- same for "contains": "isInside", "intersect"
=> ah "intersect" is conflicting, so that eliminates this one !
2008-10-26 15:04:31 +00:00
Gael Guennebaud
703539110b
add the missing templated version of block for sub-vectors
2008-09-09 09:30:23 +00:00
Gael Guennebaud
52406aecad
* Extend a bit ParametrizedLine and move it to a separate file,
...
add unit-tests for it.
* remove "using namespace std" in test/main.h such that the compilation
bug found today in SVD won't happen again.
2008-09-03 22:35:45 +00:00
Gael Guennebaud
9c450a52a2
Split Rotation.h to Rotation2D.h and RotationBase.h,
...
and more code factorization based on RotationBase.
Added notes about the main aim of the Translation and Scaling classes.
2008-08-30 21:36:04 +00:00
Gael Guennebaud
6ba991aa3a
* added a RotationBase class following the CRT pattern
...
This allow code factorization and generic template specialization
of functions
* added any_rotation * {Translation,Scaling,Transform} products methods
* rewrite of the actually broken ToRoationMatrix helper class to
a global ei_toRotationMatrix function.
2008-08-30 20:11:04 +00:00
Gael Guennebaud
236b7a545d
update Transform::inverse() to take an optional argument stating whether the transformation is:
...
NonAffine, Affine (default), contains NoShear, contains NoScaling
that allows significant speed improvements. If you like it, this concept could be applied to
Transform::extractRotation (or to a more advanced decomposition function) and to Hyperplane::transformed()
and maybe to some other places... e.g., I think a Transform::normalMatrix() function would not harm and
warn user that the transformation of normals is not that trivial (I saw this mistake much too often)
2008-08-30 12:42:06 +00:00
Gael Guennebaud
9e7a9cde14
Add Scaling and Translation class as discussed on ML, still missing:
...
* handling Quaternion, AngleAxis and Rotation2D, 2 options here:
1- make all of them inheriting a common base class Rotation such that we can
have a single version of operator* for all the rotation type (they all get converted to a matrix)
2- write a version for all type (so 3 rotations types * 3 for Transform,Translation and Scaling)
* real documentation
2008-08-30 00:08:23 +00:00
Gael Guennebaud
6d841512c7
some hyperplane changes:
...
- the coefficients are stored in a single vector
- added transformation methods
- removed Line* typedef since in 2D this is really an hyperplane
and not really a line...
- HyperPlane => Hyperplane
2008-08-29 13:30:37 +00:00
Gael Guennebaud
9b4d46c82e
* Add an HyperPlane class in the Geometry module
...
with its respective unit-test.
Feel free to discuss the API on the ML.
* Some bugfix in unitOrthogonal found by the hyperplane unit test.
2008-08-28 17:44:27 +00:00
Gael Guennebaud
63d3ef8204
* remove debug code commited by mistake in Assign
...
* keep going on the doc: added a short geometry tutorial
2008-08-26 23:07:33 +00:00
Gael Guennebaud
00a8d314c5
* move memory related stuff to util/Memory.h
...
* clean ugly doxygen inheritence of expressions
* keep improving the documentation... slowly !
2008-08-26 19:12:23 +00:00
Gael Guennebaud
a6d387a359
Various compilation fixes for MSVC 9. All tests compile but some
...
still fail at runtime in ei_aligned_free() (even without vectorization).
2008-08-19 11:06:40 +00:00
Benoit Jacob
13ad88736e
last small fixes, this is alpha6, eigen2 is now ready for eigen1 apps to
...
port to.
2008-08-12 02:14:02 +00:00
Gael Guennebaud
02a7efa910
forgot to include this file in previous commit
2008-07-27 14:24:32 +00:00
Gael Guennebaud
172000aaeb
Add .perpendicular() function in Geometry module (adapted from Eigen1)
...
Documentation:
* add an overview for each module.
* add an example for .all() and Cwise::operator<
2008-07-22 10:54:42 +00:00
Gael Guennebaud
ce425d92f1
Various documentation improvements, in particualr in Cholesky and Geometry module.
...
Added doxygen groups for Matrix typedefs and the Geometry module
2008-07-20 15:18:54 +00:00
Gael Guennebaud
6e2c53e056
Added an automatically generated list of selected examples in the documentation.
...
Added the custom gemetry_module tag, and use it.
2008-07-19 20:36:41 +00:00
Gael Guennebaud
05ad083467
Added MatrixBase::Unit*() static function to easily create unit/basis vectors.
...
Removed EulerAngles, addes typdefs for Quaternion and AngleAxis,
and added automatic conversions from Quaternion/AngleAxis to Matrix3 such that:
Matrix3f m = AngleAxisf(0.2,Vector3f::UnitX) * AngleAxisf(0.2,Vector3f::UnitY);
just works.
2008-07-19 13:03:23 +00:00
Gael Guennebaud
32c5ea388e
work on rotations in the Geometry module:
...
- convertions are done trough constructors and operator=
- added a EulerAngles class
2008-06-21 15:01:49 +00:00
Gael Guennebaud
bc0c7c57ed
Added an extensible mechanism to support any kind of rotation
...
representation in Transform via the template static class
ToRotationMatrix.
Added a lightweight AngleAxis class (similar to Rotation2D).
2008-06-15 17:22:41 +00:00
Gael Guennebaud
fbbd8afe30
Started a Transform class in the Geometry module to represent
...
homography.
Fix indentation in Quaternion.h
2008-06-15 08:33:44 +00:00
Gael Guennebaud
196f38f5db
improved Quaternion class:
...
- Euler angles and angle axis conversions,
- stable spherical interpolation
- documentation
- update the respective unit test
2008-06-03 13:43:29 +00:00
Gael Guennebaud
366971bea4
* start of the Geometry module with a cross product and quaternion expressions
...
(haven't tried them yet)
* applied the meta selector rule to MatrixBase::swap()
2008-06-02 22:58:36 +00:00