| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current `test/geo_alignedbox` tests fail on 32-bit arm due to small floating-point errors.
In particular, the following is not guaranteed to hold:
```
IsometryTransform identity = IsometryTransform::Identity();
BoxType transformedC;
transformedC.extend(c.transformed(identity));
VERIFY(transformedC.contains(c));
```
since `c.transformed(identity)` is ever-so-slightly different from `c`. Instead, we replace this test with one that checks an identity transform is within floating-point precision of `c`.
Also updated the condition on `AlignedBox::transform(...)` to only accept `Affine`, `AffineCompact`, and `Isometry` modes explicitly. Otherwise, invalid combinations of modes would also incorrectly pass the assertion.
|
| |
|
| |
|
|
|
|
|
| |
Additional CUDA necessary fixes in the Core (mostly usage of
EIGEN_USING_STD_MATH).
|
|
|
|
|
|
|
|
|
|
|
|
| |
with a constant expression.
This slightly complexifies the type of the expressions and implies that we now have to distinguish between scalar*expr and expr*scalar to catch scalar-multiple expression (e.g., see BlasUtil.h), but this brings several advantages:
- it makes it clear on each side the scalar is applied,
- it clearly reflects that we are dealing with a binary-expression,
- the complexity of the type is hidden through macros defined at the end of Macros.h,
- distinguishing between "scalar op expr" and "expr op scalar" is important to support non commutative fields (like quaternions)
- "scalar op expr" is now fully equivalent to "ConstantExpr(scalar) op expr"
- scalar_multiple_op, scalar_quotient1_op and scalar_quotient2_op are not used anymore in officially supported modules (still used in Tensor)
|
|
|
|
|
|
|
|
|
|
| |
- Replace internal::scalar_product_traits<A,B> by Eigen::ScalarBinaryOpTraits<A,B,OP>
- Remove the "functor_is_product_like" helper (was pretty ugly)
- Currently, OP is not used, but it is available to the user for fine grained tuning
- Currently, only the following operators have been generalized: *,/,+,-,=,*=,/=,+=,-=
- TODO: generalize all other binray operators (comparisons,pow,etc.)
- TODO: handle "scalar op array" operators (currently only * is handled)
- TODO: move the handling of the "void" scalar type to ScalarBinaryOpTraits
|
| |
|
| |
|
|
|
|
| |
further improvements in documentation
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
meaningless type qualifiers)
|
|
|
|
| |
cases that might affect the ABI (see the bug entry)
|
|
|
|
|
| |
- 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
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
missing ones, etc.
(note that const qualifiers are set by internall::nested)
|
| |
|
|
|
|
|
| |
Includes 1-4 and dynamic sized boxes for int, float and double type.
Also changes the tests to use these typedefs.
|
|
|
|
|
|
|
| |
default windows.h
(transplanted from 49b6e9143e1d74441924c0c313536e263e12a55c
)
|
|
|
|
| |
needed to fix docs compile issue.
|
| |
|
|
|
|
|
| |
- all what's not in unsupported/ is considered stable API
(except internal stuff e.g. expression templates).
|
| |
|
|
|
|
| |
As discussed on the list (too long to explain here).
|
|
|
|
|
|
|
|
| |
* Now completely generic so all standard integer types (like char...) are supported.
** add unit test for that (integer_types).
* NumTraits does no longer inherit numeric_limits
* All math functions are now templated
* Better guard (static asserts) against using certain math functions on integer types.
|
| |
|
|
|
|
| |
Enhance AlignedBox to accept integral types and add some usefull methods: diagonal, volume, sample.
|
|
|
|
| |
* make NumTraits inherits std::numeric_limits
|
| |
|
|\ |
|
| | |
|
| | |
|
|/
|
|
|
|
| |
* 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
|
|
|
|
| |
it never made very precise sense. but now does it still make any?
|
| |
|
| |
|
|
|
|
|
|
|
| |
* update test_stdvector
* Quaternion() does nothing (instead of bug)
* update test_geometry
* some renaming
|
|
|
|
| |
name as parameter
|
|
|
|
|
|
|
| |
ei_aligned_malloc now really behaves like a malloc
(untyped, doesn't call ctor)
ei_aligned_new is the typed variant calling ctor
EIGEN_MAKE_ALIGNED_OPERATOR_NEW now takes the class name as parameter
|
|
|
|
|
|
|
|
|
| |
(former solution still available and tested)
This plays much better with classes that already have base classes --
don't force the user to mess with multiple inheritance, which gave
much trouble with MSVC.
* Expand the unaligned assert dox page
* Minor fixes in the lazy evaluation dox page
|
|
|
|
|
|
|
| |
can't believe that 3 people wasted so much time because of a missing &
!!!!!
and this time MSVC didn't catch it so it was really copying the vector
on the stack at an unaligned location!
|
| |
|
|
|
|
|
| |
* 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
|
|
|
|
| |
of the stable API yet and a couple of other minor doc updates...
|