Gael Guennebaud
fef534f52e
fix scalar * prod in evaluators unit test
2014-01-25 19:06:07 +01:00
Gael Guennebaud
d357bbd9c0
Fix a few regression regarding temporaries and products
2013-12-14 22:53:47 +01:00
Gael Guennebaud
27c068e9d6
Make selfqdjoint products use evaluators
2013-12-13 18:09:07 +01:00
Gael Guennebaud
e94fe4cc3e
fix resizing in noalias for blocks, and make -=/+= use evaluators
2013-12-13 18:06:58 +01:00
Gael Guennebaud
2ca0ccd2f2
Add support for triangular products with evaluators
2013-12-07 17:17:47 +01:00
Gael Guennebaud
8d8acc3ab4
Move inner product special functions to a base class to avoid ambiguous calls
2013-12-04 22:58:19 +01:00
Gael Guennebaud
6c5e915e9a
Enable use of evaluators for noalias and lazyProduct, add conversion to scalar for inner products
2013-12-03 17:17:53 +01:00
Gael Guennebaud
f0b82c3ab9
Make reductions compatible with evaluators
2013-12-02 17:54:38 +01:00
Gael Guennebaud
6f1a0479b3
fix a typo triangular assignment
2013-12-02 17:54:15 +01:00
Gael Guennebaud
b5fd774775
Fix flags of Product<>
2013-12-02 17:53:26 +01:00
Gael Guennebaud
34ca81b1bf
Add direct assignment of products
2013-12-02 16:37:58 +01:00
Gael Guennebaud
7f917807c6
Fix product evaluator when TEST_EVALUATOR in not ON
2013-12-02 16:19:14 +01:00
Gael Guennebaud
8af1ba5346
Make swap unit test work with evaluators
2013-12-02 15:07:45 +01:00
Gael Guennebaud
c6f7337032
Get rid of call_dense_swap_loop
2013-12-02 14:44:13 +01:00
Gael Guennebaud
626821b0e3
Add evaluator/assignment to TriangularView expressions
2013-12-02 14:06:17 +01:00
Gael Guennebaud
27ca9437a1
Fix usage of Dense versus DenseShape
2013-12-02 14:05:34 +01:00
Gael Guennebaud
d0261bd26c
Fix swap in DenseBase
2013-11-30 10:42:23 +01:00
Gael Guennebaud
c15c65990f
First step toward the generalization of evaluators to triangular, sparse and other fancyness.
...
Remove product_tag template parameter to Product.
2013-11-29 17:50:59 +01:00
Gael Guennebaud
fb6e32a62f
Get rid of evalautor_impl
2013-11-29 16:45:47 +01:00
Gael Guennebaud
d331def6cc
add definition of product_tag
2013-11-29 16:18:22 +01:00
Gael Guennebaud
5584275325
Remove HasEvalTo and all at once eval mode
2013-11-29 13:38:59 +01:00
Gael Guennebaud
cc6dd878ee
Refactor dense product evaluators
2013-11-27 17:32:57 +01:00
Gael Guennebaud
fc6ecebc69
Simplify evaluator of EvalToTemp
2013-11-27 11:32:07 +01:00
Gael Guennebaud
230f5c3aa9
Evaluator: introduce the main Assignment class, add call_assignment to bypass NoAlias and AssumeAliasing, and some bits of cleaning
2013-11-25 15:20:31 +01:00
Gael Guennebaud
46dd1bb1be
Workaround fixing aliasing issue in x = SparseLU::solve(x)
2013-11-15 11:19:19 +01:00
Christoph Hertzberg
e59b38abef
Implement boolean reductions for zero-sized objects
2013-11-13 16:47:02 +01:00
Leszek Swirski
b93520b1a5
Install functor folder with cmake
2013-11-08 14:07:11 +00:00
Gael Guennebaud
cb8da751a0
fix broken commit
2013-11-07 22:44:37 +01:00
Gael Guennebaud
76c230a84d
Add an option to test evaluators globally
2013-11-07 16:38:14 +01:00
Gael Guennebaud
57327cc2d5
Drop evaluators for SwapWrapper and SelfCwiseBinaryOp
2013-11-07 14:07:27 +01:00
Gael Guennebaud
5887e82729
Clean evaluator_impl_base. It will probably be removed in the future
2013-11-07 14:02:47 +01:00
Gael Guennebaud
af9851d1d7
bug #99 : move the creation of the evaluator to a central place, and make generic_dense_assignment_kernel hold the destination and source evaluators
2013-11-07 12:03:12 +01:00
Gael Guennebaud
8fe609311d
Move internal::swap to numext to fix ambiguous call with std::swap
2013-11-07 09:01:26 +01:00
Gael Guennebaud
8edc964734
bug #99 : refactor assignment and compound assignment mechanism through "assignment functors" and "assignement kernels".
...
The former is very low level and generic. The later abstarct the former for dense expressions. This refactoring permits
to get rid of the very ugly SwapWrapper and SelfCwiseBinaryOp classes.
In the future, this will also permit to simplify all these evaluation loops and perhaps to reuse them for reduxions.
That will also permit to specialize for operations like expr1 += expr2 outside Eigen, and so for any kind
of expressions (dense, sparse, tensor, etc.)
2013-11-06 18:17:59 +01:00
Gael Guennebaud
a37bdfc955
Fix static/inline order
2013-11-06 11:13:31 +01:00
Gael Guennebaud
03de5c2410
Split the huge Functors.h file
2013-11-06 10:36:10 +01:00
Gael Guennebaud
87aee5fda1
Allow calling attributes of dynamic size objects from device
2013-11-05 15:40:58 +01:00
Gael Guennebaud
1bb1a57ef7
merge with default branch
2013-11-05 10:31:59 +01:00
Gael Guennebaud
19521c83b8
bug #677 : fix usage of pld instrinsics for ccomplexes
2013-11-02 12:10:48 +01:00
Gael Guennebaud
6dc0e59b1e
Fix bug #677 : compilation issue on arm64 which does not have the PLD instruction
2013-10-31 13:52:43 +01:00
Christoph Hertzberg
7fae9b358d
Use aligned loads in Matrix-Vector product where possible. Fixes bug #689
2013-10-29 12:42:46 +01:00
Gael Guennebaud
e14f529dac
Merged in martinhofernandes/eigen (pull request PR-33)
...
Fix for bug #503
2013-10-29 11:39:20 +01:00
Gael Guennebaud
11fbbc51fa
Fix bug #359 : fix AlignedBit flag of CoeffBasedProduct thus enabling the vectorization of more matrix products
2013-10-28 17:48:32 +01:00
Gael Guennebaud
d3e84b747a
Clarify the meaning of AlignedBit (bug #359 )
2013-10-28 17:44:07 +01:00
Gael Guennebaud
2e606394b1
Fix bug #685 : document the range of Random and setRandom
2013-10-28 17:16:03 +01:00
Gael Guennebaud
9f3f42d66a
fix a few "dead stores" warnings
2013-10-26 13:59:02 +02:00
Gael Guennebaud
a0e8577b49
Fix bug #684 : optimize vectorization of array-scalar and scalar-array
2013-10-18 14:56:36 +02:00
Christoph Hertzberg
3d2a3bc755
Copy all format flags (not only precision) from actual output stream when calculating the maximal width
2013-10-17 14:30:09 +02:00
Christoph Hertzberg
ad9dc05663
consider all columns for aligned output (fixes bug #616 )
2013-10-17 14:14:06 +02:00
Christoph Hertzberg
ff075def5c
Copy and paste mistake in last commit
2013-10-17 14:02:00 +02:00