Jitse Niesen
86df74c765
RealSchur: reduce scope of temporary variables in hqr2().
2010-04-06 15:26:09 +01:00
Jitse Niesen
dad50338b8
RealSchur: Use PlanarRotation in "found two real eigenvalues" branch.
2010-04-06 15:12:21 +01:00
Jitse Niesen
d88d1cfa62
Merge.
2010-04-02 21:33:34 +01:00
Jitse Niesen
79e1ce6093
RealSchur and EigenSolver: some straightforward renames.
2010-04-02 21:05:32 +01:00
Jitse Niesen
a16a36ecf2
Add tests for real and complex Schur; extend test for Hessenberg.
...
Make a minor correction to the ComplexSchur class.
2010-04-02 14:32:20 +01:00
Hauke Heibel
9d6afdeb22
ei_psqrt fix for zero input
2010-04-01 15:10:52 +02:00
Jitse Niesen
3a14a13533
Split computation of real Schur form in EigenSolver to its own class.
...
This is done with the minimal amount of work, so the result is very rough.
2010-04-01 12:32:56 +01:00
Jitse Niesen
8cfa672fe0
Use HessenbergDecomposition in EigenSolver.
2010-03-31 21:50:18 +01:00
Jitse Niesen
1b3f7f2fee
Extend documentation and add examples for EigenSolver class.
2010-03-31 11:59:11 +01:00
Benoit Jacob
338ec0390f
let the cast functor use the new ei_cast()
2010-03-30 14:51:47 -04:00
Benoit Jacob
16e416b8d7
generalize the idea of the previous commit to all kinds of casts, see this forum thread:
...
http://forum.kde.org/viewtopic.php?f=74&t=86914
this is important to allow users to support custom types that don't have the needed conversion operators.
2010-03-30 14:47:45 -04:00
Benoit Jacob
9e0d8697c7
add ei_cast_to_int, we are indeed somethings (e.g. in IO.h) casting scalars to int and the only way to allow users to extend that to their own scalar types that don't have int cast operators, was to allow them specialize ei_cast_to_int_impl.
2010-03-30 14:16:54 -04:00
Benoit Jacob
8f99ae5ea4
move the computation of the number of significant digits to a templated helper struct, that can be specialized to custom types if needed. Should address this request:
...
http://forum.kde.org/viewtopic.php?f=74&t=86914
2010-03-30 11:38:09 -04:00
Jitse Niesen
e6300efb5c
Extend documentation for HessenbergDecomposition.
2010-03-28 17:33:56 +01:00
Thomas Capricelli
0a5c2d8a54
fix misc warnings, more importantly when NDEBUG is defined, assert() is a
...
nop.
2010-03-27 18:58:29 +01:00
Jitse Niesen
c68098b9be
Clean up ComplexSchur::compute() .
2010-03-24 14:10:33 +00:00
Jitse Niesen
37e17938e9
Extend documentation of ComplexSchur and add examples.
2010-03-23 12:49:09 +00:00
Jitse Niesen
525d6b655f
Merge.
2010-03-21 21:59:00 +00:00
Jitse Niesen
8e5d2b6fc4
Rename Complex in ComplexSchur and ComplexEigenSolver to ComplexScalar
...
for consistency with the RealScalar type; correct ComplexEigenSolver
docs to take non-diagonalizable matrices into account; refactor
ComplexEigenSolver::compute().
2010-03-21 21:57:34 +00:00
Benoit Jacob
1803db6e84
merge
2010-03-21 11:28:31 -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
Gael Guennebaud
8b093dd2df
oops, fix symv (innerStride instead of outerStride)
2010-03-20 20:51:44 +01:00
Jitse Niesen
d91ffffc37
Allow ComplexEigenSolver and ComplexSchur to work with real matrices.
...
Add a test which covers this case.
2010-03-20 17:04:40 +00:00
Hauke Heibel
fbdf16d425
Added x()/y() and z() access functions to translations.
2010-03-19 20:11:40 +01:00
Jitse Niesen
d3e271c47e
Extend documentation and add examples for ComplexEigenSolver.
2010-03-19 18:23:36 +00:00
Benoit Jacob
547269da35
fix the flags and matrix options, to always have the right RowMajor bit in the vector case
2010-03-19 02:12:23 -04:00
Benoit Jacob
9dba86df0b
merge
2010-03-18 20:11:38 -04:00
Benoit Jacob
089bd89512
compile with gcc 4.5
2010-03-18 20:10:24 -04:00
Jitse Niesen
0ee10f7da4
Document member functions and types of ComplexEigenSolver.
2010-03-18 13:42:17 +00:00
Jitse Niesen
04a4e22c58
API change: ei_matrix_exponential(A) --> A.exp(), etc
...
As discussed on mailing list; see
http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2010/02/msg00190.html
2010-03-16 17:26:55 +00:00
Gael Guennebaud
d536fef1bb
fix and extend replicate optimization, and add the packet method though it is currently disabled
2010-03-15 10:39:00 +01:00
Hauke Heibel
d68b85744f
Replaced strong with weak inlines in CwiseUnaryOp.
2010-03-14 13:01:10 +01:00
Hauke Heibel
6d08f71a2d
Removed strong inlines which cannot always be inlined.
2010-03-14 12:09:29 +01:00
Hauke Heibel
0e5a232dae
Ups - again a missing typename.
2010-03-14 11:58:44 +01:00
Hauke Heibel
fc20e6fd55
Try to avoid modulo operations in Replicate if possible.
2010-03-13 14:33:39 +01:00
Hauke Heibel
b9644f3323
Propagate fixed size dimensions if available (on MSVC it leads >2.5x speedup for some reductions).
2010-03-13 13:15:27 +01:00
Benoit Jacob
3e08c22028
attempt to fix #101
2010-03-11 12:41:46 -05:00
Hauke Heibel
2a82b162d7
Nest expression within MatrixWrapper by value.
2010-03-10 17:13:07 +01:00
Hauke Heibel
b20b393a4e
Enable resizing of Arrays.
2010-03-10 17:12:45 +01:00
Hauke Heibel
dd9ff1b9a6
Fix MSVC warnings.
2010-03-09 09:04:21 +01: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
Adolfo Rodriguez Tsouroukdissian
5a36f4a8d1
Propagate all five matrix template parameters to members and temporaries of decomposition classes. One particular advantage of this is that decomposing matrices with max sizes known at compile time will not allocate.
...
NOTE: The ComplexEigenSolver class currently _does_ allocate (line 135 of Eigenvalues/ComplexEigenSolver.h), but the reason appears to be in the implementation of matrix-matrix products, and not in the decomposition itself.
The nomalloc unit test has been extended to verify that decompositions do not allocate when max sizes are specified. There are currently two workarounds to prevent the test from failing (see comments in test/nomalloc.cpp), both of which are related to matrix products that allocate on the stack.
2010-03-08 19:31:27 +01:00
Gael Guennebaud
898762529e
update the product selection logic to use the Max* sizes
2010-03-08 22:55:58 +01:00
Gael Guennebaud
9a3b00c040
add missing cmake directives for arch/Default
2010-03-08 22:15:35 +01:00
Benoit Jacob
89343a38af
* Fix #97 : Householder operations on 1x1 matrices
...
* Fix VectorBlock on 1x1 "vectors"
* remove useless makeTrivialHouseholder function
2010-03-08 12:37:04 -05:00
Benoit Jacob
4293a4d1af
* let a = foo() work when a is a row-vector xpr and foo() returns a ReturnByValue col-vector
...
* remove a few useless resize() in evalTo() implementations
2010-03-08 10:34:59 -05:00
Hauke Heibel
9fe040ad29
Reintroduced the if-clause for MSVC ei_ploadu via _loadu_.
2010-03-07 14:05:26 +01:00
Gael Guennebaud
3130b7a722
bugcount--, this time trmm
2010-03-06 22:57:50 +01:00
Gael Guennebaud
1958b7eccc
stride() => inner/outerStride()
2010-03-06 22:39:15 +01:00
Gael Guennebaud
4402034678
pff I introduced much too many bugs latey, count--
2010-03-06 22:24:50 +01:00
Gael Guennebaud
61ce1de048
fix symm
2010-03-06 22:15:59 +01:00
Gael Guennebaud
a7d199bf9a
fix trsolve
2010-03-06 21:37:14 +01:00
Gael Guennebaud
6f0b96dcf4
fix issue #100 (fix syrk)
2010-03-06 21:16:43 +01:00
Gael Guennebaud
271fc84e47
bugfix in gebp for 32bits x86
2010-03-06 20:52:20 +01:00
Benoit Jacob
c4f8afdf49
#undef minor at the right place
2010-03-06 14:44:57 -05:00
Benoit Jacob
7e2afe7e95
remove the __ARM_NEON__ check there since Konstantinos said he removed it but apparently didn't commit :)
2010-03-06 12:11:08 -05:00
Benoit Jacob
bf0a21a695
* disable static alignment on QCC
...
* remove obsolete #error
2010-03-06 09:28:58 -05:00
Benoit Jacob
2bd31d3fbc
* include Macros.h much earlier: since it takes care of the alignment platform detection, it is needed before we do the vectorization stuff in Eigen/Core !!
...
* kill EIGEN_DONT_ALIGN_HEAP option (one should use EIGEN_DONT_ALIGN)
* rename EIGEN_DONT_ALIGN_STACK to EIGEN_DONT_ALIGN_STATICALLY. hope it's a better name.
2010-03-06 09:05:15 -05:00
Benoit Jacob
f03d95348d
introduce EIGEN_DONT_ALIGN_STACK (disables alignment attributes) and EIGEN_DONT_ALIGN_HEAP (disables aligned malloc)...
...
you can still use EIGEN_DONT_ALIGN to do both at once.
2010-03-06 02:17:37 -05:00
Gael Guennebaud
afd7ee759b
fix copy pasted comment
2010-03-05 21:35:11 +01:00
Konstantinos Margaritis
273b236f72
Altivec brought up to date. Most tests pass and performance is better than before too!
2010-03-05 22:28:49 +02:00
Gael Guennebaud
f2a246c225
add a small program to bench all combinations of small products
2010-03-05 17:16:19 +01:00
Gael Guennebaud
5f172cd01f
add a FIXME
2010-03-05 10:45:29 +01:00
Gael Guennebaud
48d0595c29
* dynamically adjust the number of threads
...
* disbale parallelisation if we already are in a parallel session
2010-03-05 10:44:31 +01:00
Gael Guennebaud
62ac021606
fix openmp version for scalar types different than float
2010-03-05 10:16:25 +01:00
Gael Guennebaud
d13b877014
remove the 1D and 2D parallelizer, keep only the GEMM specialized one
2010-03-05 10:04:17 +01:00
Gael Guennebaud
24ef5fedcd
minor cleaning
2010-03-05 09:57:04 +01:00
Gael Guennebaud
279ad44509
merge
2010-03-05 09:46:58 +01:00
Gael Guennebaud
620bd28480
enable posix_memalign for QNX
2010-03-05 09:44:21 +01:00
Gael Guennebaud
7e2683dc39
merge
2010-03-04 18:59:56 +01:00
Gael Guennebaud
0964810fba
merge
2010-03-04 18:59:03 +01:00
Gael Guennebaud
ea8cad5151
make the number of registers easier to configure per architectures
2010-03-04 18:58:12 +01:00
Gael Guennebaud
cefd9b8888
merge with default branch
2010-03-04 18:47:52 +01:00
Hauke Heibel
1723068694
Moved x()/y()/z() and w() access functions to DenseBase; they are now available for Arrays as well.
2010-03-04 18:33:51 +01:00
Gael Guennebaud
8ed1ef4469
add a minor FIXME
2010-03-04 18:30:28 +01:00
Benoit Jacob
68d94d914e
integer division is vectorizable on no SIMD platform, not just SSE.
2010-03-04 09:03:06 -05:00
Konstantinos Margaritis
710bc073a7
arm_neon.h is a standard header file, fixed
2010-03-03 12:15:34 -06:00
Benoit Jacob
6c89fd4df0
minor cleanup
2010-03-03 13:16:21 -05:00
Gael Guennebaud
7dd81aad74
factorize default performance related settings to a single file
...
included after the architecture specific files such that they
can be adapted by each platform.
2010-03-03 18:47:58 +01:00
Konstantinos Margaritis
112c550b4a
Added initial NEON support, most tests pass however we had to use some hackish workarounds
...
as gcc on ARM (both CodeSourcery 4.4.1 used and experimental 4.5) fail to
ensure proper alignment with __attribute__((aligned(16))). This has to be
fixed upstream to remove the workarounds.
2010-03-03 11:25:41 -06:00
Benoit Jacob
45d19afb18
cleanup/simplification in computation of matrix flags
2010-03-03 09:58:43 -05:00
Benoit Jacob
7dbe806711
merge
2010-03-03 09:55:46 -05:00
Benoit Jacob
6a92168915
Backed out changeset 2f3d685e0c
...
This was implementing deep changes that after discussion on the mailing list seem to need further discussion/thinking.
2010-03-03 09:54:50 -05:00
Hauke Heibel
aa6570c3a3
Added a missing inline hints.
...
Removed a useless Nested temporary.
2010-03-03 15:24:58 +01:00
Gael Guennebaud
2f3d685e0c
a matrix (or array) does not always have the LinearAccessBit!
...
=> fixes in outerStride and matrix flags
2010-03-02 15:31:39 +01:00
Gael Guennebaud
7fd6458fec
selfadjoint: do not reference the imaginary part of the diagonal
2010-03-02 12:43:55 +01:00
Hauke Heibel
32823caa62
Adapted the comment and removed it from the public dox.
2010-03-03 07:52:19 +01:00
Gael Guennebaud
3295c1c3e6
product selector: the symmetric case
2010-03-02 23:18:13 +01:00
Hauke Heibel
afad108b5f
Added a comment to prevent placing an EIGEN_STRONG_INLINE where it makes no sense.
2010-03-02 19:36:21 +01:00
Eamon Nerbonne
3efb3cc828
Changed product type selector to fix perf regression.
2010-03-02 12:08:49 +01:00
Gael Guennebaud
c7828ac45c
add missing implementation of uniform scaling products
2010-03-02 17:38:40 +01:00
Hauke Heibel
3cc9e3f5bb
Fixes a compilation issue for MSVC.
2010-03-01 19:56:24 +01:00
Gael Guennebaud
65eba35f98
rm useless omp shared directive
2010-03-01 13:34:44 +01:00
Gael Guennebaud
1710c07f63
remove Qt's atomic dependency, I don't know what I was doing wrong...
2010-03-01 13:09:47 +01:00
Gael Guennebaud
31aa17e4ef
GEMM: move the first packing of A' before the packing of B'
2010-03-01 11:10:30 +01:00
Gael Guennebaud
aeff3ff391
make Aron's idea work using Qt's atomic implementation for the synchronisation
2010-03-01 10:57:32 +01:00
Benoit Jacob
f1f3c30ddc
remove the hack to make the static assertion on types actually show up.
...
indeed, now that we use the meta selector for transposing as needed, the static asserts work very well.
2010-02-28 11:10:13 -05:00
Benoit Jacob
07023b94d8
forgot defined(...)
2010-02-28 10:11:28 -05:00
Benoit Jacob
9334ed4444
on 64-bit systems, glibc's malloc returns 16-byte aligned ptrs, and we now take advantage of that.
2010-02-28 10:10:53 -05:00
Benoit Jacob
a480e7e60f
* fix ei_handmade_aligned_realloc (was calling realloc on wrong ptr)
...
* add missing std:: (at least for QNX compatibility)
* add big comments to "structure" the file
2010-02-28 09:10:41 -05:00
Hauke Heibel
ff8c2149c1
Added a generic reallocation implementation based on ei_aligned_malloc/_free.
...
Rewrote ei_handmade_aligned_realloc such that it is now using std::realloc.
Reorganized functions in Memory.h for better readability.
Add missing <cerrno> include to Core (it's now required in Memory.h).
2010-02-28 14:32:57 +01:00
Hauke Heibel
40bd69fbaa
Hide some internal stuff from the docs.
2010-02-28 12:56:37 +01:00
Benoit Jacob
1d9c18a8f3
comment out cerr's
2010-02-28 00:53:06 -05:00
Benoit Jacob
27f5250258
Only include <iosfwd> unless either EIGEN_DEBUG_ASSIGN is defined or we're in eigen2 support mode
2010-02-27 19:04:22 -05:00
Benoit Jacob
e84f7e07e9
add ei_posix_memalign_realloc
2010-02-27 18:57:07 -05:00
Benoit Jacob
22fabb8940
add missing inline keyword, thanks to Eamon.
2010-02-27 17:51:48 -05:00
Hauke Heibel
6c9eb36222
Added support for realloc based conservative resizing.
2010-02-27 17:25:07 +01:00
Hauke Heibel
78b2c7e16e
Fixed a typo.
2010-02-27 17:24:42 +01:00
Benoit Jacob
3f393490ad
dot: handle the rowvector.dot(colvector) case where one needs to transpose.
2010-02-27 11:19:14 -05:00
Benoit Jacob
d9f6380499
Remove the dot product's separate implementation and use cwiseProduct.sum instead.
...
Also take special care to get nicely working static assertions.
2010-02-27 10:03:27 -05:00
Benoit Jacob
2c9a91812e
merge
2010-02-26 21:47:54 -05:00
Benoit Jacob
814e40c72a
let redux use the new ByOuterInner accessors
2010-02-26 21:46:43 -05:00
Benoit Jacob
4927841cba
Document Map and Stride, add examples.
2010-02-26 21:29:04 -05:00
Benoit Jacob
b1f666d007
Fix Map-with-Stride and cover it by new unit tests.
2010-02-26 20:12:51 -05:00
Gael Guennebaud
6924bf2e99
implement Aron's idea of interleaving the packing with the first computations
2010-02-26 15:58:22 +01:00
nerbonne
c72a5074e6
Fixed perf problems for vector subtraction: inlining wasn't always happening when necessary.
2010-02-26 15:46:43 +01: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
Gael Guennebaud
8d4a0e6753
fix compilation without openmp
2010-02-26 14:57:22 +01:00
Gael Guennebaud
3ac2b96a2f
implement a smarter parallelization strategy for gemm avoiding multiple
...
paking of the same data
2010-02-26 12:32:00 +01:00
Jitse Niesen
d86f5339b2
ComplexSchur: fix bug introduced in my previous commit.
...
The value of c is actually used a few lines later.
2010-02-26 09:47:17 +00:00
Benoit Jacob
f56ac04c34
DenseBase::IsRowMajor now takes the special case of vectors into account.
2010-02-25 21:24:42 -05:00
Benoit Jacob
b1c6c215a4
merge
2010-02-25 21:07:30 -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
Jitse Niesen
90e4a605ef
ComplexSchur: compute shift more stably, introduce exceptional shifts.
...
Both the new computation of the eigenvalues of a 2x2 block and the
exceptional shifts are taken from EISPACK routine COMQR.
2010-02-25 22:33:38 +00:00
Gael Guennebaud
53bae6b3f8
update matrix product selection rules for 1xSmallxLarge and the transposed case
2010-02-25 21:59:25 +01:00
Gael Guennebaud
959a1b5d63
detect and implement inplace permutations
2010-02-25 16:30:58 +01:00
Gael Guennebaud
d9ca0c0d36
optimize inverse permutations
2010-02-25 15:31:15 +01:00
Benoit Jacob
77c922bf05
* move the 's': InstructionsSet ---> InstructionSets
...
* proper capitalization: SSE, AltiVec
2010-02-25 06:43:45 -05:00
Thomas Capricelli
50a5ac3c4b
oops, fix typo
2010-02-25 05:31:22 +01:00
Thomas Capricelli
00bc535b66
provide a static method to describe which SIMD instructions are used
2010-02-24 21:52:08 +01:00
Thomas Capricelli
0f3d69b65e
Provide "eigen" defines to decide which instruction set is used
...
(sse3, ssse3 and sse4), independantly from the compiler.
Only those defines should be used in other places, and the user can
rely on those to know which sets are used.
2010-02-24 21:43:30 +01:00
Gael Guennebaud
7c98c04412
add reconstructedMatrix() to LLT, and LUs
...
=> they show that some improvements have still to be done
for permutations, tr*tr, trapezoidal matrices
2010-02-24 19:16:10 +01:00
Gael Guennebaud
f7aa9873ca
* fix LDLT's default ctor use
...
* add a reconstructedMatrix() function to LDLT for debug purpose
2010-02-24 10:40:16 +01:00
Benoit Jacob
60325b8330
actually, this is not even meant to be a termination criterion. so the proper fix is this.
2010-02-23 16:10:26 -05:00
Benoit Jacob
3d066f4bc7
LDLT:
...
* fix bug thanks to Ben Goodrich: we were terminating at the wrong place, leaving some matrix coefficients with wrong values.
* don't use Higham's formula here: we're not trying to be rank-revealing.
2010-02-23 16:05:37 -05:00
Benoit Jacob
d92df336ad
Further LU test improvements. I'm not aware of any test failures anymore, not even with huge numbers of repetitions.
...
Finally the createRandomMatrixOfRank() function is renamed to createRandomPIMatrixOfRank, where PI stands for 'partial isometry', that is, a matrix whose singular values are 0 or 1.
2010-02-23 15:40:24 -05:00
Gael Guennebaud
a1e1103328
add a 2D parallelizer
2010-02-23 21:40:15 +01:00
Gael Guennebaud
022e2f5ef4
fix typo
2010-02-23 18:24:15 +01:00
Benoit Jacob
7dc75380c1
* FullPivLU: replace "remaining==0" termination condition (from Golub) by a fuzzy compare
...
(fixes lu test failures when testing solve())
* LU test: set appropriate threshold and limit the number of times that a specially tricky test
is run. (fixes lu test failures when testing rank()).
* Tests: rename createRandomMatrixOfRank to createRandomProjectionOfRank
2010-02-23 09:04:59 -05:00
Hauke Heibel
1fd8d7b96a
Attempt to fix PGI compilation issue.
2010-02-23 11:35:51 +01:00
Gael Guennebaud
d2b0eadf52
fully adapt the gebp kernel and optimize it for CPU with only 8 registers
...
(transplanted from 2ed88ebbf1995be90b8d0c25ff10248c8f56d023)
2010-02-22 16:35:05 +01:00
Gael Guennebaud
51a4b929a1
implement an even lower level version of the gebp kernel for MSVC (it seems to be faster with gcc as well)
...
(transplanted from 9a5643551fe068497f84a81cd8986febf1918382)
2010-02-22 15:18:29 +01:00
Gael Guennebaud
eb905500b6
significant speedup in the matrix-matrix products
2010-02-23 13:06:49 +01:00
Gael Guennebaud
fc4a85ecd5
fully adapt the gebp kernel and optimize it for CPU with only 8 registers
2010-02-22 16:35:05 +01:00
Gael Guennebaud
e00f1fd125
implement an even lower level version of the gebp kernel for MSVC (it seems to be faster with gcc as well)
2010-02-22 15:18:29 +01:00
Gael Guennebaud
3e62fafce8
clean a bit the parallelizer
2010-02-22 11:08:37 +01:00
Gael Guennebaud
b20935be9b
add initial openmp support for matrix-matrix products
...
=> x1.9 speedup on my core2 duo
2010-02-22 09:40:34 +01:00
Thomas Capricelli
1a70f3b48d
fix compilation
2010-02-21 19:30:11 +01:00
Hauke Heibel
a901bed33a
Added IsRowMajor enum to DenseBase.
2010-02-21 18:26:14 +01:00
Hauke Heibel
f079f52b58
merge
2010-02-21 15:25:28 +01:00