aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen
Commit message (Collapse)AuthorAge
* Fix operator priorityGravatar Gael Guennebaud2016-06-23
|
* Fix warning.Gravatar Gael Guennebaud2016-06-23
|
* merge PR 194Gravatar Gael Guennebaud2016-06-23
|\
| * Introduce a NumTraits<T>::Literal type to be used for literals, andGravatar Gael Guennebaud2016-06-23
| | | | | | | | | | | | | | improve mixing type support in operations between arrays and scalars: - 2 * ArrayXcf is now optimized in the sense that the integer 2 is properly promoted to a float instead of a complex<float> (fix a regression) - 2.1 * ArrayXi is now forbiden (previously, 2.1 was converted to 2) - This mechanism should be applicable to any custom scalar type, assuming NumTraits<T>::Literal is properly defined (it defaults to T)
* | Biug 1242: fix comma init with empty matrices.Gravatar Gael Guennebaud2016-06-23
| |
* | Made log1p_impl usable inside a GPU kernelGravatar Benoit Steiner2016-06-16
| |
| * Fix warnings with gccGravatar Gael Guennebaud2016-06-15
| |
| * Move scalar/expr to ArrayBase and fix documentationGravatar Gael Guennebaud2016-06-15
| |
| * Propagate functor to ScalarBinaryOpTraitsGravatar Gael Guennebaud2016-06-15
| |
| * Include the cost of stores in unrolling of triangular expressions.Gravatar Gael Guennebaud2016-06-15
| |
| * Cleanup useless helper: internal::product_result_scalarGravatar Gael Guennebaud2016-06-15
| |
| * Include the cost of stores in unrolling (also fix infinite unrolling with ↵Gravatar Gael Guennebaud2016-06-15
| | | | | | | | expression costing 0 like Constant)
| * mergeGravatar Gael Guennebaud2016-06-14
| |\ | |/ |/|
| * Cleanup unused functors.Gravatar Gael Guennebaud2016-06-14
| |
| * Generalize expr/expr and scalar/expr wrt scalar types.Gravatar Gael Guennebaud2016-06-14
| |
| * Update AutoDiffScalar wrt to scalar-multiple.Gravatar Gael Guennebaud2016-06-14
| |
| * Generalize expr.pow(scalar), pow(expr,scalar) and pow(scalar,expr).Gravatar Gael Guennebaud2016-06-14
| | | | | | | | Internal: scalar_pow_op (unary) is removed, and scalar_binary_pow_op is renamed scalar_pow_op.
| * Implement expr+scalar, scalar+expr, expr-scalar, and scalar-expr as binary ↵Gravatar Gael Guennebaud2016-06-14
| | | | | | | | | | | | expressions, and generalize supported scalar types. The following functors are now deprecated: scalar_add_op, scalar_sub_op, and scalar_rsub_op.
| * Fix doc.Gravatar Gael Guennebaud2016-06-14
| |
| * Add unittesting plugins to scalar_product_op and scalar_quotient_op to help ↵Gravatar Gael Guennebaud2016-06-14
| | | | | | | | chaking that types are properly propagated.
| * Generalize coeff-wise sparse products to support different scalar typesGravatar Gael Guennebaud2016-06-14
| |
| * Set cost of constant expression to 0 (the cost should be amortized through ↵Gravatar Gael Guennebaud2016-06-14
| | | | | | | | the expression)
| * Move MatrixBase::operaotr*(UniformScaling) as a free function in Scaling.h, ↵Gravatar Gael Guennebaud2016-06-14
| | | | | | | | and fix return type.
| * Implement scalar multiples and division by a scalar as a binary-expression ↵Gravatar Gael Guennebaud2016-06-14
| | | | | | | | | | | | | | | | | | | | | | | | 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)
| * Add bind1st_op and bind2nd_op helpers to turn binary functors into unary ↵Gravatar Gael Guennebaud2016-06-13
| | | | | | | | ones, and implement scalar_multiple2 and scalar_quotient2 on top of them.
| * Add default template parameters for the second scalar type of binary functors.Gravatar Gael Guennebaud2016-06-13
| | | | | | | | This enhences backward compatibility.
* | Add missing explicit scalar conversionGravatar Gael Guennebaud2016-06-12
| |
* | Make sure T(i+1,i)==0 when diagonalizing T(i:i+1,i:i+1)Gravatar Gael Guennebaud2016-06-11
| |
| * CleanupGravatar Gael Guennebaud2016-06-10
| |
| * Enable mixing types in numext::powGravatar Gael Guennebaud2016-06-10
| |
| * Big 279: enable mixing types for comparisons, min, and max.Gravatar Gael Guennebaud2016-06-10
| |
* | bug #1240: Remove any assumption on NEON vector types.Gravatar Gael Guennebaud2016-06-09
| |
| * Clean handling for void type in EIGEN_CHECK_BINARY_COMPATIBILIYGravatar Gael Guennebaud2016-06-06
| |
| * Disable shortcuts for res ?= prod when the scalar types do not match exactly.Gravatar Gael Guennebaud2016-06-06
| |
| * Relax mixing-type constraints for binary coefficient-wise operators:Gravatar Gael Guennebaud2016-06-06
| | | | | | | | | | | | | | | | | | | | - 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
* | Fix compile errors initializing packets on ARM DS-5 5.20Gravatar Sean Templeton2016-06-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ARM DS-5 5.20 compiler fails compiling with the following errors: "src/Core/arch/NEON/PacketMath.h", line 113: Error: #146: too many initializer values Packet4f countdown = EIGEN_INIT_NEON_PACKET4(0, 1, 2, 3); ^ "src/Core/arch/NEON/PacketMath.h", line 118: Error: #146: too many initializer values Packet4i countdown = EIGEN_INIT_NEON_PACKET4(0, 1, 2, 3); ^ "src/Core/arch/NEON/Complex.h", line 30: Error: #146: too many initializer values static uint32x4_t p4ui_CONJ_XOR = EIGEN_INIT_NEON_PACKET4(0x00000000, 0x80000000, 0x00000000, 0x80000000); ^ "src/Core/arch/NEON/Complex.h", line 31: Error: #146: too many initializer values static uint32x2_t p2ui_CONJ_XOR = EIGEN_INIT_NEON_PACKET2(0x00000000, 0x80000000); ^ The vectors are implemented as two doubles, hence the too many initializer values error. Changed the code to use intrinsic load functions which all compilers implementing NEON should have.
* | Make Arrays's ctor/assignment noexceptGravatar Gael Guennebaud2016-06-09
| |
* | Take advantage that T is already diagonal in the extraction of generalized ↵Gravatar Gael Guennebaud2016-06-09
| | | | | | | | complex eigenvalues.
* | Update RealQZ to reduce 2x2 diagonal block of T corresponding to non reduced ↵Gravatar Gael Guennebaud2016-06-09
| | | | | | | | | | | | diagonal block of S to positive diagonal form. This step involve a real 2x2 SVD problem. The respective routine is thus in src/misc/ to be shared by both EVD and AVD modules.
* | Fix shadow variable, and indexing.Gravatar Gael Guennebaud2016-06-09
| |
* | Fixed type conversion from intGravatar Abhijit Kundu2016-06-08
| |
* | Fixes for PARDISO: warnings, and defaults to metis+ in-core mode.Gravatar Gael Guennebaud2016-06-08
| |
* | Fix extraction of complex eigenvalue pairs in real generalized eigenvalue ↵Gravatar Gael Guennebaud2016-06-08
| | | | | | | | problems.
* | Enable the vectorization of adds and mults of fp16Gravatar Benoit Steiner2016-06-07
| |
* | Added missing EIGEN_DEVICE_FUNC qualifiers to the unary array opsGravatar Benoit Steiner2016-06-06
| |
* | Implement result_of for the new ternary functorsGravatar Benoit Steiner2016-06-06
| |
* | bug #1201: improve code generation of affine*vec with MSVCGravatar Gael Guennebaud2016-06-06
|/
* Silenced compilation warningGravatar Benoit Steiner2016-06-05
|
* Moved static assertions into the class constructor to make the code more ↵Gravatar Benoit Steiner2016-06-05
| | | | portable
* Add TernaryFunctors and the betainc SpecialFunction.Gravatar Eugene Brevdo2016-06-02
| | | | | | | | | | | | | | | | | | | 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.