Gael Guennebaud
f3a568c81d
remove ei_ prefix of public global functions, and s/cpu/l1
2010-06-07 19:05:30 +02:00
Gael Guennebaud
727376b5f4
compilation fix (std::sqrt(int) does not exist)
2010-06-07 18:55:39 +02:00
Gael Guennebaud
88cd6885be
Add a proof concept API to configure the blocking parameters at runtime.
...
After validation of the final API I'll update the other products to use it.
2010-06-07 16:35:25 +02:00
Gael Guennebaud
7726cc8a29
clean old stuff used to support precompilation inside a binary lib
2010-06-07 14:47:20 +02:00
Gael Guennebaud
bfeba41174
Add a Transpositions class to ease the representation and
...
manipulation of permutations as a sequence of transpositions.
Make LDLT use it.
2010-06-04 23:17:57 +02:00
Gael Guennebaud
e64460d5d0
LDLT: make it honors the Lower/Upper directive and make it works inplace
2010-06-03 22:22:14 +02: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
Gael Guennebaud
4ebb80490a
implicit conversion to scalar for inner product
2010-06-02 09:45:57 +02:00
Gael Guennebaud
314bfa1375
fix issue #128 : inner stride can also be 0 in which case it means 1...
2010-06-01 22:51:47 +02:00
Trevor Irons
4c6d182c42
Addressess small compile error with OpenMP
2010-06-01 07:09:40 -06:00
Benoit Jacob
e54faba198
merge the backing-out of the stupid RetByVal change, and implement a simple
...
aliasing check in inverse, that catches simple cases like x = x.inverse()
2010-06-01 09:17:50 -04:00
Benoit Jacob
3e95609cd4
Backed out changeset 641d968a9a7ed57a3b8a3f45dea43c5ee6717f97
2010-06-01 09:01:39 -04:00
Benoit Jacob
641d968a9a
* Make ReturnByValue have the EvalBeforeAssigningBit and explicitly
...
enforce this mechanism (otherwise ReturnByValue bypasses it).
(use .noalias() to get the old behavior.)
* Remove a hack in Inverse, futile optimization for 2x2 expressions.
2010-05-30 13:43:08 -04:00
Gael Guennebaud
39c568445c
simplify a using statement
2010-06-01 13:59:21 +02:00
Benoit Jacob
6ce22a61b3
oops, remove extra 'typename'
2010-05-30 16:41:16 -04: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
Manoj Rajagopalan
a240f83216
Fix to ProductBase::evalTo() in order to get matrix multiplication working for numeric
...
types that don't have implicit conversion from int
2010-05-26 13:00:55 -04:00
Thomas Capricelli
4a2d6ece2e
fix readcost for complex types
2010-05-26 02:33:28 +02:00
Jitse Niesen
e7d809d434
Update eigenvalues() and operatorNorm() methods in MatrixBase.
...
* use SelfAdjointView instead of Eigen2's SelfAdjoint flag.
* add tests and documentation.
* allow eigenvalues() for non-selfadjoint matrices.
* they no longer depend only on SelfAdjointEigenSolver, so move them to
a separate file
2010-05-24 17:43:50 +01:00
Thomas Capricelli
79e9e3f24c
erm.. use EIGEN_ONLY_USED_FOR_DEBUG() as it already exists.
2010-05-21 18:13:59 +02:00
Thomas Capricelli
aadea5ae56
fix a warning
2010-05-21 02:13:16 +02:00
Thomas Capricelli
c1d005e976
introduce a new macro EIGEN_ARG_UNUSED(arg) and use it in some places to
...
silent some warnings (from clang)
2010-05-21 02:05:25 +02:00
Thomas Capricelli
4daba0750e
fix some warnings with clang
2010-05-21 01:46:17 +02:00
Thomas Capricelli
2ab446695b
fix some compilation issues with clang (and hopefully bring eigen more
...
close to std ?)
2010-05-21 01:39:33 +02:00
Thomas Capricelli
17d080edf2
clang shocks on this.
...
According to people on #llvm, this is indeed not allowed by c++ standard:
[01:33] <coppro> what good would mutable do on a reference?
[01:33] <dgregor> orzel: gcc is wrong to allow "mutable" on references
[01:33] <coppro> just remove mutable; it won't damage the code at all
[01:34] <dgregor> "The mutable specifier can be applied only to names of
class data members (9.2) and cannot be applied to
[01:34] <dgregor> names declared const or static, and cannot be applied to
reference members."
[01:34] <coppro> constness is not passed from an object to the referents of
its members anyways
2010-05-21 01:37:48 +02:00
Thomas Capricelli
b9bcd93ddc
fix a compilation pb with clang (it's actually surprising gcc did not complain)
2010-05-20 03:53:09 +02:00
Hauke Heibel
39edf8e2bf
I was not really aware of the implications on fixed size types when the strong inlining is not present. We really need it on MSVC!
2010-05-19 18:57:38 +02:00
Gael Guennebaud
05910b7996
merge
2010-05-19 16:51:07 +02:00
Hauke Heibel
6c18246a80
DenseBase is implemented as a class, not a struct.
2010-05-19 16:44:28 +02:00
Gael Guennebaud
2b6153d3ed
simplify inner product
2010-05-19 16:37:17 +02:00
Gael Guennebaud
bf09fe55ed
fix selfadjoint to dense
2010-05-19 16:35:34 +02: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
Benoit Jacob
5250c4395c
compilation fix: const T ---> typename ei_makeconst<T>::type
...
(error was appearing when building tests with alignmnet disabled)
What is this stuff still doing in MatrixBase.h? Shouldn't it move to DenseBase.h? How are Array blocks compiling?
2010-05-18 08:19:23 -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
Gael Guennebaud
0f3bcf853f
fix mixing types in inner product
2010-05-14 08:55:56 +02:00
Gael Guennebaud
42a1c983c1
fix bug in sliced redux
2010-05-13 23:22:18 +02:00
Gael Guennebaud
c55761e015
make inner product return a 1x1 matrix
2010-05-12 18:11:05 +02:00
Benoit Jacob
82d898083f
fix compilation error thanks to test case by Trevor Irons, and expand unit test
2010-05-09 13:20:46 -04:00
Benoit Jacob
6624b93d67
add important comment and move stride helpers to DenseCoeffsBase.h
2010-05-09 09:41:54 -04:00
Benoit Jacob
0928c40f68
rename Coeffs.h -> DenseCoeffsBase.h
2010-05-08 16:02:13 -04:00
Benoit Jacob
7cbb84b046
move the strides API to DenseCoeffsBase,
...
and various fixes to make stuff compile after my big changes
2010-05-08 16:00:05 -04:00
Benoit Jacob
0e2a480466
use CoeffReturnType
2010-05-08 15:58:27 -04:00
Benoit Jacob
eda2795f51
use modern ei_first_aligned function, dont try compiling coeffRef() on rvalue expressions.
2010-05-08 15:57:56 -04:00
Benoit Jacob
65bd1652b1
let Diagonal have the DirectAccessBit, using an inner stride
2010-05-08 14:19:04 -04:00
Benoit Jacob
bfdc1c4973
introduce DenseCoeffsBase: this is where the coeff / coeffRef / etc... methods go.
...
Rationale: coeffRef() methods should only exist when we have DirectAccess. So a natural thing to do would have been to use enable_if, but since there are many methods it made more sense to do the "enable_if" for the whole group by introducing a new class. And that also that the benefit of not changing method prototypes.
2010-05-08 13:45:31 -04:00
Benoit Jacob
d03779f75f
fix CwiseUnaryView: it shouldn't have the AlignedBit, but it should have the DirectAccessBit and corresponding strides API.
2010-05-08 13:42:41 -04:00
Hauke Heibel
6ea6276f20
Quiet MSVC.
2010-05-04 14:06:41 +02:00
Benoit Jacob
8f249e8b54
fix compilation: const (T&) != const T& , use ei_makeconst
2010-04-30 14:28:35 -04:00
Benoit Jacob
cf4f90ccea
fix #116 and remove debug cout's
2010-04-30 11:58:17 -04:00
Benoit Jacob
5d63d2cc4b
* kill the retval typedefs, instead introduce ei_xxx_retval which does the job automatically in 99% cases and can be specialized
...
* add real/imag/abs2 global functions for Array
* document ei_global_math_functions_filtering_base
* improve unit tests
2010-04-28 22:42:34 -04:00