Hauke Heibel
42b88983ff
Fixed mean reduction leading to unresolved symbol.
2010-01-29 11:48:16 +01:00
Hauke Heibel
33abe75afa
Fixed Quaternion operator*= added regression test.
2010-01-28 10:32:44 +01:00
Thomas Capricelli
fcd074c928
silent warning of icc
2010-01-27 23:43:32 +01:00
Gael Guennebaud
0ce5bc0d14
add support for global math function for array
2010-01-27 23:23:59 +01:00
Hauke Heibel
5b9cc65418
Added EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION macro including unit tests and documentation.
2010-01-27 20:34:05 +01:00
Benoit Jacob
828d058b4b
EIGEN_ENUM_MIN ---> EIGEN_SIZE_MIN
2010-01-27 11:42:04 -05:00
Benoit Jacob
35bacf7cb8
*forward port fix in MapBase::coeff(int) and coeffRef(int)
...
*forward port expanded map.cpp unit test
*fix unused variable warnings
2010-01-27 07:11:49 -05:00
Hauke Heibel
4365a48748
Added an ei_linspaced_op to create linearly spaced vectors.
...
Added setLinSpaced/LinSpaced functionality to DenseBase.
Improved vectorized assignment - overcomes MSVC optimization issues.
CwiseNullaryOp is now requiring functors to offer 1D and 2D operators.
Adapted existing functors to the new CwiseNullaryOp requirements.
Added ei_plset to create packages as [a, a+1, ..., a+size].
Added more nullaray unit tests.
2010-01-26 19:42:17 +01:00
Jitse Niesen
bdb0e9fcd0
Clean up one compilation error and two warnings.
2010-01-26 16:02:19 +00:00
Benoit Jacob
6ae7d842a3
generate a compilation error when using ReturnByValue::coeff() or coeffRef(),
...
instead of doing an infinite recursion
2010-01-24 21:44:18 -05:00
Gael Guennebaud
be11a254ac
rm ExpressionMaker stuff (weird as I was pretty sure that I had already removed them)
2010-01-22 10:17:43 +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
Hauke Heibel
f1a025185a
Added array() to ArrayBase and matrix() to MatrixBase().
2010-01-21 17:55:09 +01:00
Jitse Niesen
dbf3af866e
Remove some Array #includes.
2010-01-21 12:31:03 +00:00
Hauke Heibel
7bf5930496
Adapted Geometry includes.
...
Adapted the decomposition documentation regarding the solve signature.
2010-01-21 09:43:30 +01:00
Hauke Heibel
ecc71abdda
Added the Array include's warning for GCC.
2010-01-20 21:36:50 +01:00
Hauke Heibel
26df0609e2
Corrected the Array include's deprecation warning for MSVC.
2010-01-20 20:56:52 +01:00
Hauke Heibel
85d80d0fcd
merge
2010-01-20 20:51:42 +01:00
Hauke Heibel
5d48cc1f5b
Moved the Array module to Core.
2010-01-20 20:51:01 +01:00
Jitse Niesen
e78e3cd41b
Fix bug in MatrixBase::setIdentity(int, int).
2010-01-20 12:07:46 +00:00
Gael Guennebaud
d5d5417062
add SSE code (from Intel) for the fast inversion of 4x4 matrices of double
2010-01-19 16:04:04 +01:00
Gael Guennebaud
60b0ddc3e1
update the fast 4x4 SSE inversion code from more recent Intel's code
2010-01-19 15:33:45 +01:00
Jitse Niesen
a13ffbd836
Get rid off GCC warning on comparing enums from different types.
2010-01-19 11:05:52 +00:00
Gael Guennebaud
9f899808d7
fix scalar - matrix
2010-01-18 22:56:47 +01:00
Gael Guennebaud
0158d78906
extend CwiseNullaryOp to support Array
2010-01-18 22:56:25 +01:00
Thomas Capricelli
c436abd0ac
fix both compilation and previous fix : now 'basicstuff' passes again.
...
(Gael: i dont think you meant removing this setIdentity(), did you?)
2010-01-18 10:29:11 +01:00
Gael Guennebaud
6b380992b5
fix !=
2010-01-18 08:18:48 +01:00
Benoit Jacob
b5a6f382ca
work around warning about /* inside of a comment (gcc 4.4)
2010-01-16 11:50:09 -05:00
Hauke Heibel
37d4505228
More documentation improvements.
2010-01-16 15:43:11 +01:00
Hauke Heibel
90d5a7c0dd
Adapted doxygen's new style sheet.
...
Added documentation to some of the typedefs.
2010-01-15 15:45:07 +01:00
Gael Guennebaud
dd4b2f044d
forgot to include this file in previous commit
2010-01-15 13:36:09 +01:00
Gael Guennebaud
d62ee0668f
remove useless using comp. assignment operators
2010-01-15 13:34:28 +01:00
Gael Guennebaud
76a355817b
fix a warning
2010-01-15 13:26:39 +01:00
Benoit Jacob
bfe6fdde24
allow to multiply a householder sequence and a matrix when one is real and one is complex.
...
This is especially important as in bidiagonalization, the band matrix is real.
2010-01-15 00:35:26 -05:00
Benoit Jacob
ddc32adb0e
New UpperBidiagonalization class
2010-01-14 22:30:58 -05:00
Benoit Jacob
f1d1756cdd
Introduce third template parameter to HouseholderSequence: int Side.
...
When it's OnTheRight, we read householder vectors as rows above the diagonal.
With unit test. The use case will be bidiagonalization.
2010-01-14 19:16:49 -05:00
Gael Guennebaud
5d796e363c
compilation fix for UmfPack
2010-01-14 22:31:06 +01:00
Hauke Heibel
814659c201
Changed parts of the documentation.
...
The param keyword is now tparam (in Matrix).
Made PlainMatrixType non-internal (currently MatrixBase only); I think this is an important typedef in particular when writing your own template methods.
2010-01-14 10:10:07 +01:00
Hauke Heibel
c0b2aa0ace
Added some minor comments.
...
Adapted some of the doc/snippets.
2010-01-13 17:51:09 +01:00
Hauke Heibel
a87c0a5ed8
Fixes #83 .
2010-01-12 17:13:46 +01:00
Hauke Heibel
553fb31f7e
Using operator*= is not required in MapBase. Since no other operator*= is present, none of the base class operator*='s may be hidden and all of them should be visible. As far as I was able to verify, this is not affecting GCC. This fixes #84 .
2010-01-12 16:30:03 +01:00
Hauke Heibel
e48c3faf25
Fixed the ProductReturnType (at least for UnrolledProducts).
...
Fixed operator= (MSVC specific) in Array.
2010-01-12 13:38:04 +01:00
Hauke Heibel
a8ea2c8cef
Fixes #81 .
2010-01-12 10:07:06 +01:00
Hauke Heibel
caa9ced853
Add a real plain matrix type to the ei_nested declaration used in product return type.
2010-01-12 09:41:06 +01:00
Hauke Heibel
a05d42616b
Fixed DenseStorageBase typedef (MSVC specific).
...
Unified the ei_plain_matrix_type.
2010-01-11 18:16:59 +01:00
Benoit Jacob
24a09ceae8
* Fix a bug in HouseholderQR with mixed fixed/dynamic size: must use EIGEN_SIZE_MIN instead of EIGEN_ENUM_MIN, and there are many other occurences throughout Eigen!
...
* HouseholderSequence:
- add shift parameter
- add essentialVector() method to start abstracting the direction
- add unit test in householder.cpp
2010-01-11 08:48:39 -05:00
Hauke Heibel
325da2ea3c
Fixed conservativeResize.
...
Fixed multiple overloads for operator=.
Removed debug output.
2010-01-11 13:57:50 +01:00
Jitse Niesen
376341de4a
Eigen/src/Core/DenseStorageBase.h: add 'typename'
2010-01-11 10:04:39 +00:00
Hauke Heibel
83d21d5ff6
Fixes unit test swap_3. Friends are not inherited.
2010-01-10 23:15:36 +01:00
Hauke Heibel
3d5912d458
Backed out the removal of the actual resize like implementation. Now, resizing by dimension is optional.
2010-01-10 23:11:05 +01:00
Hauke Heibel
350c7beb92
Fixed swapping and corresponding MSVC compilation.
2010-01-10 20:02:26 +01:00
Hauke Heibel
e0f5b4add3
Fixed MSVC compilation.
2010-01-10 15:36:28 +01:00
Jitse Niesen
ef0ed5b271
test/triangular.cpp: isUpper() --> isUpperTriangular()
...
Necessary to get the test to compile after c5d7c9f0de
.
I'm assuming that isUpperTriangular() is the name we want; the alternative
is to change Eigen/src/Core/{MatrixBase,TriangularMatrix}.h
2010-01-08 12:46:24 +00:00
Benoit Jacob
0fb0307377
implement BandMatrix::evalTo (thus avoid infinite recursion when assigning a BandMatrix to a Matrix)
2010-01-07 22:08:18 -05:00
Benoit Jacob
b05f59ee07
Backed out changeset 58fb27cd56
2010-01-07 22:00:45 -05:00
Benoit Jacob
58fb27cd56
undo
2010-01-07 21:53:52 -05:00
Benoit Jacob
7befc8d6f3
undo my last commit
2010-01-07 21:51:40 -05:00
Trevor Irons
5f0cf1d7f6
Added std::sqrt(std::complex<float>) and std::sqrt(std::complex<double>) support to MathFunctions.h
2010-01-07 15:03:51 -07:00
Gael Guennebaud
c5d7c9f0de
remove the Triangular suffix to Upper, Lower, UnitLower, etc,
...
and remove the respective bit flags
2010-01-07 21:15:32 +01:00
Benoit Jacob
82ec250a0f
make applyHouseholderOnTheRight take a row vector, not a column vector:
...
this is how it's used in practice.
2010-01-07 12:50:02 -05:00
Gael Guennebaud
7d3fe69eff
Various documentation updates:
...
- update the tutorial
- update doc of deprecated cwise function
- update cwise doc snippets
2010-01-06 17:18:38 +01:00
Gael Guennebaud
c11300dbd5
a couple of fixes
2010-01-06 17:16:30 +01:00
Benoit Jacob
e77748ef96
merge
2010-01-06 08:24:42 -05:00
Benoit Jacob
f287ad651a
fix comments
2010-01-06 08:23:19 -05:00
Gael Guennebaud
023e0dfb4e
improve the new experimental sparse product
2010-01-05 19:56:59 +01:00
Gael Guennebaud
eda4e98c61
merge
2010-01-05 16:04:36 +01:00
Gael Guennebaud
d8534be728
add a novel, experimental sparse product
2010-01-05 15:57:16 +01:00
Gael Guennebaud
1837b65b28
add operators *= and /= (bis)
2010-01-05 15:41:01 +01:00
Gael Guennebaud
cab85218db
add missing operators: /, /=, *=
2010-01-05 15:36:32 +01:00
Gael Guennebaud
3e22e3907f
fix types of scalar constants
2010-01-05 15:35:44 +01:00
Gael Guennebaud
97f0f02e10
forgot to hg add this file
2010-01-05 14:36:55 +01:00
Gael Guennebaud
9d9e00b608
merge and add start/end to Eigen2Support
2010-01-05 13:07:32 +01:00
Gael Guennebaud
90d2ae7fec
fix aliasing detection
2010-01-05 12:46:07 +01:00
Gael Guennebaud
37851cfe11
fix a coupe of warnings
2010-01-05 10:15:29 +01:00
Benoit Jacob
39ac57fa6d
Big renaming:
...
start ---> head
end ---> tail
Much frustration with sed syntax. Need to learn perl some day.
2010-01-04 21:24:43 -05:00
Thomas Capricelli
57275b2b8c
make some changes to please clang, fix some warnings too.
2010-01-04 23:21:04 +01:00
Gael Guennebaud
71a171c267
s/asMatrix()/matrix()
2010-01-04 19:13:08 +01:00
Gael Guennebaud
8eab9fb87e
port VectorwiseOp and Swap to the novel mechanisms, and various cleanning
2010-01-04 19:00:16 +01:00
Gael Guennebaud
826bff58c6
Fix #69 for the second time, and add the respective regression test
2010-01-04 17:36:26 +01:00
Benoit Jacob
80d1f9e966
remove debug output. sorry!
2010-01-02 18:01:39 -05:00
Benoit Jacob
ff94eaa4ae
clarify docs as requested on forum
2010-01-02 12:55:32 -05:00
Benoit Jacob
25f8adfa6c
* Fix bug #79 : ei_alignmentOffset was assuming that ptr is multiple of
...
sizeof(Scalar), and that assumption breaks with double on linux x86-32.
* Rename ei_alignmentOffset to ei_first_aligned
* Rewrite its documentation and part of its body
* The variant taking a MatrixBase doesn't need a separate size argument.
2010-01-02 12:38:16 -05:00
Benoit Jacob
ed5c972801
put the assign assert and debug info before the assignment itself
2010-01-01 21:47:53 -05:00
Gael Guennebaud
72b6c05bf0
sorry for committing this mess
2009-12-23 13:30:25 +01:00
Gael Guennebaud
24302ad5cd
fix #76 , MayLinearVectorize depends on MaxSizeAtCompileTime and not on MaxInnerSize
2009-12-23 13:19:28 +01:00
Gael Guennebaud
0b5853d917
fix the xpr analyzer for Transpose
2009-12-23 13:17:46 +01:00
Gael Guennebaud
c90ccd089a
clean a bit Hessenberg and make sure the subdiagonal coeff is real even for 2x2 matrices
2009-12-23 12:30:05 +01:00
Gael Guennebaud
791bac25f2
fix #75 , and add a basic unit test for Hessenberg
...
(it was indirectly tested by the eigenvalue decomposition)
2009-12-23 12:18:54 +01:00
Gael Guennebaud
d65c8cb60a
fix #69 and extend unit tests or triangular solvers
2009-12-23 11:48:53 +01:00
Gael Guennebaud
fcc3be5dce
a couple of fixes after thye merge
2009-12-23 09:07:01 +01:00
Gael Guennebaud
eaaba30cac
merge with default branch
2009-12-22 22:51:08 +01:00
Gael Guennebaud
e182e9c616
extend the DenseStorageMatrix mechanism to all expressions
2009-12-22 17:37:11 +01:00
Benoit Jacob
4ec99bbc0c
support gcc 4.5
2009-12-21 13:49:43 -05:00
Gael Guennebaud
02beaea2f8
add missing inclusion of LU/arch, thanks to J.B. Rouault
2009-12-19 13:49:00 +01:00
Gael Guennebaud
f8cb9a6230
oops, remove duplicated ctor
2009-12-19 13:45:14 +01:00
Gael Guennebaud
9d54783036
much better workaround for empty struct (the previous one caused GCC 4.3 to generate wrong code leading to segfaults)
2009-12-18 17:08:59 +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
4b70b47998
clean a bit Matrix and fix static Map functions
2009-12-17 14:48:26 +01:00
Gael Guennebaud
5ca90e1b0c
some cleaning in DenseStorageBase
2009-12-17 13:56:33 +01:00
Gael Guennebaud
ebb2878829
finally add a Array class with storage via the introduction of a DenseStorageBase
...
base class shared by both Matrix and Array
2009-12-17 13:37:00 +01:00
Gael Guennebaud
4e9c227bd5
partial LU optimization: noalias
2009-12-17 11:43:42 +01:00
Gael Guennebaud
30d47860dd
more fixes
2009-12-17 10:43:46 +01:00
Gael Guennebaud
34c95029ca
a couple of fixes and cleaning
2009-12-17 10:00:35 +01:00
Gael Guennebaud
9f79558839
a lot of cleaning and fixes
2009-12-16 19:18:40 +01:00
Gael Guennebaud
22a6ab1f4b
add an eigen2support test and a few fixes
2009-12-16 17:37:21 +01:00
Benoit Jacob
5cb779e5e1
* introduce ei_alignmentOffset(MatrixBase&,Integer)
...
couldnt put it in Memory.h as it needs the definition of MatrixBase
* make Redux use it
2009-12-16 08:53:14 -05:00
Gael Guennebaud
e0aa29121f
this really fix the previous warning
2009-12-16 13:06:47 +01:00
Gael Guennebaud
c35fcf3bbd
fix warning by making ei_empty_struct::_ei_dummy_ private
2009-12-16 12:53:55 +01:00
Gael Guennebaud
bb59c22dc9
fix compilation when mixing types
2009-12-16 12:48:15 +01:00
Gael Guennebaud
6db6774c46
* fix aliasing checks when the lhs is also transposed. At the same time,
...
significantly simplify the code of these checks while extending them
to catch much more expressions!
* move the enabling/disabling of vectorized sin/cos to the architecture traits
2009-12-16 11:41:16 +01:00
Gael Guennebaud
7a9988ebb6
fix spasre triangular solve for row major lower matrices
2009-12-14 10:25:21 +01:00
Gael Guennebaud
a314814a6e
suppress unused variable warnings
2009-12-15 13:59:02 +01:00
Benoit Jacob
949f14e1e4
no, this wasn't equivalent to ei_pload at all, after all!
2009-12-15 07:43:05 -05:00
Benoit Jacob
805eb9cc8b
Gael, who is a man of few words^Winstructions, is right, as usual.
2009-12-15 06:50:40 -05:00
Hauke Heibel
3ea1f97f69
Suppressed the warning for missing assignment generators (forgot that in the last submission).
...
Commented Quake3's fast inverser sqrt in SSE's MathFunction header.
2009-12-15 08:09:14 +01:00
Benoit Jacob
4948448939
*use scalar instructions, packet not needed here
...
*remove unused var warning
2009-12-14 23:13:54 -05:00
Benoit Jacob
39095c8faa
only include SSE path if SSE enabled
2009-12-14 22:52:11 -05:00
Benoit Jacob
d02eccf584
add SSE path for Matrix4f inverse, taken from Intel except that we do a kosher
...
division instead of RCPPS-followed-by-Newton-Raphson. The rationale for that is
that elsewhere in Eigen we dont allow ourselves this approximation (which throws
2 bits of mantissa), so there's no reason we should allow it here.
2009-12-14 22:47:14 -05:00
Benoit Jacob
d5f3b2dc94
change the Arch constants: const int ---> enum, more explicit names, and use
...
of a namespace instead of Prefix_Name.
2009-12-14 17:26:24 -05:00
Hauke Heibel
832045d363
Warning 4512 (assignment operators could not be generated) is now simply disabled.
...
All unimplemented assignment operators have been removed.
2009-12-14 10:32:43 +01:00
Hauke Heibel
4498864fc8
Fixed a bad type conversion.
2009-12-13 09:26:57 +01:00
Jitse Niesen
929521678d
Correct type of ei_solve_retval<LLT,...>::operator=
2009-12-12 23:54:44 +00:00
Hauke Heibel
3dce51bd8e
Removed more warnings.
2009-12-12 14:49:43 +01:00
Hauke Heibel
d088ee35f6
Added to possibility to compile unit tests at maximum warning level.
...
Silenced (amongst others) many conversion related warnings.
2009-12-12 11:39:07 +01:00
Gael Guennebaud
9facdaf7b9
some compilation fixes
2009-12-10 22:15:22 +01:00
Gael Guennebaud
7caf751fdd
adapt select, replicate and reverse
2009-12-10 22:00:35 +01:00
Benoit Jacob
d2e44f2636
* 4x4 inverse: revert to cofactors method
...
* inverse tests: use createRandomMatrixOfRank, use more strict precision
* tests: createRandomMatrixOfRank: support 1x1 matrices
* determinant: nest the xpr
* Minor: add comment
2009-12-09 12:43:25 -05:00
Jitse Niesen
8bfa354ee3
Documentation clean up.
...
* remove non-existant reference to CwiseAll
* define \householder_module (used in HouseholderSequence.h)
* update I01_TopicLazyEvaluation.dox - Product is now called GeneralProduct
* remove reference to list of examples which was deleted ages ago
* rename PartialLU_solve.cpp snippet to PartialPivLU_solve.cpp
2009-12-08 15:12:27 +00: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
c68c695b87
Fix poor Quaternion::slerp snapping
2009-12-04 15:01:17 +01:00
Gael Guennebaud
ea684af6b4
merge
2009-12-04 12:40:29 +01:00
Gael Guennebaud
7aad434160
fix compilation and clean a bit Map<Quaternion>
2009-12-04 12:26:56 +01:00
Gael Guennebaud
e12f5adbde
fix MSVC10 compilation
2009-12-02 19:32:54 +01:00
Benoit Jacob
3e73f6036c
* HouseholderSequence:
...
* be aware of number of actual householder vectors
(optimization in non-full-rank case, no behavior change)
* fix applyThisOnTheRight, it was using k instead of actual_k
* QR: rename matrixQ() to householderQ() where applicable
2009-12-02 11:11:09 -05:00
Mathieu Gautier
26ea7c9801
* remove empty destructors in Matrix.h and MatrixStorage.h
2009-12-02 11:09:56 +01:00
Hauke Heibel
84551d067e
merge
2009-12-02 11:08:44 +01:00
Hauke Heibel
95861fbd6c
Added NestByValue and .nestByValue() again for the sake of backwards compatibility.
2009-12-02 10:53:30 +01:00
Hauke Heibel
e3612bc0b8
Removed unnecessary code.
2009-12-02 09:11:24 +01:00
Mark Borgerding
c05ae35441
merge with tip
2009-12-01 18:03:15 -05:00
Mark Borgerding
ff1e9542f6
added comments to help vim understand the header files are c++.
2009-12-01 18:00:29 -05:00
Benoit Jacob
68117c267c
ColPivQR: now the unit tests even succeeds:
...
* with random matrices multiplied by 1e+8 (i.e. fixed wrong absolute fuzzy compare)
* with 10,000 repetitions (i.e. the fuzzy compare is really clever)
and when it occasionnally fails, less than once in 10,000 repeats, it is only on the exact rank computation.
2009-12-01 13:51:35 -05:00
Benoit Jacob
95d88e1327
Big reworking of ColPivQR and its unit test, which now passes even with thousands of repetitions and correctly tests matrices of all sizes. Several surprises along the way: for example, a major cause of trouble was the optimized "table of column squared norms" where the accumulation of imprecision was a serious issue; another surprise is that tests like "x!=0" before dividing by x really benefit from being replaced by fuzzy tests, as i hit real cases where i got wrong results in 1/epsilon.
2009-12-01 13:26:29 -05:00
Benoit Jacob
49c0986d86
minor cleanup
2009-12-01 13:22:14 -05:00
Hauke Heibel
d3250cb38f
That's it NestByValue and .nestByValue() are both gone!
2009-12-01 13:29:08 +01:00
Hauke Heibel
b08d5b2d2c
Even more NestByValue cleanup...
2009-12-01 13:16:51 +01:00
Hauke Heibel
2bf354da80
Much more NestByValue cleanup.
2009-12-01 11:51:22 +01:00
Hauke Heibel
3091be5134
Removed NestByValue dependency from Cholesky, Eigenvalues, LU and QR.
2009-12-01 10:22:54 +01:00
Hauke Heibel
7b3e205ebd
Removed NestByValue dependency from VectorwiseOp.
2009-12-01 09:56:40 +01:00
Hauke Heibel
88be826791
Removed NestByValue dependency from MatrixBase::select().
2009-12-01 09:49:15 +01:00
Gael Guennebaud
b2a5fb874f
add specialization ei_ref_selector for sparse matrix types
2009-12-01 06:21:29 +01:00
Hauke Heibel
e6c560aedf
Removed wrong typename.
2009-11-30 19:06:07 +01:00
Hauke Heibel
1c2e476fa7
Initial commit for a modified ei_nested logic.
2009-11-30 18:56:56 +01:00
Benoit Jacob
4b1aca2288
precision ---> dummy_precision
2009-11-26 22:05:02 -05:00
Thomas Capricelli
f795681da0
export stableNorm(), blueNorm() and hypotNorm() to colwise() and rowwise()
...
+ rudimentary test
2009-11-26 02:28:13 +01:00
Benoit Jacob
684d76eba3
add SSE4 support, start with integer multiplication
2009-11-24 15:12:43 -05:00
Benoit Jacob
abdb2a2bd5
fix assert and handle Unit shapes
2009-11-24 12:14:40 -05:00
Benoit Jacob
44d0d667cd
4x4 inverse:
...
* change block selection threshold from 1e-2 to 1e-1
* add rigorous precision test
2009-11-23 10:13:21 -05:00
Gael Guennebaud
80ebeae48d
Add the concept of base class plugins, and started to write the ArrayBase class.
...
Sorry for this messy commit but I have to commit it...
2009-11-20 18:20:55 +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
eb8f450071
Hey, finally the copyCoeff stuff is not only used to implement swap anymore :)
...
Add an internal pseudo expression allowing to optimize operators like +=, *= using
the copyCoeff stuff.
This allows to easily enforce aligned load for the destination matrix everywhere.
2009-11-20 15:39:38 +01:00
Jitse Niesen
b0baf43114
Eigen/CMakeLists.txt: remove parens from if.
...
Only CMake 2.6.3 and later recognize this syntax, and at the moment we
require 2.6.2. CMake uses the right precendence, per its man page, so the
parentheses are not necessary.
2009-11-20 11:26:26 +00:00
Benoit Jacob
6cbf662f14
* don't laugh, but these bugs took me forever to fix.
...
* expand unit tests to make sure to catch them: they nearly escaped the existing tests as these memory violations were highly dependent on the numbers of rows and cols.
2009-11-19 22:01:13 -05:00
Benoit Jacob
eac3232095
minor improvements in triangular stuff
2009-11-19 20:50:50 -05:00
Benoit Jacob
88b551e89b
* fix compilation of unit-tests (sorry, had tested only 1 channel)
...
* remove buggy (superfluous?) specialization in the meta-unroller
2009-11-19 19:20:19 -05:00
Benoit Jacob
a20a744adc
TriangularMatrix: extend to rectangular matrices
2009-11-19 17:07:55 -05:00
Benoit Jacob
2275f98d7b
move signature file to root directory, where it belongs
2009-11-19 12:41:28 -05:00
Benoit Jacob
bbf0eb35a7
* in Eigen/CMakeLists.txt, finally do a globbing to we no longer will have problems with "oops forgot to install new module".
...
* add a file Eigen/signature_of_eigen3_matrix_library, use it to make FindEigen3.cmake more solid: able to find Eigen in either eigen3/ or eigen/ and not mix it up with Eigen2.
2009-11-19 12:31:11 -05:00
Benoit Jacob
b5f4636d42
* eigen2->eigen3
...
* bump version to 2.91.0
* add FindEigen3.cmake
2009-11-19 12:09:04 -05:00
Benoit Jacob
abb2a1bb15
simplification
2009-11-18 17:44:20 -05:00
Benoit Jacob
126a8e6a69
fix remaining bug in ColPivHouseholderQR, so now all tests pass again
2009-11-18 17:40:45 -05:00
Benoit Jacob
40865fa28c
fix bugs, old and new:
...
* old bug: in CwiseBinaryOp: only set the LinearAccessBit if both sides have the same storage order.
* new bug: in Assign.h, only consider linear traversal if both sides have the same storage order.
2009-11-18 17:20:39 -05:00
Benoit Jacob
11fa2ae2c6
temporarily disable linear traversal.
...
Actually I don't think it's buggy. But it probably triggers existing bugs, I suspect that
some xprs have LinearAccessBit and shouldn't have it.
Also this fixes the "bugs" with JacobiSVD ---> now it works again
2009-11-18 16:31:14 -05:00
Benoit Jacob
8860203e6a
fix stuff after the PermutationMatrix changes.
...
I still have JacobiSVD errors when cols>rows
2009-11-18 12:41:24 -05:00
Gael Guennebaud
e3d890bc5a
Another big refactoring change:
...
* add a new Eigen2Support module including Cwise, Flagged, and some other deprecated stuff
* add a few cwiseXxx functions
* adapt a few modules to use cwiseXxx instead of the .cwise() prefix
2009-11-18 18:15:19 +01:00
Benoit Jacob
94c706d04f
Assign.h: add LinearTraversal (non-vectorized index-based traversal)
...
Rename some constants to make names match more closely what they mean.
2009-11-18 11:57:07 -05:00
Gael Guennebaud
0529ecfe1b
Big refactoring/cleaning in the spasre module with
...
in particular the addition of a selfadjointView, and the
extension of triangularView. The rest is cleaning and does not
change/extend the API.
2009-11-18 14:52:52 +01:00
Gael Guennebaud
1e62e0b0d8
more ET refactoring:
...
* extend Cwise for multiple storage base class
* a lot of cleaning in the Sparse module
2009-11-17 16:04:19 +01:00
Benoit Jacob
9f21e2aab7
port the QR module to PermutationMatrix
2009-11-17 08:14:54 -05:00
Gael Guennebaud
63bcc1c0fb
adapt CwiseBinaryOp and the Sparse counter part
2009-11-17 10:11:27 +01:00
Benoit Jacob
30b610a10f
vade retro
2009-11-16 21:45:01 -05:00
Benoit Jacob
ac00902f84
for consistency: PlainMatrixType ---> DenseMatrixType
2009-11-16 21:43:15 -05:00
Benoit Jacob
984c000778
addToDense ---> addTo
...
subToDense ---> subTo
2009-11-16 21:33:41 -05:00
Benoit Jacob
07412b2075
PermutationMatrix: add setIdentity and transpositions methods
...
LU: make use of that
2009-11-16 21:28:26 -05:00
Benoit Jacob
b90744dc05
Port FullPivLU to PermutationMatrix
2009-11-16 17:05:12 -05:00
Benoit Jacob
76c614f9bd
PartialPivLU: port to PermutationMatrix
...
PermutationMatrix: add resize()
2009-11-16 15:36:07 -05:00
Benoit Jacob
eb6df28c6c
DiagonalMatrix: release-quality documentation
...
BandMatrix: rename toDense() ---> toDenseMatrix() for consistency
2009-11-16 15:25:58 -05:00
Benoit Jacob
e8d0dbf82e
PermutationMatrix:
...
* make multiplication order not be reversed
* release-quality documentation
2009-11-16 15:07:33 -05:00
Benoit Jacob
8a1bada43d
initialize-by-zero: remember that when the newsize==oldsize, resize() must remain a NOP
2009-11-16 13:45:06 -05:00
Gael Guennebaud
1c9a2d246f
adapt CwiseUnaryOp and CwiseUnaryView
2009-11-16 19:39:29 +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
Benoit Jacob
b25eb5fdaa
PermutationMatrix: add inverse() and product of permutations
2009-11-16 09:39:07 -05:00
Benoit Jacob
955cd7f884
* add PermutationMatrix
...
* DiagonalMatrix:
- add MaxSizeAtCompileTime parameter
- DiagonalOnTheLeft ---> OnTheLeft
- fix bug in DiagonalMatrix::setIdentity()
2009-11-15 21:12:15 -05:00
Mathieu Gautier
6680fa42ee
* add Map<Quaternion> test based on Map from test/map.cpp
...
* replace implicit constructor AngleAxis(QuaternionBase&) by an explicit one, it seems ambiguous for the compiler
* remove explicit constructor with conversion type quaternion(Quaternion&): conflict between constructor.
* modify EIGEN_INHERIT_ASSIGNEMENT_OPERATORS to suit Quaternion class
2009-11-13 16:41:51 +01:00
Benoit Jacob
8b563d7163
ouch, avoid infinite loop!
...
optimization is not so important here, so a for loop will do.
2009-11-12 14:08:47 -05:00
Benoit Jacob
5266a78aca
also optionnally initialize by zero after resizing
2009-11-12 12:49:00 -05:00
Benoit Jacob
8132ee3908
* add non-default option to initialize matrices by 0
...
(useful for porting)
* maketests really has to be in test/
2009-11-12 12:39:22 -05:00
Jitse Niesen
343eec7ca8
Compilation fix: makeHousholderInPlace now uses references.
2009-11-11 16:23:09 +00:00
Benoit Jacob
bf691cc3f1
fix PowerPC platform detection
2009-11-11 10:52:00 -05:00
Benoit Jacob
a440385b41
*adapt Householder to the convention that we now favor refs over ptrs for output. Keep "workspace" as pointer because it is an array (which is now more obvious).
...
*rename makeHouseholderSequence to householderSequence, because that's what it returns.
2009-11-10 21:22:20 -05:00
Gael Guennebaud
f647fb8dd4
fix compilation and removed some unused stuff in skyline
2009-11-10 21:22:55 +01:00
Gael Guennebaud
58632c1652
fix #68 I did not see the skyline matrix patch contained that
2009-11-10 14:19:03 +01:00
Gael Guennebaud
1879403562
mv the Skyline module to unsupported/
2009-11-10 12:47:42 +01:00
kayhman
1333fe651d
Added basic SkylineMatrix.
2009-11-04 15:18:12 +01:00
Benoit Jacob
92749eed11
* merge
...
* remove a ctor in QuaternionBase as it gives a strange error with GCC 4.4.2.
2009-11-09 09:08:03 -05:00
Benoit Jacob
4b366b07be
add missing includes
2009-11-09 08:04:20 -05:00
Benoit Jacob
9a0900e33e
last round of changes, mainly to return derived types instead of base types, and fix various compilation issues
2009-11-09 07:51:31 -05:00
Gael Guennebaud
670651e2e0
Quaternion: fix compilation, cleaning
2009-11-09 10:48:18 +01:00
Benoit Jacob
e4e58e8337
simplifications in the ei_solve_impl system, factor out some boilerplate code
2009-11-08 16:51:41 -05:00
Benoit Jacob
ba7bfe110c
port the qr module to ei_solve_xxx.
2009-11-08 10:21:26 -05:00
Gael Guennebaud
aa0974286f
fix compilation adding a makeconst helper struct
2009-11-07 09:07:23 +01:00
Gael Guennebaud
771c0507fb
back out previous back out, and this time don't forget
...
to include the NumTraits.h file in the commit ;)
2009-11-06 11:23:18 +01:00
Jitse Niesen
1470afda5b
Backed out previous changeset: Does not compile.
...
There is no member Nested in NumTraits.
2009-11-06 09:16:25 +00:00
Gael Guennebaud
fe81b3f651
Add the possibility to control the storage mode of scalar value (by value or reference)
...
in order to avoid unecessary copies when using complex scalar types (e.g., a AutoDiffScalar)
2009-11-05 18:06:33 +01:00
Benoit Jacob
68210b03c1
port svd to the ei_xxx_return_value thing
...
this commit made in caltrain from Palo Alto to SF
2009-11-04 21:00:12 -05:00
Benoit Jacob
4c456d4211
fix bug in svd solve reported on forum, was apparently assuming square matrix, not sure how the unit test could work.
2009-11-04 11:46:17 -05:00
Hauke Heibel
3979f6d8aa
Let's try to stick to the original code, thus activate the fix of #62 only for 64 bit builds.
2009-11-04 15:49:22 +01:00
Hauke Heibel
e2170b9f7e
Direct access of the packet structs fixes bug #62 and doe not seem to
...
influence compiler optimization.
2009-11-04 15:38:11 +01:00
Gael Guennebaud
a7bebe0aeb
an attempt to fix a compilation issue with MSVC
2009-11-04 09:04:50 +01:00
Benoit Jacob
0182695204
move cholesky to ei_xxx_return_value
2009-11-03 11:34:45 -05:00
Benoit Jacob
a77872dd6c
move partial-pivoting lu to ei_solve_impl
2009-11-03 03:06:34 -05:00
Benoit Jacob
da363d997f
introduce ei_xxx_return_value and ei_xxx_impl for xxx in solve,kernel,impl
...
put them in a new internal 'misc' directory
2009-11-03 02:18:10 -05:00
Gael Guennebaud
979431b987
fix #66 : upper triangular checks in ComplexSchur
2009-11-02 10:46:40 +01:00
Benoit Jacob
3ae4e3880f
fix compilation
2009-10-31 14:36:31 -04:00
Benoit Jacob
48261fc773
* default MatrixBase ctor: make it protected, make it a static assert, only do the check when debugging eigen to avoid slowing down compilation for everybody (this check is paranoiac, it's very seldom useful)
...
* add private MatrixBase ctors to catch cases when the user tries to construct MatrixBase objects directly
2009-10-31 11:50:15 -04:00
Benoit Jacob
f975b9bd3e
SVD::solve() : port to new API and improvements
2009-10-30 08:51:33 -04:00
Benoit Jacob
6b48e932e9
*port the Cholesky module to the new solve() API
...
*improve documentation
2009-10-29 21:11:05 -04:00
Hauke Heibel
d0562bd473
corrected the computation cost of mean
2009-10-29 19:58:54 +01:00
Hauke Heibel
c70a603e34
added mean() reduction
2009-10-29 19:56:58 +01:00
Gael Guennebaud
e513cc75c4
oops I forgot to include that file in the previous commit (fixing #65 )
2009-10-29 14:24:09 +01:00
Gael Guennebaud
541eac0828
fix #65 : MatrixBase::nonZero()
2009-10-29 14:22:02 +01:00
Benoit Jacob
e8dd552257
sync with mainline
2009-10-28 19:06:45 -04:00
Benoit Jacob
2840ac7e94
big huge changes, so i dont remember everything.
...
* renaming, e.g. LU ---> FullPivLU
* split tests framework: more robust, e.g. dont generate empty tests if a number is skipped
* make all remaining tests use that splitting, as needed.
* Fix 4x4 inversion (see stable branch)
* Transform::inverse() and geo_transform test : adapt to new inverse() API, it was also trying to instantiate inverse() for 3x4 matrices.
* CMakeLists: more robust regexp to parse the version number
* misc fixes in unit tests
2009-10-28 18:19:29 -04:00
Benoit Jacob
6219f9acfa
* rename new Quat class to Quaternion, remove existing Quaternion
...
* add Copyright line for Mathieu
* cast() was broken (compile errors) and needed anyway to be in QuaternionBase
* it's VectorBlock<T,3>, don't pass additional parameter 1, it has different meaning!!
* make it compile with GCC (put 'typename' at the right location)
2009-10-27 15:45:24 -04:00
Mathieu Gautier
611d2b0b1d
Quaternion could now map an array of 4 scalars :
...
new classes :
* QuaternionBase
* Map<Quaternion>
2009-10-27 13:19:16 +00:00
Hauke Heibel
427f8a87d1
Added dox for the new typedefs.
2009-10-27 16:02:36 +01:00
Hauke Heibel
dbaba9019b
Added more common typedefs.
2009-10-27 15:57:21 +01:00
Hauke Heibel
7cc9fb5d0a
Umeyama is now working with fixed size src and dst points.
2009-10-27 15:29:12 +01:00
Benoit Jacob
1f1c04cac1
sync the documentation examples
2009-10-26 14:37:43 -04:00
Benoit Jacob
44cdbaba4d
* make inverse() do a ReturnByValue
...
* add computeInverseWithCheck
* doc improvements
* update test
2009-10-26 14:16:50 -04:00
Benoit Jacob
07d1bcffda
remove 1 useless layer of functions
2009-10-26 12:30:29 -04:00
Benoit Jacob
ec02388a5d
big rewrite in Inverse.h
...
in particular, the API is essentially finalized and the 4x4 case is fixed to be numerically stable.
2009-10-26 11:18:23 -04:00
Hauke Heibel
66fe5a5f36
It is just not that easy and requires more work to get it done right.
2009-10-24 14:48:34 +02: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
Hauke Heibel
99bb29abcf
demeaning with colwise expression
2009-10-22 10:11:26 +02:00
Benoit Jacob
68d48511b2
move PartialLU to the new API
2009-10-21 17:06:42 -04:00
Benoit Jacob
c3180b7ffb
MatrixBase:
...
* support resize() to same size (nop). The case of FFT was another case where that make one's life far easier.
hope that's ok with you Gael. but indeed, i don't use it in the ReturnByValue stuff.
FFT:
* Support MatrixBase (well, in the case with direct memory access such as Map)
* adapt unit test
2009-10-20 23:25:49 -04:00
Benoit Jacob
13f31b8daf
* make PartialLU avoid to generate inf/nan when given a singular matrix
...
(result undefined, but at least it won't take forever on intel 387)
* add lots of comments, especially to LU.h
* fix stuff I had broken in Inverse.h
* split inverse test
2009-10-20 00:36:07 -04:00
Benoit Jacob
9a700c2974
* LU unit test: finally test fixed sizes
...
* ReturnByValue: after all don't eval to temporary for generic MatrixBase impl
2009-10-19 10:56:37 -04:00
Benoit Jacob
47eeb40380
remove the m_originalMatrix member. Instead, image() now takes the original matrix as parameter. It was the only method to use it anyway. Introduce m_isInitialized.
2009-10-18 15:21:19 -04:00
Benoit Jacob
d71c7f42d3
* useThreshold -> setThreshold
...
* remove defaultThreshold()
2009-10-18 14:20:14 -04:00
Benoit Jacob
8332c232db
big huge changes in LU!
...
* continue the decomposition until a pivot is exactly zero;
don't try to compute the rank in the decomposition itself.
* Instead, methods such as rank() use a new internal parameter
called 'threshold' to determine which pivots are to be
considered nonzero.
* The threshold is by default determined by defaultThreshold()
but the user can override that by calling useThreshold(value).
* In solve/kernel/image, don't assume that the diagonal of U
is sorted in decreasing order, because that's only approximately
true. Additional work was needed to extract the right pivots.
2009-10-18 00:47:40 -04:00
Gael Guennebaud
7b0c4102fa
* add a Make* expression type builder to allow the
...
construction of generic expressions working
for both dense and sparse matrix. A nicer solution
would be to use CwiseBinaryOp for any kind of matrix.
To this end we either need to change the overall design
so that the base class(es) depends on the kind of matrix,
or we could add a template parameter to each expression
type (e.g., int Kind = ei_traits<MatrixType>::Kind)
allowing to specialize each expression for each kind of matrix.
* Extend AutoDiffScalar to work with sparse vector expression
for the derivatives.
2009-10-16 13:22:38 +02:00
Benoit Jacob
3c4a025a54
merge
2009-10-15 16:09:43 -04:00
Benoit Jacob
41e942d3fb
don't try to finish early
2009-10-15 16:09:17 -04:00
Hauke Heibel
d177c1f3ac
Inlining fixes + fixed typo.
...
Removed ei_assert in presence of static assert.
2009-10-15 21:07:14 +02:00
Hauke Heibel
0927ba1fd3
More warning fixes.
2009-10-14 19:55:23 +02:00
Hauke Heibel
c37cfc32b3
Fixed more W4 warnings.
2009-10-14 11:08:00 +02:00
Hauke Heibel
f4661e696e
Resize is only defined in Matrix and not in MatrixBase.
...
I am not sure whether the better fix is to move the resize functions to MatrixBase.
2009-10-14 11:07:11 +02:00
Gael Guennebaud
8c37b1b5b7
add missing PartialReduxExpr::coeff(index) function
2009-10-13 14:41:57 +02:00
Gael Guennebaud
1443094072
compilation fix: make the generic template ctor explicit
2009-10-13 09:23:09 +02:00
Gael Guennebaud
81a70cef5c
merge
2009-10-07 14:26:42 +02:00
Gael Guennebaud
af31345df3
really fix stable norm compilation for older gcc
2009-10-07 14:25:12 +02:00
Benoit Jacob
24e1d3266a
merge
2009-10-06 09:27:01 -04:00
Benoit Jacob
80ede36b24
allow arbitrary resulttype, fixes Xuewen's issue, and this stuff is going to get deeply refactored soon anyway.
2009-10-06 09:26:28 -04:00
Gael Guennebaud
4cf7366027
fix compilation in stable norm, move a platform check to the unit tests
2009-10-06 10:24:41 +02:00
Gael Guennebaud
904f35d194
discard vectorization in matrix-vector product when data is not even
...
aligned on the scalar type size (e.g., for double on 32 bits system without -malign-double)
2009-10-05 17:22:16 +02:00
Benoit Jacob
bb1cc0d092
after all we're not aligning to 8byte boundary
...
keep most of the changes though as they make the code more extensible
2009-10-05 10:55:42 -04:00
Benoit Jacob
d41577819b
we were already aligning to 16 byte boundary fixed-size objects that are multiple of 16 bytes;
...
now we also align to 8byte boundary fixed-size objects that are multiple of 8 bytes.
That's only useful for now for double, not e.g. for Vector2f, but that didn't seem to hurt. Am I missing something? Do you prefer that we don't align Vector2f at all?
Also, improvements in test_unalignedassert.
2009-10-05 10:11:11 -04:00
Benoit Jacob
71f19d90d0
forgot to hg add this file
2009-10-02 12:40:19 -04:00
Gael Guennebaud
bcdeb68b63
merge
2009-10-01 13:28:22 +02:00
Gael Guennebaud
9a3cae4655
better fix for (v * v') * v, we still have to find a way to reorder it
2009-10-01 13:27:03 +02:00
Benoit Jacob
3529179376
merge
2009-10-01 07:26:47 -04:00
Hauke Heibel
5409ce1625
Fixed wrong line endings.
2009-10-01 07:20:09 +02:00
Benoit Jacob
3a315fdc9a
make Replicate ctor require the exact expected type
2009-09-30 15:47:11 -04:00
Gael Guennebaud
d7a2a37a4c
bugfix in the eigenvalue solvers (forgot to resize the eigen vectors)
2009-09-30 16:48:02 +02:00
Benoit Jacob
fa65b09661
add outerproduct coeff(int,int) method.
...
This is needed to make this expression work:
(vec1*vec2.transpose())*vec3
Gael, no objection? Seems to make sense as that's fast.
2009-09-29 20:30:28 -04:00
Benoit Jacob
eeabd18afc
Fix compilation of HouseholderQR and ColPivotingHouseholderQR for non-square fixed-size matrices.
...
For Colpiv that was just changing MatrixQType to MatrixType in the instantiation of HouseholderSequence.
For HouseholderQR I also re-ported the solve method from Colpiv as there were multiple issues.
2009-09-28 10:49:55 -04:00
Benoit Jacob
67bf7c90c5
* update test to expose bug #57
...
* update createRandomMatrixOfRank to support fixed size
2009-09-28 09:40:18 -04:00
Benoit Jacob
765600458b
* bump to 2.90.0 now that it's agreed that we're doing eigen3
...
---> question: do we change the prefix eigen2/ to eigen3/ now?
no, better wait until we've also changed the repository name
* more message improvements: "Install Eigen" was unclear as it left
out other things like the BLAS library
2009-09-27 18:05:54 -04:00
Benoit Jacob
92480ffd26
* Introduce make targets btest (build tests), blas (build blas lib), demos (build demos).
...
* remove EIGEN_BUILD_TESTS and siblings
* add summary at the end of cmake run, hopefully not too verbose
* fix build of quaternion demo
* kill remnants of old binary library option
2009-09-27 17:48:53 -04:00
Hauke Heibel
e115fa3cea
Ok, too many class bodies - it was only required for ei_svd_precondition_2x2_block_to_be_real.
2009-09-27 17:18:19 +02:00
Hauke Heibel
3c74d6b7d4
Added private, non-implemented assignment operators to functions that don't need them (fixes VC warning on /W4).
2009-09-27 17:03:02 +02:00
Hauke Heibel
13545eab9b
Fixed VC compilation error on the JacobiSVD module.
2009-09-27 17:00:10 +02:00
Benoit Jacob
924b55e9a9
when copying a ReturnByValue into a MatrixBase, first eval it to a PlainMatrixType.
...
This allows to limit the number of instantiations of the big template method evalTo.
Also allows to get rid of the dummy MatrixBase::resize().
See "TODO" comment.
2009-09-26 22:48:16 -04:00
Benoit Jacob
e82ab8a5dd
move also inverse() to ReturnByValue, by doing a solve on NestByValue<Identity>.
...
also: adding resize() to MatrixBase was really needed ;)
2009-09-26 11:40:29 -04:00
Hauke Heibel
104f9954e1
Removed implicit type conversion (VC warning fix).
2009-09-25 14:58:20 +02:00
Hauke Heibel
21d2533723
Matrix::conservativeResize, resize only when necessary.
2009-09-25 14:44:48 +02:00
Gael Guennebaud
bdf603caec
remove some dirty lines
2009-09-25 12:58:41 +02:00
Gael Guennebaud
e12bd2e8d2
extend the support for bool
2009-09-25 12:58:04 +02:00
Hauke Heibel
3d6e4ab879
Uuups that was not yet intended for a commit.
2009-09-25 10:14:16 +02:00
Hauke Heibel
2fbf5ce7df
Fixed issue #57 .
2009-09-25 10:12:09 +02:00
Benoit Jacob
176c26feb5
allow to do xpr = solve(b) etc... just by adding a dummy MatrixBase::resize()
2009-09-22 01:41:09 -04:00
Benoit Jacob
4f9e270343
* make LU::kernel() and LU::image() also use ReturnByValue
...
* make them return zero vector in the degenerate case, instead of asserting
(let's stick to the principle that we only assert on memory errors)
2009-09-22 00:16:51 -04:00
Benoit Jacob
0ad3494bd3
fix docs
2009-09-22 21:51:23 -04:00
Benoit Jacob
ab5cc8284a
convert LU::solve() to the new API
2009-09-22 20:58:29 -04:00
Benoit Jacob
c1c780a94f
* ReturnByValue:
...
-- simpplify by removing the 2nd template parameter
-- rename Functor to Derived, as now it's a usual CRTP
* Homogeneous:
-- in products, honor the Max sizes etc.
2009-09-22 12:20:45 -04:00
Hauke Heibel
c6822d6723
Added EIGEN_REF_TO_TEMPORARY define for rvalue support.
...
Allowed VC10 to make use of static_assert.
2009-09-21 19:59:58 +02:00
Benoit Jacob
1df54e3ac2
fix bug #42 , add missing Transform::Identity()
2009-09-19 19:59:49 -04:00
Benoit Jacob
828a79ac78
allow to override EIGEN_RESTRICT, to satisfy a smart ass blogger who claims
...
that eigen2 owes all its performance to nonstandard restrict keyword.
well, this can also improve portability in case some compiler doesn't have __restrict.
2009-09-19 19:45:58 -04:00
Gael Guennebaud
0b60027f3c
implement __gnuc_forget_about_setZero_its_over_now
2009-09-18 15:36:05 +02:00