| Commit message (Collapse) | Author | Age |
|
|
|
| |
assertion is a static one and not a runtime one.
|
| |
|
| |
|
|
|
|
| |
assertion if the scalar type does not match this requirement.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TernaryFunctors and their executors allow operations on 3-tuples of inputs.
API fully implemented for Arrays and Tensors based on binary functors.
Ported the cephes betainc function (regularized incomplete beta
integral) to Eigen, with support for CPU and GPU, floats, doubles, and
half types.
Added unit tests in array.cpp and cxx11_tensor_cuda.cu
Collapsed revision
* Merged helper methods for betainc across floats and doubles.
* Added TensorGlobalFunctions with betainc(). Removed betainc() from TensorBase.
* Clean up CwiseTernaryOp checks, change igamma_helper to cephes_helper.
* betainc: merge incbcf and incbd into incbeta_cfe. and more cleanup.
* Update TernaryOp and SpecialFunctions (betainc) based on review comments.
|
| |
|
| |
|
| |
|
|
|
|
| |
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
|