| Commit message (Collapse) | Author | Age |
| |
|
| |
|
|
|
|
| |
std::min/max
|
|
|
|
|
| |
- remove most of the metaprogramming kung fu in MathFunctions.h (only keep functions that differs from the std)
- remove the overloads for array expression that were in the std namespace
|
| |
|
|
|
|
| |
concerns the Core and Geometry modules
|
| |
|
| |
|
|
|
|
|
|
|
| |
default windows.h
(transplanted from 49b6e9143e1d74441924c0c313536e263e12a55c
)
|
|
|
|
|
|
|
| |
a standard math function using std:: but rather put a using std::foo before and simply call foo:
using std::max;
max(a,b);
|
| |
|
| |
|
|
|
|
| |
since a slight numerical issue may trigger NaN. The overhead is small and I doubt the perf of this function could be critival for any application !
|
| |
|
|
|
|
| |
Added missing static Identity() to Rotation2D, AngleAxis.
|
| |
|
|
|
|
| |
* make NumTraits inherits std::numeric_limits
|
|
|
|
| |
Added regression test.
|
|\ |
|
| | |
|
|/
|
|
|
|
| |
* add a new Eigen2Support module including Cwise, Flagged, and some other deprecated stuff
* add a few cwiseXxx functions
* adapt a few modules to use cwiseXxx instead of the .cwise() prefix
|
|
|
|
|
|
| |
* replace implicit constructor AngleAxis(QuaternionBase&) by an explicit one, it seems ambiguous for the compiler
* remove explicit constructor with conversion type quaternion(Quaternion&): conflict between constructor.
* modify EIGEN_INHERIT_ASSIGNEMENT_OPERATORS to suit Quaternion class
|
| |
|
|
|
|
| |
it never made very precise sense. but now does it still make any?
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* fixes for mistakes (especially in the cast() methods in Geometry) revealed by the new "mixing types" test
* dox love, including a section on coeff access in core and an overview in geometry
|
| |
|
|
|
|
| |
Complete unit tests wrt previous commits.
|
| |
|
|
|
|
|
| |
to all classes of the Geometry module. By smart I mean that if current
type == new type, then it returns a const reference to *this => zero overhead
|
|
|
|
|
| |
* Fix compilations with gcc 3.4, ICC and doxygen
* Fix krazy directives (hopefully)
|
|
|
|
|
| |
and more code factorization based on RotationBase.
Added notes about the main aim of the Translation and Scaling classes.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
* keep going on the doc: added a short geometry tutorial
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AngleAxis*Vector products were wrong because they returned the product
_expression_
toRotationMatrix()*other;
and toRotationMatrix() died before that expression would be later
evaluated. Here it would not have been practical to NestByValue as this
is a whole matrix. So, let them simply evaluate and return the result by
value.
The geometry.cpp unit-test only checked for compatibility between
various rotations, it didn't check the correctness of the rotations
themselves. That's why this bug escaped us. So, this commit checks that
the rotations produced by AngleAxis have all the expected properties.
Since the compatibility with the other rotations is already checked,
this should validate them as well.
|
| |
|
|
|
|
|
|
|
| |
* replaced the Flags template parameter of Matrix by StorageOrder
and move it back to the 4th position such that we don't have to
worry about the two Max* template parameters
* extended EIGEN_USING_MATRIX_TYPEDEFS with the ei_* math functions
|
|
|
|
|
|
|
| |
in Cholesky
* fix all numerical instabilies in the unit tests, now all tests can be run 2000 times
with almost zero failures.
|
|
|
|
|
|
|
|
|
| |
* add some explanations in the typedefs page
* expand a bit the new QuickStartGuide. Some placeholders (not a pb since
it's not even yet linked to from other pages). The point I want to make is
that it's super important to have fully compilable short programs (even
with compile instructions for the first one) not just small snippets, at
least at the beginning. Let's start with examples of compilable programs.
|
|
|
|
|
|
|
|
|
| |
* remove the cast operators in the Geometry module: they are replaced by constructors
and new operator= in Matrix
* extended the operations supported by Rotation2D
* rewrite in solveTriangular:
- merge the Upper and Lower specializations
- big optimization of the path for row-major triangular matrices
|
|
|
|
|
|
|
|
|
|
| |
- conflicts with operator * overloads
- discard the use of ei_pdiv for interger
(g++ handles operators on __m128* types, this is why it worked)
- weird behavior of icc in fixed size Block() constructor complaining
the initializer of m_blockRows and m_blockCols were missing while
we are in fixed size (maybe this hide deeper problem since this is a
recent one, but icc gives only little feedback)
|
|
|
|
|
|
| |
module.
Added doxygen groups for Matrix typedefs and the Geometry module
|
|
|
|
| |
Various documentation improvements including new snippets (AngleAxis and Cholesky)
|
|
|
|
| |
Added the custom gemetry_module tag, and use it.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
can be seen in Eigen/src/Core/Cwise.h.
|
|
- convertions are done trough constructors and operator=
- added a EulerAngles class
|