Sebastian Lipponer
fff25a4b46
Fix MSVC integer overflow warning
2011-12-09 10:39:10 +00:00
Gael Guennebaud
2d621d235d
fix alignment computation in Block and MapBase such that aligned means aligned on 16 bytes and nothing else
...
(transplanted from dcb36e3d49f25566a1733846cd4d6592bf8be0c4
)
2011-11-28 13:43:10 +01:00
Jitse Niesen
afdd26f229
Do some of the actual work in evaluator for Block.
...
Also, add simple accessor methods to Block expression class.
2011-04-04 13:44:50 +01: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
Hauke Heibel
4ba0ec5e0e
Fixed #148 where a const-accessor for coefficients was missing in the MatrixWrapper.
2011-01-04 15:35:50 +01:00
Benoit Jacob
75b7d98665
bug #54 - really fix const correctness except in Sparse
2010-12-22 17:45:37 -05: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
cb7a72d5b0
Fix Sun CC parsing of Eigen/Core. In particular,
...
I moved all the block related methods to a plugin file. This also
significantly reduce code verbosity.
2010-08-25 13:09:56 +02:00
Gael Guennebaud
aa2b46aa91
allow vectorization of mat44.col() by adding a InnerPanel boolean
...
template parameter to Block
2010-07-23 16:29:29 +02:00
Benoit Jacob
8bbe556e35
merge the backout
2010-08-11 00:06:31 -04:00
Benoit Jacob
97ced33b33
Backed out changeset 40f6e26a247976ba1868520a4747e49e0739a42a
...
See thread on mailing list: "InnerPanel change mis-detects alignment?"
2010-08-11 00:04:06 -04:00
Jitse Niesen
425444428c
Add examples for API documentation of block methods in DenseBase.
2010-07-23 22:20:00 +01:00
Gael Guennebaud
40f6e26a24
allow vectorization of mat44.col() by adding a InnerPanel boolean
...
template parameter to Block
2010-07-23 16:29:29 +02:00
Manoj Rajagopalan
5c58582a08
Renamed DenseBase::{row,col}Range() to DenseBase::middle{Rows,Cols}()
2010-06-29 14:31:39 -04:00
Manoj Rajagopalan
464fc297cf
Included definitions for rowRange() and colRange() member functions of DenseBase
2010-06-26 17:37:17 -04:00
Gael Guennebaud
95f2e7f3f5
introduce a new LvalueBit flag and split DenseCoeffBase into three level of accessors
2010-07-21 10:57:01 +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
Hauke Heibel
e40852d282
Fixes #104 .
2010-06-02 19:17:41 +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
1c04484a01
bug fix, since the last storage order changes, this InnerSize calculation was wrong
2010-05-18 08:24:06 -04:00
Gael Guennebaud
cf6d3162cc
cache outer size in Block => x1.5 speed up for a.block() = b.block()
2010-05-17 16:54:17 +02:00
Benoit Jacob
e3e34b5920
remove MakeBase, use ei_dense_xpr_base instead
...
(yes, it was only used in dense xprs anyway)
2010-04-23 12:16:30 -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
bc22f4da9d
* fix Eigen2Support, was not including VectorBlock.h
...
* move the corners support stuff to a new Block.h there
* expand the unit test
2010-04-22 14:31:39 -04:00
Benoit Jacob
9962c59b56
* implement the corner() API change: new methods topLeftCorner() etc
...
* get rid of BlockReturnType: it was not needed, and code was not always using it consistently anyway
* add topRows(), leftCols(), bottomRows(), rightCols()
* add corners unit-test covering all of that
* adapt docs, expand "porting from eigen 2 to 3"
* adapt Eigen2Support
2010-04-22 14:11:18 -04:00
Benoit Jacob
504a31f643
renaming (MatrixType ---> whatever appropriate)
...
and documentation improvements
2010-04-18 22:14:55 -04:00
Benoit Jacob
ff6a46105d
* Refactoring of the class hierarchy: introduction of DenseDirectAccessBase, removal of extra _Base/_Options template parameters.
...
* Introduction of strides-at-compile-time so for example the optimized code really knows when it needs to evaluate to a temporary
* StorageKind / XprKind
* Quaternion::setFromTwoVectors: use JacobiSVD instead of SVD
* ComplexSchur: support the 1x1 case
2010-04-16 10:13:32 -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
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
Benoit Jacob
32115bff1e
* add VERIFY_IS_EQUAL, should compile faster and it's natural when no arithmetic is involved.
...
* rename 'submatrices' test to 'block'
* add block-inside-of-block tests
* remove old cruft
* split diagonal() tests into separate file
2010-02-26 09:03:13 -05:00
Benoit Jacob
769641bc58
* Implement the ByOuterInner accessors
...
* use them (big simplification in Assign.h)
* axe (Inner|Outer)StrideAtCompileTime that were just introduced
* ei_int_if_dynamic now asserts that the size is the expected one: adapt to that in Block.h
* add rowStride() / colStride() in DenseBase
* implement innerStride() / outerStride() everywhere needed
2010-02-25 21:01:52 -05:00
Benoit Jacob
b73e22905d
miserable half-working state, commiting to a fork just in case, just to perfect
...
my day, my hard disk would die.
Will write a more detailed commit message once it's working.
2010-02-18 20:42:38 -05:00
Gael Guennebaud
8b016e717f
get rid of NestParentByRefBit
2010-02-08 16:51:41 +01:00
Hauke Heibel
871698d3aa
Introduced NestParentByRefBit and NestByRefBit - this should fix temporaries related to nested products.
...
Fixed a few typos and a few warnings.
2010-02-06 17:43:32 +01:00
Gael Guennebaud
d40c110053
lot of cleaning:
...
- clean the *_PUBLIC_INTERFACE_*
- update Diagonal, ReturnByValue, ForceAlignedAccess, UnaryView, etc. to support array
- many other small stuff
2010-01-22 10:15:41 +01:00
Gael Guennebaud
c11300dbd5
a couple of fixes
2010-01-06 17:16:30 +01:00
Gael Guennebaud
af4d8c5cec
a couple of fixes, now Array passes the linearstructure test
2009-12-17 19:28:54 +01:00
Gael Guennebaud
8e05f9cfa1
add a DenseBase class for MAtrixBase and ArrayBase and more code factorisation
2009-12-04 23:17:14 +01:00
Gael Guennebaud
4af1753b6f
* remove EnforceAlignedAccess option to Block, VectorBlock, Map and MapBase
...
because thanks to the previous commit this is not needed anymore
* add a more general ForceAlignedAccess expression which can be used for any expression.
It is already used by StableNorm.h.
2009-11-20 16:30:14 +01:00
Gael Guennebaud
2a3a6fe45e
Experiment the ET refactoring on Transpose for Dense and Sparse storages.
...
All tests work fine.
2009-11-16 18:19:08 +01:00
Gael Guennebaud
a382963b04
* extend Map to allow the user to specify whether the mapped data
...
is aligned or not. This is done using the Aligned constant:
Map<MatrixType,Aligned>::Map(data);
* rename ForceAligned to EnforceAlignedAccess, and update its doc,
and emphasize this is mainly an internal stuff.
2009-10-23 14:26:14 +02:00
Gael Guennebaud
9515b00876
remove the \addexample tags
2009-09-03 11:22:42 +02:00
Gael Guennebaud
095809edda
fix issue #45 and document the .data() and .stride() functions
2009-08-31 17:07:54 +02:00
Gael Guennebaud
54804eb626
synch with main branch
2009-07-28 17:35:07 +02:00
Gael Guennebaud
afa8f2ca95
* various fixes related to sub diagonals and band matrix
...
* allows 0 sized objects in Block/Map
2009-07-21 11:19:52 +02:00
Gael Guennebaud
32b08ac971
re-implement stableNorm using a homemade blocky and
...
vectorization friendly algorithm (slow if no vectorization)
2009-07-17 16:22:39 +02:00
Gael Guennebaud
ec5c608aa3
Set of fixes and workaround to make sun studio more happy.
...
Still remains the problem of alignment and vectorization.
2009-07-10 16:10:03 +02:00