Benoit Steiner
cbd7e98174
Merged the latest version of the code from eigen/eigen
2014-02-18 18:51:24 -08:00
Benoit Steiner
7ed9441ea4
Reverted the definition of the EIGEN_ALIGN to its former meaning (i.e. a boolean)
...
Created a new EIGEN_ALIGN_BYTES define to encode how the data should be aligned
Fixed a few remaining alignment issues exposed when the Eigen code is compiled with avx enabled.
Created a new EIGEN_ALIGN_DEFAULT define, which is set to the minimum alignment value required for the chosen instruction set. Use this value instead of EIGEN_ALIGN32 to preserve the existing alignment on SSE/Altivec/Neon.
2014-02-18 18:06:44 -08:00
Gael Guennebaud
5b78780def
Add evaluator shortcut for triangular ?= product
2014-02-18 17:43:16 +01:00
Gael Guennebaud
8169c6ac59
Simplify implementation of coeff-based products to fully exploit our reduxion mechanisms.
...
If this results in performance regressions, then we should optimize reduxion rather than
somehow duplicate the code.
2014-02-18 16:57:25 +01:00
Gael Guennebaud
463554c254
Merge with default branch
2014-02-18 15:45:39 +01:00
Gael Guennebaud
82c066b3c4
Cleaning
2014-02-18 15:44:32 +01:00
Gael Guennebaud
0543cb51b5
Product::coeff method are also OK for lazy products (including diagonal products)
2014-02-18 14:51:41 +01:00
Gael Guennebaud
99e27916cf
Fix all()/any() for evaluators
2014-02-18 14:26:25 +01:00
Gael Guennebaud
06545058bb
Temporary workaround for permutations
2014-02-18 13:33:04 +01:00
Gael Guennebaud
7002aa858f
Support Product::coeff(0,0) even for dynamic matrices
2014-02-18 13:32:30 +01:00
Gael Guennebaud
8cfb138e73
Finally, the simplest remains to deffer resizing at the latest
2014-02-18 13:31:44 +01:00
Gael Guennebaud
1b5de5a37b
Add evaluator for Ref
2014-02-18 13:30:16 +01:00
Gael Guennebaud
a08cba6b5f
Move is_diagonal to XprHelper, forward declare Ref
2014-02-18 11:03:59 +01:00
Gael Guennebaud
573c587e3d
New design for handling automatic transposition
2014-02-18 10:53:14 +01:00
Gael Guennebaud
551bf5c66a
Get rid of DiagonalProduct
2014-02-18 10:52:26 +01:00
Gael Guennebaud
2d136d3d7f
Get rid of SeflCwiseBinaryOp
2014-02-18 10:52:00 +01:00
Gael Guennebaud
873401032b
Fix scalar * product optimization when 'product' includes a selfadjoint matrix
2014-02-17 19:00:45 +01:00
Gael Guennebaud
d595fd31f5
Deal with automatic transposition in call_assignment, fix a few shortcomings
2014-02-17 16:11:55 +01:00
Gael Guennebaud
bffa15142c
Add evaluator support for diagonal products
2014-02-17 16:10:55 +01:00
Gael Guennebaud
0508af4287
Merged in martinhofernandes/eigen (pull request PR-40)
...
Better fix for bug #503
2014-02-14 15:31:39 +01:00
Gael Guennebaud
97965dde9b
alloca is not necessarily alligned on windows
2014-02-14 00:04:38 +01:00
Gael Guennebaud
3291580630
Fix bug #740 : overflow issue in stableNorm
2014-02-13 15:44:01 +01:00
Jitse Niesen
7ea6ef8969
Fix documentation of MatrixBase::applyOnTheLeft (bug #739 )
...
Add examples; move methods from EigenBase.h to MatrixBase.h
2014-02-12 14:03:39 +00:00
yoco
15f273b63c
fix reshape flag and test case
2014-02-10 22:49:13 +08:00
yoco
b64a09acc1
fix reshape's Max[Row/Col]AtCompileTime
2014-02-04 05:54:50 +08:00
yoco
f8ad87f226
Reshape always non-directly-access
2014-02-04 05:19:56 +08:00
yoco
009047db27
Fix Reshape traits flag calculate bug
2014-02-04 02:21:41 +08:00
Benoit Steiner
64a85800bd
Added support for AVX to Eigen.
2014-01-29 11:43:05 -08:00
Gael Guennebaud
94acccc126
Fix Random().normalized() by introducing a nested_eval helper (recall that the old nested<> class is deprecated)
2014-01-26 15:35:44 +01:00
Gael Guennebaud
34694d8828
Fix evaluator<Replicate> for fixed size objects
2014-01-26 15:34:26 +01:00
Gael Guennebaud
ee1c55f923
Add missing template keyword
2014-01-26 14:55:25 +01:00
Gael Guennebaud
f54e62e4a9
Port evaluation from selfadjoint to full to evaluators
2014-01-26 12:18:36 +01:00
Gael Guennebaud
5fa7262e4c
Refactor triangular assignment
2014-01-25 23:02:14 +01:00
Gael Guennebaud
fef534f52e
fix scalar * prod in evaluators unit test
2014-01-25 19:06:07 +01:00
Gael Guennebaud
a7621809fe
Remove useless register keyword, and optimize predux_min/max for SSE4
2014-01-25 16:54:13 +01:00
Gael Guennebaud
deab937d45
NVCC: fix closed-form eigenvalue decomposition, workaround gcc4.7/nvcc5.5 issue
2014-01-24 12:50:29 +01:00
yoco
2b89080903
Remove reshape InnerPanel, add test, fix bug
2014-01-20 01:43:28 +08:00
yoco
03723abda0
Remove useless reshape row/col ctor
2014-01-20 00:22:16 +08:00
yoco
342c8e5321
Fix Reshape DirectAccessBit bug
2014-01-20 00:15:19 +08:00
yoco
150796337a
Add unit-test for reshape
...
- add unittest for dynamic & fixed-size reshape
- fix fixed-size reshape bugs bugs found while testing
2014-01-18 16:10:46 +08:00
yoco
497a7b0ce1
remove c++11, make c++03 compatible
2014-01-18 13:20:14 +08:00
yoco
fe2ad0647a
reshape now supported
...
- add member function to plugin
- add forward declaration
- add documentation
- add include
2014-01-18 04:21:20 +08:00
yoco
7bd58ad0b6
add Eigen/src/Core/Reshape.h
2014-01-18 04:16:44 +08:00
Martinho Fernandes
4c08385b74
Merged eigen/eigen into default
2014-01-10 11:22:24 +01:00
Martinho Fernandes
4ccff2d028
Placement new must use void* to avoid user-specific overloads.
2014-01-10 11:20:40 +01:00
Martinho Fernandes
3a4616d6e3
Add C++11 allocator overloads to avoid implicit conversions.
2014-01-10 11:02:11 +01:00
Gael Guennebaud
92190a1caf
Add an example showing how to use C++11 random distributions
2014-01-07 20:23:35 +01:00
Gael Guennebaud
ac409f51f1
Document the fact that Random and setRandom are not reentrant (so not thread-safe)
2014-01-07 20:17:59 +01:00
Benoit Steiner
c8c81c1e74
Improved the efficiency if the block-panel matrix multiplication code: the change reduces the pressure on the L1 cache by removing the calls to gebp_traits::unpackRhs(). Instead the packetization of the rhs blocks is done on the fly in gebp_traits::loadRhs(). This adds numerous calls to pset1<ResPacket> (since we're packetizing on the fly in the inner loop) but this is more than compensated by the fact that we're decreasing the memory transfers by a factor RhsPacketSize.
2014-01-02 16:18:32 -08:00
Gael Guennebaud
01fd880424
Revert previous change and introduce a new workaround regarding gcc generating a shufps instruction instead of the more efficient pshufd instruction.
...
The trick consists in introducing a new pload1 function to be used in low level product kernels for which bug #203 does not apply.
Indeed, it turned out that using inline assembly prevents gcc of doing a good job at instructtion reordering.
2014-03-20 16:03:46 +01:00