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
941a99ac1a
Add a few missing EIGEN_DEVICE_FUNC declarations
2015-09-03 14:14:54 +02:00
Christoph Hertzberg
78358a7241
Fixed broken commit a09cfe650f
...
. Missing } and unprotected min/max calls and definitions.
2015-08-22 15:03:16 +02:00
Benoit Steiner
a09cfe650f
std::numeric_limits doesn't work reliably on CUDA devices. Use our own definition of numeric_limit<T>::max() and numeric_limit<T>::min() instead of the stl ones.
2015-08-21 16:01:40 -07:00
Jonas Adler
815fa0dbf6
Fixed some compiler bugs in NVCC, now compiles with CUDA.
...
(chtz: Manually joined sevaral commits to keep the history clean)
2015-07-22 12:29:18 +02:00
Gael Guennebaud
a66f5fc2fd
Fix regression with C++11 support of lambda: now internal::result_of falls back to std::result_of in C++11.
2015-02-19 23:32:12 +01:00
Gael Guennebaud
829dddd0fd
Add support for C++11 result_of/lambdas
2015-02-19 15:18:37 +01:00
Gael Guennebaud
63eb0f6fe6
Clean a bit computeProductBlockingSizes (use Index type, remove CEIL macro)
2015-02-18 15:49:05 +01:00
Gael Guennebaud
a325d1cb1e
merge with default branch
2014-07-18 11:02:22 +02:00
Gael Guennebaud
338d2ec42b
bug #826 : fix is_convertible for MSVC and add minimalistic unit test for is_convertible
2014-07-16 13:17:06 +02:00
Gael Guennebaud
296cb40161
merge with default branch
2014-07-10 22:04:45 +02:00
Christoph Hertzberg
f365380496
Fix regression introduced by 3117036b80
...
:
Matrix<Scalar,1,1>(int) did not compile if Scalar is not constructible from int. Now this falls back to the (Index size) constructor.
2014-07-04 12:52:55 +02:00
Gael Guennebaud
a08cba6b5f
Move is_diagonal to XprHelper, forward declare Ref
2014-02-18 11:03:59 +01:00
Gael Guennebaud
8fe609311d
Move internal::swap to numext to fix ambiguous call with std::swap
2013-11-07 09:01:26 +01:00
Gael Guennebaud
ddf7753631
Add nvcc support for small eigenvalues decompositions and workaround lack of support for std::swap and std::numeric_limits
2013-08-01 16:26:57 +02:00
Gael Guennebaud
c519be2bac
Allow multiplication like binary operators to be applied on type couples supported by scalar_product_traits
2013-03-20 21:19:16 +01:00
Benoit Jacob
69124cfca2
Automatic relicensing to MPL2 using Keirs script. Manual fixup follows.
2012-07-13 14:42:47 -04:00
Gael Guennebaud
a2ae063491
add a noncopyable base class for decompositions
2012-06-04 13:21:15 +02:00
Jitse Niesen
3c412183b2
Get rid of include directives inside namespace blocks (bug #339 ).
2012-04-15 11:06:28 +01:00
Gael Guennebaud
9a954d29ec
rm non standard and useless overloads of is_arithmetic for long long
2012-01-31 21:45:03 +01:00
Benoit Jacob
59b944cb50
add is_const
2010-12-01 09:22:54 -05:00
Benoit Jacob
46387cc180
remove makeconst_return_type
2010-12-01 09:22:50 -05:00
Hauke Heibel
3899857e08
Removed remove_const_on_value_type since the meaning is unclear and it is in fact unused.
...
Extened the meta unit tests.
2010-11-26 18:06:08 +01:00
Hauke Heibel
60a544c879
Added STL like (add|remove)_const. Fixed add_const_on_value_type for "const T* const".
2010-11-26 16:56:03 +01:00
Hauke Heibel
bf9d25ce58
Postfixed add_const and remove_const by _on_value_type to express the differences to the STL.
2010-11-26 16:30:45 +01:00
Hauke Heibel
c738cd56eb
Renamed cleantype to remove_all since it is close to remove_{const|pointer|reference}.
2010-10-26 16:47:01 +02:00
Hauke Heibel
7bc8e3ac09
Initial fixes for bug #85 .
...
Renamed meta_{true|false} to {true|false}_type, meta_if to conditional, is_same_type to is_same, un{ref|pointer|const} to remove_{reference|pointer|const} and makeconst to add_const.
Changed boolean type 'ret' member to 'value'.
Changed 'ret' members refering to types to 'type'.
Adapted all code occurences.
2010-10-25 22:13:49 +02:00
Benoit Jacob
4716040703
bug #86 : use internal:: namespace instead of ei_ prefix
2010-10-25 10:15:22 -04:00
Gael Guennebaud
c2ee454df4
* fix compilation of mixed scalar product
...
* optimize mixed scalar products
2010-07-19 16:49:09 +02:00
Gael Guennebaud
b2effa2b2c
move ei_conj_if to a more appropriate file
2010-07-09 18:05:57 +02:00
Gael Guennebaud
efb79600b9
fix warning "type qualifiers ignored on function return type" for long long scalar types
2010-07-05 11:23:05 +02:00
Gael Guennebaud
75b6d2b2f8
fix very annoying warning (gcc 4.3): type qualifiers ignored on function return type
2010-06-25 13:20:34 +02:00
Gael Guennebaud
28e64b0da3
email change
2010-06-24 23:21:58 +02:00
Gael Guennebaud
aa0974286f
fix compilation adding a makeconst helper struct
2009-11-07 09:07:23 +01:00
Gael Guennebaud
7b60713e87
my previous fix was not very good
2009-08-15 11:52:50 +02:00
Gael Guennebaud
1a1b2e9f27
finally directly calling the low-level products is faster
2009-07-10 10:41:26 +02:00
Gael Guennebaud
08e419dcb1
* update sparse module wrt new diagonal matrix impl
...
* fix a bug is SparseMatrix
2009-07-04 11:16:27 +02:00
Benoit Jacob
6347b1db5b
remove sentence "Eigen itself is part of the KDE project."
...
it never made very precise sense. but now does it still make any?
2009-05-22 20:25:33 +02:00
Gael Guennebaud
ce5669dbf9
* enable vectorization of sin, cos, etc. by default with an option to
...
disable them (-DEIGEN_FAST_MATH=0)
* add a specialization of MatrixBase::operator*(RealScalar) for fast
"matrix of complex" times scalar products (even more useful for
autodiff scalar types)
2009-03-26 12:50:24 +00:00
Benoit Jacob
f5a05e7ed1
unfuck v.cwise()*w where v is real and w is complex
2008-12-21 20:55:46 +00:00
Benoit Jacob
00f89a8f37
Update e-mail address
2008-11-24 13:40:43 +00:00
Benoit Jacob
da674fa032
Shut up two bogus gcc 4.3 warnings
2008-08-25 03:13:14 +00:00
Gael Guennebaud
854d6e8458
Documentation: fill the placeholders, add a custom CSS file,
...
add a reference to the tutorial in the main page.
2008-08-24 19:14:20 +00:00
Gael Guennebaud
bf17467ce0
bugfix in Product and ei_L2_block_traits
2008-08-24 16:00:17 +00:00
Gael Guennebaud
440664cd5d
temporary fix of the pèrevious commit
2008-08-24 15:27:05 +00:00
Gael Guennebaud
ba100998bf
* split Meta.h to Meta.h (generic meta programming) and XprHelper.h (relates to eigen mechanism)
...
* added a meta.cpp unit test
* EIGEN_TUNE_FOR_L2_CACHE_SIZE now represents L2 block size in Bytes (whence the ei_meta_sqrt...)
* added a CustomizeEigen.dox page
* added a TOC to QuickStartGuide.dox
2008-08-24 15:15:32 +00:00
Gael Guennebaud
f2f48b6560
* remove LargeBit and related stuff
...
* replaced the Flags template parameter of Matrix by StorageOrder
and move it back to the 4th position such that we don't have to
worry about the two Max* template parameters
* extended EIGEN_USING_MATRIX_TYPEDEFS with the ei_* math functions
2008-08-23 17:11:44 +00:00
Gael Guennebaud
a6d387a359
Various compilation fixes for MSVC 9. All tests compile but some
...
still fail at runtime in ei_aligned_free() (even without vectorization).
2008-08-19 11:06:40 +00:00
Gael Guennebaud
4fa40367e9
* Big change in Block and Map:
...
- added a MapBase base xpr on top of which Map and the specialization
of Block are implemented
- MapBase forces both aligned loads (and aligned stores, see below) in expressions
such as "x.block(...) += other_expr"
* Significant vectorization improvement:
- added a AlignedBit flag meaning the first coeff/packet is aligned,
this allows to not generate extra code to deal with the first unaligned part
- removed all unaligned stores when no unrolling
- removed unaligned loads in Sum when the input as the DirectAccessBit flag
* Some code simplification in CacheFriendly product
* Some minor documentation improvements
2008-08-09 18:41:24 +00:00
Gael Guennebaud
842c4f8bfa
Several compilation fixes for MSVC and NVCC, basically:
...
- added explicit enum to int conversion where needed
- if a function is not defined as declared and the return type is "tricky"
then the type must be typedefined somewhere. A "tricky return type" can be:
* a template class with a default parameter which depends on another template parameter
* a nested template class, or type of a nested template class
2008-07-29 16:33:07 +00:00