Gael Guennebaud
8ed1553d20
bug #632 : implement general coefficient-wise "dense op sparse" operations through specialized evaluators instead of using SparseView.
...
This permits to deal with arbitrary storage order, and to by-pass the more complex iterator of the sparse-sparse case.
2016-01-30 14:39:50 +01:00
Gael Guennebaud
d4a9e61569
Extend SparseView to allow keeping explicit zeros. This is equivalent to sparseView(1,-1) but faster because the test is removed at compile-time.
2016-01-29 22:07:56 +01:00
Gael Guennebaud
c1d900af61
bug #178 : remove additional const on nested expression, and remove several const_cast.
2016-01-28 21:43:20 +01:00
Gael Guennebaud
9bcadb7fd1
Disable stupid MSVC warning
2016-01-28 12:14:16 +01:00
Gael Guennebaud
2bad3e78d9
bug #96 , bug #1006 : fix by value argument in result_of.
2016-01-28 12:12:06 +01:00
Benoit Steiner
291069e885
Fixed some compilation problems with nvcc + clang
2016-01-27 15:37:03 -08:00
Gael Guennebaud
21b5345782
Add meta_least_common_multiple helper.
2016-01-27 17:11:39 +01:00
Christoph Hertzberg
44d4674955
bug #1153 : Don't rely on __GXX_EXPERIMENTAL_CXX0X__ to detect C++11 support
2016-01-26 16:45:33 +01:00
Gael Guennebaud
06971223ef
Unify std::numeric_limits and device::numeric_limits within numext namespace
2016-01-22 15:02:21 +01:00
Gael Guennebaud
234a1094b7
Add static assertion to y(), z(), w() accessors
2016-01-20 09:18:44 +01:00
Benoit Steiner
bbdabbb379
Made the blas utils usable from within a cuda kernel
2016-01-11 17:26:56 -08:00
Gael Guennebaud
ee738321aa
rm remaining debug code
2016-01-06 14:49:40 +01:00
Gael Guennebaud
8b0d1eb0f7
Fix numerous doxygen shortcomings, and workaround some clang -Wdocumentation warnings
2016-01-01 21:45:06 +01:00
Gael Guennebaud
9900782e88
Mark AlignedBit and EvalBeforeNestingBit with deprecated attribute, and remove the remaining usages of EvalBeforeNestingBit.
2015-12-30 16:47:49 +01:00
Gael Guennebaud
addb7066e8
Workaround "empty paragraph" warning with clang -Wdocumentation
2015-12-30 16:45:44 +01:00
Gael Guennebaud
29bb599e03
Fix numerous doxygen issues in auto-link generation
2015-12-30 16:04:24 +01:00
Gael Guennebaud
9f9de1aaa9
bump to 3.3-beta1
2015-12-16 21:48:48 +01:00
Gael Guennebaud
774dba87c8
merge
2015-12-11 23:28:44 +01:00
Gael Guennebaud
ca39b1546e
Merged in ebrevdo/eigen (pull request PR-148)
...
Add special functions to eigen: lgamma, erf, erfc.
2015-12-11 11:52:09 +01:00
Gael Guennebaud
79c1e6d0a6
Fix compilation of MKL support.
2015-12-11 10:55:07 +01:00
Benoit Steiner
b820b097b8
Created EIGEN_HAS_C99_MATH define as Gael suggested.
2015-12-10 13:52:05 -08:00
Benoit Steiner
73b68d4370
Fixed a couple of typos
...
Cleaned up the code a bit.
2015-12-07 16:38:48 -08:00
Eugene Brevdo
fa4f933c0f
Add special functions to Eigen: lgamma, erf, erfc.
...
Includes CUDA support and unit tests.
2015-12-07 15:24:49 -08:00
Gael Guennebaud
b37036afce
Implement wrapper for matrix-free iterative solvers
2015-12-07 12:23:22 +01:00
Gael Guennebaud
0bb12fa614
Add LU::transpose().solve() and LU::adjoint().solve() API.
2015-12-01 14:38:47 +01:00
Gael Guennebaud
ca001d7c2a
Big 1009, part 2/2: add static assertion on LinearAccessBit in coeff(index)-like methods.
2015-11-27 10:06:47 +01:00
Mark Borgerding
7ddcf97da7
added scalar_sign_op (both real,complex)
2015-11-24 17:15:07 -05:00
Gael Guennebaud
f9fff67a56
Disable "decorated name length exceeded, name was truncated" MSVC warning.
2015-11-23 15:03:24 +01:00
Gael Guennebaud
e52d4f8d8d
Add is_integral<> type traits
2015-11-20 13:54:28 +01:00
Benoit Steiner
7d1cedd0fe
Added numeric limits for unsigned integers
2015-11-18 17:17:44 -08:00
Benoit Jacob
4926251f13
bug #1115 : enable static alignment on ARM outside of old-GCC
2015-11-18 10:55:23 -05:00
Benoit Steiner
bf792f59e3
Only enable the use of constexpr with nvcc if we're using version 7.5 or above
2015-11-13 12:24:22 -08:00
Benoit Steiner
e4d45f3440
Only enable the use of const expression when nvcc is called with the -std=c++11 option
2015-11-12 18:18:35 -08:00
Benoit Steiner
8037826367
Simplified more of the IndexList code.
2015-11-12 17:19:45 -08:00
Gael Guennebaud
e701cb2c7c
Update EIGEN_FAST_MATH doc
2015-11-12 12:09:19 +01:00
Gael Guennebaud
e73ef4f25e
bug #1109 : use noexcept instead of throw for C++11 compilers
2015-12-10 14:21:23 +01:00
Benoit Steiner
ed1962b464
Reimplement the tensor comparison operators by using the scalar_cmp_op functors. This makes them more cuda friendly.
2015-11-06 09:18:43 -08:00
Gael Guennebaud
902750826b
Add support for dense.cwiseProduct(sparse)
...
This also fixes a regression regarding (dense*sparse).diagonal()
2015-11-04 17:42:07 +01:00
Gael Guennebaud
c0352197a1
bug #1099 : add missing incude for CUDA
2015-10-31 18:06:28 +01:00
Gael Guennebaud
7a5f83ca60
Add overloads for real times sparse<complex> operations.
...
This avoids real to complex conversions, and also fixes a compilation issue with MSVC.
2015-10-29 03:55:39 -07:00
Gael Guennebaud
6759a21e49
CUDA support: define more accurate min/max values for device::numeric_limits of float and double using values from cfloat header
2015-10-28 16:49:15 +01:00
Gael Guennebaud
8531304858
Simplify cost computations based on HugeCost being smaller that unrolling limit
2015-10-28 13:39:02 +01:00
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
0fc8954282
Improve readibility of EIGEN_DEBUG_ASSIGN mode.
2015-10-27 10:38:49 +01: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
a4cc4c1e5e
Clarify note in nested_eval for evaluator creating temporaries.
2015-10-09 14:57:51 +02:00
Gael Guennebaud
2632b3446c
Improve documentation of TriangularView.
2015-10-09 12:10: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