| Commit message (Collapse) | Author | Age |
| |
|
| |
|
|
|
|
| |
Includes CUDA support and unit tests.
|
| |
|
|
|
|
| |
coeff(index)-like methods.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Dynamic is now an invalid value
- introduce a HugeCost constant to be used for runtime-cost values or arbitrarily huge cost
- add sanity checks for cost values: must be >=0 and not too large
This change provides several benefits:
- it fixes shortcoming is some cost computation where the Dynamic case was not properly handled.
- it simplifies cost computation logic, and should avoid future similar shortcomings.
- it allows to distinguish between different level of dynamic/huge/infinite cost
- it should enable further simplifications in the computation of costs (save compilation time)
|
|
|
|
|
| |
Also safely assert in the non-implemented path that should never be taken in practice,
and would return wrong results.
|
|
|
|
|
|
|
|
| |
This is substantially faster on ARM, where it's important to minimize the number of loads.
This is specific to the case where all packet types are of size 4. I made my best attempt to minimize how dirty this is... opinions welcome.
Eventually one could have a generic rotated kernel, but it would take some work to get there. Also, on sandy bridge, in my experience, it's not beneficial (even about 1% slower).
|
|
|
|
| |
failtests for Ref<>
|
|
|
|
| |
are all defined in util/Macros.h and prefixed with EIGEN_COMP_, EIGEN_OS_, and EIGEN_ARCH_ respectively.
|
|\ |
|
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
SizeAtCompileTime
|
| |
| |
| |
| |
| | |
:
"template argument for non-type template parameter is treated as function type 'bool (bool)'"
|
| |
| |
| |
| | |
products)
|
|/
|
|
| |
scalar for inner products
|
| |
|
| |
|
| |
|
|
|
|
| |
coeff-wise binary op
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
types are integer.
The 2D vector ctor taking (x, y) is not concerned.
|
| |
|
| |
|
|
|
|
| |
build and succeed.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
it was calling the .value() method on an inner product, and that was blocked in bad zero-sized case.
fixed by adding the .value() method to DenseBase for all 1x1 expressions, and allowing coeff accessors in ProductBase for 1x1 expressions.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Not really tested as the geometry tests are currently busted.
|
| |
|
|
|
|
| |
Added missing static Identity() to Rotation2D, AngleAxis.
|
| |
|
| |
|
|
|
|
| |
remove EIGEN_ENUM_MIN/MAX, implement new macros instead
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
specialization
of ei_matrix_array for size 0
* adapt many xprs to have the right storage order, now that it matters
* add static assert on expressions to check that vector xprs
have the righ storage order
* adapt ei_plain_matrix_type_(column|row)_major
* implement assignment of selfadjointview to matrix
(was before failing to compile) and add nestedExpression() methods
* expand product_symm test
* in ei_gemv_selector, use the PlainObject type instead of a custom Matrix<...> type
* fix VectorBlock and Block mistakes
|
|
|
|
|
| |
my day, my hard disk would die.
Will write a more detailed commit message once it's working.
|
|
|
|
|
|
| |
* introduce a lazy product version of the coefficient based implementation
=> flagged is not used anymore
=> small outer product are now lazy by default (aliasing is really unlikely for outer products)
|
|
|
|
|
|
| |
do the check when debugging eigen to avoid slowing down compilation for everybody (this check is paranoiac, it's very seldom useful)
* add private MatrixBase ctors to catch cases when the user tries to construct MatrixBase objects directly
|
|
|
|
|
|
|
|
|
| |
* support resize() to same size (nop). The case of FFT was another case where that make one's life far easier.
hope that's ok with you Gael. but indeed, i don't use it in the ReturnByValue stuff.
FFT:
* Support MatrixBase (well, in the case with direct memory access such as Map)
* adapt unit test
|
| |
|
|
|
|
| |
Allowed VC10 to make use of static_assert.
|
| |
|