Gael Guennebaud
1f5024332e
First part of a big refactoring of alignment control to enable the handling of arbitrarily aligned buffers. It includes:
...
- AlignedBit flag is deprecated. Alignment is now specified by the evaluator through the 'Alignment' enum, e.g., evaluator<Xpr>::Alignment. Its value is in Bytes.
- Add several enums to specify alignment: Aligned8, Aligned16, Aligned32, Aligned64, Aligned128. AlignedMax corresponds to EIGEN_MAX_ALIGN_BYTES. Such enums are used to define the above Alignment value, and as the 'Options' template parameter of Map<> and Ref<>.
- The Aligned enum is now deprecated. It is now an alias for Aligned16.
- Currently, traits<Matrix<>>, traits<Array<>>, traits<Ref<>>, traits<Map<>>, and traits<Block<>> also expose the Alignment enum.
2015-08-06 15:31:07 +02:00
Gael Guennebaud
846b227bb7
Get rid of class internal::nested<> (still have to updated Tensor module)
2015-06-19 17:56:39 +02:00
Gael Guennebaud
6fc5438205
Remove a few deprecated internal expressions
2015-06-19 17:06:12 +02:00
Gael Guennebaud
4aba24a1b2
Clean argument names of some functions
2015-06-09 13:32:12 +02:00
Gael Guennebaud
cc641aabb7
Remove deprecated usage of expr::Index.
2015-02-16 14:46:51 +01:00
Gael Guennebaud
fc202bab39
Index refactoring: StorageIndex must be used for storage only (and locally when it make sense). In all other cases use the global Index type.
2015-02-13 18:57:41 +01:00
Gael Guennebaud
fe51319980
Merge Index-refactoring branch with default, fix PastixSupport, remove some useless typedefs
2015-02-13 10:03:53 +01:00
Gael Guennebaud
c6eb84aabc
Enable vectorization of transposeInPlace for PacketSize x PacketSize matrices
2015-01-26 17:09:01 +01:00
Christoph Hertzberg
e8cdbedefb
bug #877 , bug #572 : Introduce a global Index typedef. Rename Sparse*::Index to StorageIndex, make Dense*::StorageIndex an alias to DenseIndex. Overall this commit gets rid of all Index conversion warnings.
2014-12-04 22:48:53 +01:00
Christoph Hertzberg
d3f52debc6
Make cuda_basic test compile again by adding lots of EIGEN_DEVICE_FUNC.
...
Although the test passes now, there might still be some missing.
2014-10-13 17:18:26 +02:00
Christoph Hertzberg
36448c9e28
Make constructors explicit if they could lead to unintended implicit conversion
2014-09-23 14:28:23 +02:00
Gael Guennebaud
0ca43f7e9a
Remove deprecated code not used by evaluators
2014-09-18 15:15:27 +02:00
Gael Guennebaud
0bf5894861
workaround one more shadowing issue with MSVC
2014-09-16 18:21:39 -07:00
Gael Guennebaud
26db954776
Re-enable aliasing checks when using evaluators
2014-09-14 19:06:08 +02:00
Gael Guennebaud
3849cc65ee
Implement binaryop and transpose evaluators for sparse matrices
2014-06-23 10:40:03 +02:00
Gael Guennebaud
78bb808337
1- Introduce sub-evaluator types for unary, binary, product, and map expressions to ease specializing them.
...
2- Remove a lot of code which should not be there with evaluators, in particular coeff/packet methods implemented in the expressions.
2014-06-20 15:39:38 +02:00
Gael Guennebaud
74b1d79d77
merge default and evaluator branches
2014-03-12 16:24:25 +01:00
Gael Guennebaud
8dd3b716e3
Move evaluation related flags from traits to evaluator and fix evaluators of MapBase and Replicate
2014-03-12 13:34:11 +01:00
Gael Guennebaud
da6ec81282
Move CoeffReadCost mechanism to evaluators
2014-03-10 23:24:40 +01:00
Christoph Hertzberg
3e439889e0
Specify what non-resizeable objects are in transposeInPlace and adjointInPlace (cf bug #749 )
2014-02-24 13:12:10 +01:00
Gael Guennebaud
2f593ee67c
merge with main branch
2013-07-17 13:21:35 +02:00
Gael Guennebaud
84f52ad317
Remove double const qualifier
2013-07-10 23:54:53 +02:00
Jitse Niesen
419b5cff44
doc: Mention vec=vec.head(n) in aliasing page.
2013-07-02 13:35:36 +01:00
Gael Guennebaud
c21a04bcf9
fix compilation of ArrayBase::transposeInPlace
2013-06-24 13:35:13 +02:00
Gael Guennebaud
33788b97dd
Fix compilation issue with some compilers (when doing using Base::foo;, foo must be visible in the direct base class)
2013-06-18 00:48:47 +02:00
Gael Guennebaud
9cd2d14005
merge with default branch
2013-04-19 11:21:39 +02:00
Jitse Niesen
986f60127d
Guard against transposeInPlace on non-square non-resizable matrix.
...
Inspired by question by Martin Drozdik at stackoverflow.com/q/14954983
2013-02-20 14:03:14 +00:00
Gael Guennebaud
5adcc6c7b4
Add support for NVCC5: most of the Core and part of LU are callable from CUDA code.
...
Still a lot to do.
2013-02-07 19:06:14 +01:00
Gael Guennebaud
a1b405c92e
Add missing const in some casts
2012-08-05 10:40:46 +02:00
Benoit Jacob
69124cfca2
Automatic relicensing to MPL2 using Keirs script. Manual fixup follows.
2012-07-13 14:42:47 -04:00
Gael Guennebaud
62c504e7bf
fix most of the shadow warnings in Core/*.h
2012-06-22 16:32:45 +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
fe85b7ebc6
fix several const qualifier issues: double ones, meaningless ones, some missing ones, etc.
...
(note that const qualifiers are set by internall::nested)
2012-02-03 23:18:26 +01:00
Gael Guennebaud
5bc4abc45e
fix compilation with MinGW
2011-06-01 12:16:21 +02:00
Hauke Heibel
d975b82105
Removed internal::as_argument. This fixes the alignment issues of bug #165 .
2011-02-06 17:33:04 +01:00
Benoit Jacob
98f0274305
third pass of const-correctness fixes (bug #54 ), hopefully the last one...
2011-01-07 05:16:01 -05:00
Benoit Jacob
13867c15cc
fix compilation of code using e.g. Transpose<const Foo>::data() non-const-qualified. Same problem existed for coeffRef() and also in MapBase.h.
2010-12-30 07:47:51 -05:00
Benoit Jacob
75b7d98665
bug #54 - really fix const correctness except in Sparse
2010-12-22 17:45:37 -05: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
70b1ce11c6
* fix SelfCwiseBinaryOp traits and handling of mixed types
...
* improve compilation error in case of type mismatch
2010-07-19 23:31:08 +02:00
Jitse Niesen
49747fa4a9
Various documentation improvements.
...
* Add short documentation for Array class
* Put all classes explicitly in Core module (where applicable)
* Section on Modules in Quick Reference Guide
* Put Page 7 after Page 6 in Contents :)
2010-07-06 13:10:08 +01:00
Gael Guennebaud
28e64b0da3
email change
2010-06-24 23:21:58 +02:00
Gael Guennebaud
197ce96c00
typo
2010-06-16 17:23:39 +02:00
Benoit Jacob
42c62c8876
fix #126 , part 2/2: the checkTransposeAliasing() assertion was always compiled, for all expressions,
...
even for expressions that are known at compile time to not need it because they don't involve any transposing.
This gave 'controlling condition is constant' warnings on ICC, and potentially worse, this could generate a lot
of useless code per-expression if the compiler failed to realize that the condition was constant.
2010-06-16 09:23:32 -04:00
Gael Guennebaud
8350ab9fb8
* remove ei_index, and let ei_traits propagate the index types
...
* add an Index type template parapeter to sparse objects
2010-06-03 08:41:11 +02:00
Benoit Jacob
aaaade4b3d
the Index types change.
...
As discussed on the list (too long to explain here).
2010-05-30 16:00:58 -04:00
Benoit Jacob
a16ba80bfa
* remove ei_block_direct_access_status
...
* remove HasDirectAccess / NoDirectAccess constants
2010-04-23 11:36:22 -04:00
Benoit Jacob
58e7297859
* remove class DenseDirectAccessBase
...
* remove member XprBase typedefs, use ei_dense_xpr_base
* remove member _HasDirectAccess typedefs, use ei_has_direct_access
2010-04-23 10:27:15 -04:00