Commit Graph

  • 8e198d6835 Complete docs and add ostream operator for EulerAngles. Tal Hadad 2016-06-19 20:42:45 +03:00
  • b055590e91 Made log1p_impl usable inside a GPU kernel Benoit Steiner 2016-06-16 11:37:40 -07:00
  • 72c95383e0 Add autodiff coverage for standard library hyperbolic functions, and tests. * * * Corrected tanh derivatived, moved test definitions. * * * Added more test cases, removed lingering lines Geoffrey Lalonde 2016-06-15 23:33:19 -07:00
  • 67c12531e5 Fix warnings with gcc Gael Guennebaud 2016-06-15 18:11:33 +02:00
  • eb91345d64 Move scalar/expr to ArrayBase and fix documentation Gael Guennebaud 2016-06-15 15:22:03 +02:00
  • 4794834397 Propagate functor to ScalarBinaryOpTraits Gael Guennebaud 2016-06-15 09:58:49 +02:00
  • c55035b9c0 Include the cost of stores in unrolling of triangular expressions. Gael Guennebaud 2016-06-15 09:57:33 +02:00
  • 7d495d890a Merged in ibab/eigen (pull request PR-197) Benoit Steiner 2016-06-14 17:54:59 -07:00
  • aedc5be1d6 Avoid generating pseudo random numbers that are multiple of 5: this helps spread the load over multiple cpus without havind to rely on work stealing. Benoit Steiner 2016-06-14 17:51:47 -07:00
  • 4e7c3af874 Cleanup useless helper: internal::product_result_scalar Gael Guennebaud 2016-06-15 00:04:10 +02:00
  • 101ea26f5e Include the cost of stores in unrolling (also fix infinite unrolling with expression costing 0 like Constant) Gael Guennebaud 2016-06-15 00:01:16 +02:00
  • c4d10e921f Implement exclusive scan option Igor Babuschkin 2016-06-14 19:44:07 +01:00
  • 76236cdea4 merge Gael Guennebaud 2016-06-14 15:33:47 +02:00
  • 1004c4df99 Cleanup unused functors. Gael Guennebaud 2016-06-14 15:27:28 +02:00
  • 70dad84b73 Generalize expr/expr and scalar/expr wrt scalar types. Gael Guennebaud 2016-06-14 15:26:37 +02:00
  • 62134082aa Update AutoDiffScalar wrt to scalar-multiple. Gael Guennebaud 2016-06-14 15:06:35 +02:00
  • 5d38203735 Update Tensor module to use bind1st_op and bind2nd_op Gael Guennebaud 2016-06-14 15:06:03 +02:00
  • 396d9cfb6e Generalize expr.pow(scalar), pow(expr,scalar) and pow(scalar,expr). Internal: scalar_pow_op (unary) is removed, and scalar_binary_pow_op is renamed scalar_pow_op. Gael Guennebaud 2016-06-14 14:10:07 +02:00
  • a9bb653a68 Update doc (scalar_add_op is now deprecated) Gael Guennebaud 2016-06-14 12:07:00 +02:00
  • a8c08e8b8e Implement expr+scalar, scalar+expr, expr-scalar, and scalar-expr as binary expressions, and generalize supported scalar types. The following functors are now deprecated: scalar_add_op, scalar_sub_op, and scalar_rsub_op. Gael Guennebaud 2016-06-14 12:06:10 +02:00
  • 756ac4a93d Fix doc. Gael Guennebaud 2016-06-14 12:03:39 +02:00
  • f925dba3d9 Fix compilation of BVH example Gael Guennebaud 2016-06-14 11:32:09 +02:00
  • 12350d3ac7 Add unit test for AlignedBox::center Gael Guennebaud 2016-06-14 11:31:52 +02:00
  • bcc0f38f98 Add unittesting plugins to scalar_product_op and scalar_quotient_op to help chaking that types are properly propagated. Gael Guennebaud 2016-06-14 11:31:27 +02:00
  • f57fd78e30 Generalize coeff-wise sparse products to support different scalar types Gael Guennebaud 2016-06-14 11:29:54 +02:00
  • f5b1c73945 Set cost of constant expression to 0 (the cost should be amortized through the expression) Gael Guennebaud 2016-06-14 11:29:06 +02:00
  • deb8306e60 Move MatrixBase::operaotr*(UniformScaling) as a free function in Scaling.h, and fix return type. Gael Guennebaud 2016-06-14 11:28:03 +02:00
  • 64fcfd314f Implement scalar multiples and division by a scalar as a binary-expression 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) Gael Guennebaud 2016-06-14 11:26:57 +02:00
  • 39781dc1e2 Fix compilation of evaluator unit test Gael Guennebaud 2016-06-14 11:03:26 +02:00
  • 6edfe8771b Little bit docs Tal Hadad 2016-06-13 22:03:19 +03:00
  • 6e1c086593 Add static assertion Tal Hadad 2016-06-13 21:55:17 +03:00
  • 3c12e24164 Add bind1st_op and bind2nd_op helpers to turn binary functors into unary ones, and implement scalar_multiple2 and scalar_quotient2 on top of them. Gael Guennebaud 2016-06-13 16:18:59 +02:00
  • 7a9ef7bbb4 Add default template parameters for the second scalar type of binary functors. This enhences backward compatibility. Gael Guennebaud 2016-06-13 16:17:23 +02:00
  • 2ca2ffb65e check for mixing types in "array / scalar" expressions Gael Guennebaud 2016-06-13 16:15:32 +02:00
  • 4c61f00838 Add missing explicit scalar conversion Gael Guennebaud 2016-06-12 22:42:13 +02:00
  • 06206482d9 More docs, and minor code fixes Tal Hadad 2016-06-12 23:40:17 +03:00
  • a3a4714aba Add debug output. Gael Guennebaud 2016-06-11 14:41:53 +02:00
  • 83904a21c1 Make sure T(i+1,i)==0 when diagonalizing T(i:i+1,i:i+1) Gael Guennebaud 2016-06-11 14:41:36 +02:00
  • 65d33e5898 Merged in ibab/eigen (pull request PR-195) Benoit Steiner 2016-06-10 19:31:17 -07:00
  • a05607875a Don't refer to the half2 type unless it's been defined Benoit Steiner 2016-06-10 11:53:56 -07:00
  • fabae6c9a1 Cleanup Gael Guennebaud 2016-06-10 15:58:33 +02:00
  • 5de8d7036b Add real.pow(complex), complex.pow(real) unit tests. Gael Guennebaud 2016-06-10 15:58:22 +02:00
  • 5fdd703629 Enable mixing types in numext::pow Gael Guennebaud 2016-06-10 15:58:04 +02:00
  • 2e238bafb6 Big 279: enable mixing types for comparisons, min, and max. Gael Guennebaud 2016-06-10 15:05:43 +02:00
  • 0028049380 bug #1240: Remove any assumption on NEON vector types. Gael Guennebaud 2016-06-09 23:08:11 +02:00
  • 86aedc9282 Add small fixes to TensorScanOp Igor Babuschkin 2016-06-07 20:06:38 +01:00
  • 2c462f4201 Clean handling for void type in EIGEN_CHECK_BINARY_COMPATIBILIY Gael Guennebaud 2016-06-06 23:11:38 +02:00
  • 3d71d3918e Disable shortcuts for res ?= prod when the scalar types do not match exactly. Gael Guennebaud 2016-06-06 23:10:55 +02:00
  • e30133e439 Doc EulerAngles class, and minor fixes. Tal Hadad 2016-06-06 22:01:40 +03:00
  • 66e99ab6a1 Relax mixing-type constraints for binary coefficient-wise operators: - 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 Gael Guennebaud 2016-06-06 15:11:41 +02:00
  • f1f2ff8208 size_t -> int Rasmus Munk Larsen 2016-06-03 18:06:37 -07:00
  • 76308e7fd2 Add CurrentThreadId and NumThreads methods to Eigen threadpools and TensorDeviceThreadPool. Rasmus Munk Larsen 2016-06-03 16:28:58 -07:00
  • bd21243821 Fix compile errors initializing packets on ARM DS-5 5.20 Sean Templeton 2016-06-03 10:51:35 -05:00
  • 1fc2746417 Make Arrays's ctor/assignment noexcept Gael Guennebaud 2016-06-09 22:52:37 +02:00
  • 37638dafd7 Simplified the code that dispatches vectorized reductions on GPU Benoit Steiner 2016-06-09 10:29:52 -07:00
  • 66796e843d Fixed definition of some of the reducer_traits Benoit Steiner 2016-06-09 08:50:01 -07:00
  • 4434b16694 Pulled latest updates from trunk Benoit Steiner 2016-06-09 08:25:47 -07:00
  • 14a112ee15 Use signed integers more consistently to encode the number of threads to use to evaluate a tensor expression. Benoit Steiner 2016-06-09 08:25:22 -07:00
  • 8f92c26319 Improved code formatting Benoit Steiner 2016-06-09 08:23:42 -07:00
  • aa33446dac Improved support for vectorization of 16-bit floats Benoit Steiner 2016-06-09 08:22:27 -07:00
  • e2b3836326 Include recent changesets that played with product's kernel Gael Guennebaud 2016-06-09 17:13:33 +02:00
  • 2bd59b0e0d Take advantage that T is already diagonal in the extraction of generalized complex eigenvalues. Gael Guennebaud 2016-06-09 17:12:03 +02:00
  • c1f9ca9254 Update RealQZ to reduce 2x2 diagonal block of T corresponding to non reduced 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. Gael Guennebaud 2016-06-09 17:11:03 +02:00
  • 15890c304e Add unit test for non symmetric generalized eigenvalues Gael Guennebaud 2016-06-09 16:17:27 +02:00
  • a20d2ec1c0 Fix shadow variable, and indexing. Gael Guennebaud 2016-06-09 16:16:22 +02:00
  • 0beabb4776 Fixed type conversion from int Abhijit Kundu 2016-06-08 16:12:04 -04:00
  • df095cab10 Fixes for PARDISO: warnings, and defaults to metis+ in-core mode. Gael Guennebaud 2016-06-08 18:31:19 +02:00
  • 9fc8379328 Fix extraction of complex eigenvalue pairs in real generalized eigenvalue problems. Gael Guennebaud 2016-06-08 16:39:11 +02:00
  • 9dd9d58273 Copied a regression test from 3.2 branch. Christoph Hertzberg 2016-06-08 15:36:42 +02:00
  • 8fd57a97f2 Enable the vectorization of adds and mults of fp16 Benoit Steiner 2016-06-07 18:22:18 -07:00
  • d6d39c7ddb Added missing EIGEN_DEVICE_FUNC Benoit Steiner 2016-06-07 14:35:08 -07:00
  • db0118342c Fixed compilation of BVH_Example (required for make doc) Christoph Hertzberg 2016-06-07 19:17:18 +02:00
  • 84b2060a9e Fixed compilation error with gcc 4.4 Benoit Steiner 2016-06-06 17:16:19 -07:00
  • 7ef9f47b58 Misc small improvements to the reduction code. Benoit Steiner 2016-06-06 14:09:46 -07:00
  • ea75dba201 Added missing EIGEN_DEVICE_FUNC qualifiers to the unary array ops Benoit Steiner 2016-06-06 13:32:28 -07:00
  • 33f0340188 Implement result_of for the new ternary functors Benoit Steiner 2016-06-06 12:06:42 -07:00
  • df24f4a01d bug #1201: improve code generation of affine*vec with MSVC Gael Guennebaud 2016-06-06 16:46:46 +02:00
  • 9137f560f0 Moved assertions to the constructor to make the code more portable Benoit Steiner 2016-06-06 07:26:48 -07:00
  • 1f1e0b9e30 Silenced compilation warning Benoit Steiner 2016-06-05 12:59:11 -07:00
  • 5b95b4daf9 Moved static assertions into the class constructor to make the code more portable Benoit Steiner 2016-06-05 12:57:48 -07:00
  • d7e3e4bb04 Removed executable bits from header files. Christoph Hertzberg 2016-06-05 10:15:41 +02:00
  • c53687dd14 Add randomized properties tests for betainc special function. Eugene Brevdo 2016-06-05 11:10:30 -07:00
  • 39baff850c Add TernaryFunctors and the betainc SpecialFunction. TernaryFunctors and their executors allow operations on 3-tuples of inputs. API fully implemented for Arrays and Tensors based on binary functors. Eugene Brevdo 2016-06-02 17:04:19 -07:00
  • 02db4e1a82 Disable the tensor tests when using msvc since older versions of the compiler fail to handle this code Benoit Steiner 2016-06-04 08:21:17 -07:00
  • c21eaedce6 Use array_prod to compute the number of elements contained in the input tensor expression Benoit Steiner 2016-06-04 07:47:04 -07:00
  • 36a4500822 Merged in ibab/eigen (pull request PR-192) Benoit Steiner 2016-06-03 17:28:33 -07:00
  • c2a102345f Improved the performance of full reductions. Benoit Steiner 2016-06-03 17:27:08 -07:00
  • dc03b8f3a1 Add generic scan method Igor Babuschkin 2016-06-03 17:37:04 +01:00
  • 8d97ba6b22 bug #725: make move ctor/assignment noexcept. Gael Guennebaud 2016-06-03 14:28:25 +02:00
  • e8b922ca63 Fix MatrixFunctions module. Gael Guennebaud 2016-06-03 09:21:35 +02:00
  • 82293f38d6 Fix unit test. Gael Guennebaud 2016-06-03 08:12:14 +02:00
  • fe62c06d9b Fix compilation. Gael Guennebaud 2016-06-03 07:47:38 +02:00
  • 969b8959a0 Fix compilation: Matrix does not indirectly live in the internal namespace anymore! Gael Guennebaud 2016-06-03 07:44:58 +02:00
  • f2c2465acc Fix function dependencies Gael Guennebaud 2016-06-03 07:44:18 +02:00
  • c3c8ad8046 Align the first element of the Waiter struct instead of padding it. This reduces its memory footprint a bit while achieving the goal of preventing false sharing Benoit Steiner 2016-06-02 21:17:41 -07:00
  • 5b77481d58 merge Gael Guennebaud 2016-06-02 22:21:45 +02:00
  • 53feb73b45 Remove dead code. Gael Guennebaud 2016-06-02 22:19:55 +02:00
  • 2c00ac0b53 Implement generic scalar*expr and expr*scalar operator based on scalar_product_traits. This is especially useful for custom scalar types, e.g., to enable float*expr<multi_prec> without conversion. Gael Guennebaud 2016-06-02 22:16:37 +02:00
  • 811aadbe00 Add syntactic sugar to Eigen tensors to allow more natural syntax. Specifically, this enables expressions involving: Rasmus Munk Larsen 2016-06-02 12:41:28 -07:00
  • 52e4cbf539 Merged eigen/eigen into default Tal Hadad 2016-06-02 22:15:20 +03:00