Gael Guennebaud
7dd81aad74
factorize default performance related settings to a single file
...
included after the architecture specific files such that they
can be adapted by each platform.
2010-03-03 18:47:58 +01:00
Konstantinos Margaritis
112c550b4a
Added initial NEON support, most tests pass however we had to use some hackish workarounds
...
as gcc on ARM (both CodeSourcery 4.4.1 used and experimental 4.5) fail to
ensure proper alignment with __attribute__((aligned(16))). This has to be
fixed upstream to remove the workarounds.
2010-03-03 11:25:41 -06:00
Benoit Jacob
45d19afb18
cleanup/simplification in computation of matrix flags
2010-03-03 09:58:43 -05:00
Benoit Jacob
7dbe806711
merge
2010-03-03 09:55:46 -05:00
Benoit Jacob
6a92168915
Backed out changeset 2f3d685e0c687ae1121428dab6bc0ec868b14fe3
...
This was implementing deep changes that after discussion on the mailing list seem to need further discussion/thinking.
2010-03-03 09:54:50 -05:00
Gael Guennebaud
2f3d685e0c
a matrix (or array) does not always have the LinearAccessBit!
...
=> fixes in outerStride and matrix flags
2010-03-02 15:31:39 +01:00
Gael Guennebaud
7fd6458fec
selfadjoint: do not reference the imaginary part of the diagonal
2010-03-02 12:43:55 +01:00
Hauke Heibel
32823caa62
Adapted the comment and removed it from the public dox.
2010-03-03 07:52:19 +01:00
Gael Guennebaud
3295c1c3e6
product selector: the symmetric case
2010-03-02 23:18:13 +01:00
Hauke Heibel
afad108b5f
Added a comment to prevent placing an EIGEN_STRONG_INLINE where it makes no sense.
2010-03-02 19:36:21 +01:00
Eamon Nerbonne
3efb3cc828
Changed product type selector to fix perf regression.
2010-03-02 12:08:49 +01:00
Hauke Heibel
3cc9e3f5bb
Fixes a compilation issue for MSVC.
2010-03-01 19:56:24 +01:00
Benoit Jacob
f1f3c30ddc
remove the hack to make the static assertion on types actually show up.
...
indeed, now that we use the meta selector for transposing as needed, the static asserts work very well.
2010-02-28 11:10:13 -05:00
Benoit Jacob
07023b94d8
forgot defined(...)
2010-02-28 10:11:28 -05:00
Benoit Jacob
9334ed4444
on 64-bit systems, glibc's malloc returns 16-byte aligned ptrs, and we now take advantage of that.
2010-02-28 10:10:53 -05:00
Benoit Jacob
a480e7e60f
* fix ei_handmade_aligned_realloc (was calling realloc on wrong ptr)
...
* add missing std:: (at least for QNX compatibility)
* add big comments to "structure" the file
2010-02-28 09:10:41 -05:00
Hauke Heibel
ff8c2149c1
Added a generic reallocation implementation based on ei_aligned_malloc/_free.
...
Rewrote ei_handmade_aligned_realloc such that it is now using std::realloc.
Reorganized functions in Memory.h for better readability.
Add missing <cerrno> include to Core (it's now required in Memory.h).
2010-02-28 14:32:57 +01:00
Hauke Heibel
40bd69fbaa
Hide some internal stuff from the docs.
2010-02-28 12:56:37 +01:00
Benoit Jacob
27f5250258
Only include <iosfwd> unless either EIGEN_DEBUG_ASSIGN is defined or we're in eigen2 support mode
2010-02-27 19:04:22 -05:00
Benoit Jacob
e84f7e07e9
add ei_posix_memalign_realloc
2010-02-27 18:57:07 -05:00
Benoit Jacob
22fabb8940
add missing inline keyword, thanks to Eamon.
2010-02-27 17:51:48 -05:00
Hauke Heibel
6c9eb36222
Added support for realloc based conservative resizing.
2010-02-27 17:25:07 +01:00
Hauke Heibel
78b2c7e16e
Fixed a typo.
2010-02-27 17:24:42 +01:00
Benoit Jacob
3f393490ad
dot: handle the rowvector.dot(colvector) case where one needs to transpose.
2010-02-27 11:19:14 -05:00
Benoit Jacob
d9f6380499
Remove the dot product's separate implementation and use cwiseProduct.sum instead.
...
Also take special care to get nicely working static assertions.
2010-02-27 10:03:27 -05:00
Benoit Jacob
2c9a91812e
merge
2010-02-26 21:47:54 -05:00
Benoit Jacob
814e40c72a
let redux use the new ByOuterInner accessors
2010-02-26 21:46:43 -05:00
Benoit Jacob
4927841cba
Document Map and Stride, add examples.
2010-02-26 21:29:04 -05:00
Benoit Jacob
b1f666d007
Fix Map-with-Stride and cover it by new unit tests.
2010-02-26 20:12:51 -05:00
nerbonne
c72a5074e6
Fixed perf problems for vector subtraction: inlining wasn't always happening when necessary.
2010-02-26 15:46:43 +01:00
Benoit Jacob
32115bff1e
* add VERIFY_IS_EQUAL, should compile faster and it's natural when no arithmetic is involved.
...
* rename 'submatrices' test to 'block'
* add block-inside-of-block tests
* remove old cruft
* split diagonal() tests into separate file
2010-02-26 09:03:13 -05:00
Benoit Jacob
f56ac04c34
DenseBase::IsRowMajor now takes the special case of vectors into account.
2010-02-25 21:24:42 -05:00
Benoit Jacob
b1c6c215a4
merge
2010-02-25 21:07:30 -05:00
Benoit Jacob
769641bc58
* Implement the ByOuterInner accessors
...
* use them (big simplification in Assign.h)
* axe (Inner|Outer)StrideAtCompileTime that were just introduced
* ei_int_if_dynamic now asserts that the size is the expected one: adapt to that in Block.h
* add rowStride() / colStride() in DenseBase
* implement innerStride() / outerStride() everywhere needed
2010-02-25 21:01:52 -05:00
Gael Guennebaud
53bae6b3f8
update matrix product selection rules for 1xSmallxLarge and the transposed case
2010-02-25 21:59:25 +01:00
Gael Guennebaud
959a1b5d63
detect and implement inplace permutations
2010-02-25 16:30:58 +01:00
Gael Guennebaud
d9ca0c0d36
optimize inverse permutations
2010-02-25 15:31:15 +01:00
Thomas Capricelli
0f3d69b65e
Provide "eigen" defines to decide which instruction set is used
...
(sse3, ssse3 and sse4), independantly from the compiler.
Only those defines should be used in other places, and the user can
rely on those to know which sets are used.
2010-02-24 21:43:30 +01:00
Hauke Heibel
1fd8d7b96a
Attempt to fix PGI compilation issue.
2010-02-23 11:35:51 +01:00
Gael Guennebaud
d2b0eadf52
fully adapt the gebp kernel and optimize it for CPU with only 8 registers
...
(transplanted from 2ed88ebbf1995be90b8d0c25ff10248c8f56d023)
2010-02-22 16:35:05 +01:00
Gael Guennebaud
51a4b929a1
implement an even lower level version of the gebp kernel for MSVC (it seems to be faster with gcc as well)
...
(transplanted from 9a5643551fe068497f84a81cd8986febf1918382)
2010-02-22 15:18:29 +01:00
Thomas Capricelli
1a70f3b48d
fix compilation
2010-02-21 19:30:11 +01:00
Hauke Heibel
a901bed33a
Added IsRowMajor enum to DenseBase.
2010-02-21 18:26:14 +01:00
Hauke Heibel
abc8c01080
Renamed PlainMatrixType to PlainObject (Array != Matrix).
...
Renamed ReturnByValue::ReturnMatrixType ReturnByValue::ReturnType (again, Array != Matrix).
2010-02-20 15:53:57 +01:00
Hauke Heibel
f0c8dcf1e2
Renamed AnyMatrixBase to EigenBase.
2010-02-20 15:26:02 +01:00
Gael Guennebaud
4f8773c23a
fix stupid enum values
2010-02-19 17:46:36 +01:00
Benoit Jacob
5491531a81
add Stride.h
2010-02-18 20:44:17 -05:00
Benoit Jacob
b73e22905d
miserable half-working state, commiting to a fork just in case, just to perfect
...
my day, my hard disk would die.
Will write a more detailed commit message once it's working.
2010-02-18 20:42:38 -05:00
Gael Guennebaud
016943f870
avoid 2 redundant calls to resize
2010-02-15 11:31:36 +01:00
Gael Guennebaud
dcb395c6f5
explicitly disable the use of evalTo for dense object
2010-02-15 11:09:33 +01:00