Gael Guennebaud
77ff3386b7
Refactoring of the cost model:
...
- Dynamic is now an invalid value
- introduce a HugeCost constant to be used for runtime-cost values or arbitrarily huge cost
- add sanity checks for cost values: must be >=0 and not too large
This change provides several benefits:
- it fixes shortcoming is some cost computation where the Dynamic case was not properly handled.
- it simplifies cost computation logic, and should avoid future similar shortcomings.
- it allows to distinguish between different level of dynamic/huge/infinite cost
- it should enable further simplifications in the computation of costs (save compilation time)
2015-10-28 11:42:14 +01:00
Gael Guennebaud
e3031d7bfa
bug #1008 : improve handling of fast-math mode for older gcc versions.
2015-10-27 16:43:23 +01:00
Gael Guennebaud
2475a1de48
bug #1008 : stabilize isfinite/isinf/isnan/hasNaN/allFinite functions for fast-math mode.
2015-10-27 15:39:50 +01:00
Gael Guennebaud
8c66b6bc61
Simplify evaluator::Flags for Map<>
2015-10-27 11:06:42 +01:00
Gael Guennebaud
12f50a4697
Fix assign vectorization logic with respect to fixed outer-stride
2015-10-27 11:04:19 +01:00
Gael Guennebaud
0fc8954282
Improve readibility of EIGEN_DEBUG_ASSIGN mode.
2015-10-27 10:38:49 +01:00
nnyby
ccc7b0ffea
[doc] grammar fix: "linearly space" -> "linearly spaced"
2015-10-01 23:43:06 +00:00
Benoit Steiner
d46bacb6bb
Call numext::mini instead of std::min in several places.
2015-09-28 10:40:41 -07:00
Gael Guennebaud
02e940fc9f
bug #1071 : improve doc on lpNorm and add example for some operator norms
2015-09-28 11:55:36 +02:00
Gael Guennebaud
8c1ee3629f
Add support for row/col-wise lpNorm()
2015-09-28 11:36:00 +02:00
Gael Guennebaud
75861f6650
bug #1069 : fix AVX support on MSVC (use of non portable C-style cast)
2015-09-28 10:08:26 +02:00
Gael Guennebaud
d16797cfc0
Fix bug #1067 : naming conflict
2015-09-19 21:44:14 +02:00
Gael Guennebaud
9d993c709b
Fix typo in Vectowise::any()
2015-09-16 22:31:19 +02:00
daalpa
fab96f2ff3
Removed documentation that did not match the member function DenseBase::outerSize()
2015-09-13 12:55:57 +00:00
Benoit Steiner
98f8f0db9a
Added support for predux_mul for CUDA devices
2015-09-08 15:37:25 -07:00
Gael Guennebaud
f9303cc7c5
bump to 3.3-alpha1
2015-09-04 17:26:36 +02:00
Gael Guennebaud
941a99ac1a
Add a few missing EIGEN_DEVICE_FUNC declarations
2015-09-03 14:14:54 +02:00
Gael Guennebaud
0eb46508e2
Avoid any openmp calls if multi-threading is explicitely disabled at runtime.
2015-10-22 16:30:28 +02:00
Gael Guennebaud
6df8e99470
bug #1089 : add a warning when using a MatrixBase method which is implemented within another module by declaring them inline.
2015-10-22 16:10:28 +02:00
Gael Guennebaud
e78bc111f1
bug #1090 : fix a shortcoming in redux logic for which slice-vectorization plus unrolling might happen.
2015-10-21 20:58:33 +02:00
Gael Guennebaud
fe630c9873
Improve numerical accuracy in LLT and triangular solve by using true scalar divisions (instead of x * (1/y))
2015-10-18 22:15:01 +02:00
Gael Guennebaud
527fc4bc86
Fix ambiguous instantiation issues of product_evaluator.
2015-10-14 10:14:47 +02:00
Gael Guennebaud
2598f3987e
Add a plain_object_eval<> helper returning a plain object type based on evaluator's Flags,
...
and base nested_eval on it.
2015-10-14 10:12:58 +02:00
Gael Guennebaud
63e29e7765
Workaround ICC issue with first_aligned
2015-10-11 22:47:28 +02:00
Gael Guennebaud
6163db814c
bug #1085 : workaround gcc default ABI issue
2015-10-10 22:38:55 +02:00
Gael Guennebaud
6536b4bad7
Implement temporary-free path for "D.nolias() ?= C + A*B". (I thought it was already implemented)
2015-10-09 15:28:09 +02:00
Gael Guennebaud
a4cc4c1e5e
Clarify note in nested_eval for evaluator creating temporaries.
2015-10-09 14:57:51 +02:00
Gael Guennebaud
ae38910693
The evalautor of Solve was missing the EvalBeforeNestingBit flag.
2015-10-09 14:57:19 +02:00
Gael Guennebaud
2632b3446c
Improve documentation of TriangularView.
2015-10-09 12:10:58 +02:00
Gael Guennebaud
1429daf850
Add lvalue check for TriangularView::swap, and fix deprecated TriangularView::lazyAssign
2015-10-09 12:10:48 +02:00
Gael Guennebaud
72bd05b6d8
Cleaning in Redux.h
2015-10-09 12:07:42 +02:00
Gael Guennebaud
041e038fef
Remove dead code in selfadjoint_matrix_vector_product
2015-10-09 10:42:14 +02:00
Gael Guennebaud
c2d68b984f
Optimize a bit complex selfadjoint * vector product.
2015-10-09 10:34:58 +02:00
Gael Guennebaud
1932a24760
Simplify EIGEN_DENSE_PUBLIC_INTERFACE
2015-10-09 10:21:54 +02:00
Gael Guennebaud
186ec1437c
Cleanup EIGEN_SPARSE_PUBLIC_INTERFACE, it is now a simple alias to EIGEN_GENERIC_PUBLIC_INTERFACE
2015-10-08 22:06:49 +02:00
Gael Guennebaud
c9718514f5
Fix nesting sub-expression in outer-products
2015-10-08 21:41:53 +02:00
Gael Guennebaud
4140ee039d
Fix propagation of AssumeAliasing for expression as: "scalar * (A*B)"
2015-10-08 21:41:27 +02:00
Gael Guennebaud
d866279364
Clean a bit the implementation of inverse permutations
2015-10-08 18:36:39 +02:00
Gael Guennebaud
8d00a953af
Fix a nesting issue in some matrix-vector cases.
2015-10-08 17:36:57 +02:00
Gael Guennebaud
dd934ad057
Re-enable vectorization of LinSpaced, plus some cleaning
2015-10-08 17:27:01 +02:00
Gael Guennebaud
f6f6f50272
Clean evaluator<EvalToTemp>
2015-10-08 16:34:33 +02:00
Gael Guennebaud
67bfba07fd
Fix some CUDA issues
2015-10-08 16:30:28 +02:00
Gael Guennebaud
aa6b1aebf3
Properly implement PartialReduxExpr on top of evaluators, and fix multiple evaluation of nested expression
2015-10-08 15:57:05 +02:00
Gael Guennebaud
5cc7251188
Some cleaning in evaluators
2015-10-08 15:22:04 +02:00
Gael Guennebaud
f047ecc36a
_mm_hadd_epi32 is for SSSE3 only (and not SSE3)
2015-10-07 15:48:35 +02:00
Gael Guennebaud
aba1eda71e
Help clang to inline some functions, thus fixing some regressions
2015-10-07 15:44:12 +02:00
Gael Guennebaud
41cc1f9033
Remove debuging prod() and lazyprod() function, plus some cleaning in noalias assignment
2015-10-07 15:41:22 +02:00
Gael Guennebaud
26cde4db3c
Define Permutation*<>::Scalar to 'void', re-enable scalar type compatibility check in assignment while relaxing this test for void types.
2015-10-06 17:18:06 +02:00
Gael Guennebaud
fb51bab272
Some cleaning
2015-10-06 17:14:56 +02:00
Gael Guennebaud
2c676ddb40
Handle various TODOs in SSE vectorization (remove splitted storeu, enable SSE3 integer vectorization, plus minor tweaks)
2015-10-06 15:43:27 +02:00