Benoit Jacob
338ec0390f
let the cast functor use the new ei_cast()
2010-03-30 14:51:47 -04:00
Benoit Jacob
16e416b8d7
generalize the idea of the previous commit to all kinds of casts, see this forum thread:
...
http://forum.kde.org/viewtopic.php?f=74&t=86914
this is important to allow users to support custom types that don't have the needed conversion operators.
2010-03-30 14:47:45 -04:00
Benoit Jacob
9e0d8697c7
add ei_cast_to_int, we are indeed somethings (e.g. in IO.h) casting scalars to int and the only way to allow users to extend that to their own scalar types that don't have int cast operators, was to allow them specialize ei_cast_to_int_impl.
2010-03-30 14:16:54 -04:00
Benoit Jacob
8f99ae5ea4
move the computation of the number of significant digits to a templated helper struct, that can be specialized to custom types if needed. Should address this request:
...
http://forum.kde.org/viewtopic.php?f=74&t=86914
2010-03-30 11:38:09 -04:00
Thomas Capricelli
0a5c2d8a54
fix misc warnings, more importantly when NDEBUG is defined, assert() is a
...
nop.
2010-03-27 18:58:29 +01:00
Benoit Jacob
1803db6e84
merge
2010-03-21 11:28:31 -04:00
Benoit Jacob
92da574ec2
* allow matrix dimensions to be 0 (also at compile time) and provide a specialization
...
of ei_matrix_array for size 0
* adapt many xprs to have the right storage order, now that it matters
* add static assert on expressions to check that vector xprs
have the righ storage order
* adapt ei_plain_matrix_type_(column|row)_major
* implement assignment of selfadjointview to matrix
(was before failing to compile) and add nestedExpression() methods
* expand product_symm test
* in ei_gemv_selector, use the PlainObject type instead of a custom Matrix<...> type
* fix VectorBlock and Block mistakes
2010-03-21 11:28:03 -04:00
Gael Guennebaud
8b093dd2df
oops, fix symv (innerStride instead of outerStride)
2010-03-20 20:51:44 +01:00
Benoit Jacob
547269da35
fix the flags and matrix options, to always have the right RowMajor bit in the vector case
2010-03-19 02:12:23 -04:00
Benoit Jacob
9dba86df0b
merge
2010-03-18 20:11:38 -04:00
Jitse Niesen
04a4e22c58
API change: ei_matrix_exponential(A) --> A.exp(), etc
...
As discussed on mailing list; see
http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2010/02/msg00190.html
2010-03-16 17:26:55 +00:00
Hauke Heibel
0e5a232dae
Ups - again a missing typename.
2010-03-14 11:58:44 +01:00
Hauke Heibel
b9644f3323
Propagate fixed size dimensions if available (on MSVC it leads >2.5x speedup for some reductions).
2010-03-13 13:15:27 +01:00
Benoit Jacob
3e08c22028
attempt to fix #101
2010-03-11 12:41:46 -05:00
Hauke Heibel
dd9ff1b9a6
Fix MSVC warnings.
2010-03-09 09:04:21 +01:00
Benoit Jacob
74a7c5caee
implement the idea that row-vectors have the RowMajorBit and col-vectors don't.
2010-03-09 00:16:07 -05:00
Gael Guennebaud
898762529e
update the product selection logic to use the Max* sizes
2010-03-08 22:55:58 +01:00
Gael Guennebaud
9a3b00c040
add missing cmake directives for arch/Default
2010-03-08 22:15:35 +01:00
Benoit Jacob
89343a38af
* Fix #97 : Householder operations on 1x1 matrices
...
* Fix VectorBlock on 1x1 "vectors"
* remove useless makeTrivialHouseholder function
2010-03-08 12:37:04 -05:00
Benoit Jacob
4293a4d1af
* let a = foo() work when a is a row-vector xpr and foo() returns a ReturnByValue col-vector
...
* remove a few useless resize() in evalTo() implementations
2010-03-08 10:34:59 -05:00
Hauke Heibel
9fe040ad29
Reintroduced the if-clause for MSVC ei_ploadu via _loadu_.
2010-03-07 14:05:26 +01:00
Gael Guennebaud
3130b7a722
bugcount--, this time trmm
2010-03-06 22:57:50 +01:00
Gael Guennebaud
1958b7eccc
stride() => inner/outerStride()
2010-03-06 22:39:15 +01:00
Gael Guennebaud
4402034678
pff I introduced much too many bugs latey, count--
2010-03-06 22:24:50 +01:00
Gael Guennebaud
61ce1de048
fix symm
2010-03-06 22:15:59 +01:00
Gael Guennebaud
a7d199bf9a
fix trsolve
2010-03-06 21:37:14 +01:00
Gael Guennebaud
6f0b96dcf4
fix issue #100 (fix syrk)
2010-03-06 21:16:43 +01:00
Gael Guennebaud
271fc84e47
bugfix in gebp for 32bits x86
2010-03-06 20:52:20 +01:00
Benoit Jacob
c4f8afdf49
#undef minor at the right place
2010-03-06 14:44:57 -05:00
Benoit Jacob
7e2afe7e95
remove the __ARM_NEON__ check there since Konstantinos said he removed it but apparently didn't commit :)
2010-03-06 12:11:08 -05:00
Benoit Jacob
bf0a21a695
* disable static alignment on QCC
...
* remove obsolete #error
2010-03-06 09:28:58 -05:00
Benoit Jacob
2bd31d3fbc
* include Macros.h much earlier: since it takes care of the alignment platform detection, it is needed before we do the vectorization stuff in Eigen/Core !!
...
* kill EIGEN_DONT_ALIGN_HEAP option (one should use EIGEN_DONT_ALIGN)
* rename EIGEN_DONT_ALIGN_STACK to EIGEN_DONT_ALIGN_STATICALLY. hope it's a better name.
2010-03-06 09:05:15 -05:00
Benoit Jacob
f03d95348d
introduce EIGEN_DONT_ALIGN_STACK (disables alignment attributes) and EIGEN_DONT_ALIGN_HEAP (disables aligned malloc)...
...
you can still use EIGEN_DONT_ALIGN to do both at once.
2010-03-06 02:17:37 -05:00
Gael Guennebaud
afd7ee759b
fix copy pasted comment
2010-03-05 21:35:11 +01:00
Konstantinos Margaritis
273b236f72
Altivec brought up to date. Most tests pass and performance is better than before too!
2010-03-05 22:28:49 +02:00
Gael Guennebaud
f2a246c225
add a small program to bench all combinations of small products
2010-03-05 17:16:19 +01:00
Gael Guennebaud
5f172cd01f
add a FIXME
2010-03-05 10:45:29 +01:00
Gael Guennebaud
48d0595c29
* dynamically adjust the number of threads
...
* disbale parallelisation if we already are in a parallel session
2010-03-05 10:44:31 +01:00
Gael Guennebaud
62ac021606
fix openmp version for scalar types different than float
2010-03-05 10:16:25 +01:00
Gael Guennebaud
d13b877014
remove the 1D and 2D parallelizer, keep only the GEMM specialized one
2010-03-05 10:04:17 +01:00
Gael Guennebaud
24ef5fedcd
minor cleaning
2010-03-05 09:57:04 +01:00
Gael Guennebaud
279ad44509
merge
2010-03-05 09:46:58 +01:00
Gael Guennebaud
620bd28480
enable posix_memalign for QNX
2010-03-05 09:44:21 +01:00
Gael Guennebaud
7e2683dc39
merge
2010-03-04 18:59:56 +01:00
Gael Guennebaud
0964810fba
merge
2010-03-04 18:59:03 +01:00
Gael Guennebaud
ea8cad5151
make the number of registers easier to configure per architectures
2010-03-04 18:58:12 +01:00
Gael Guennebaud
cefd9b8888
merge with default branch
2010-03-04 18:47:52 +01:00
Hauke Heibel
1723068694
Moved x()/y()/z() and w() access functions to DenseBase; they are now available for Arrays as well.
2010-03-04 18:33:51 +01:00
Gael Guennebaud
8ed1ef4469
add a minor FIXME
2010-03-04 18:30:28 +01:00
Benoit Jacob
68d94d914e
integer division is vectorizable on no SIMD platform, not just SSE.
2010-03-04 09:03:06 -05:00