Re: [eigen] still the solve() API debate

[ Thread Index | Date Index | More Archives ]

On Mon, Sep 14, 2009 at 11:29 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
void swap(typename ei_ref_to_temporary<MatrixBase<OtherDerived> >::type other);

It's done... though for some reason buggy (thus again a patch) and currently I am too blind to see the issue. But first things first. I added two new CMake flags, as discussed with Benoit

a) EIGEN_TEST_RVALUE_REF_SUPPORT (enable rvalue references only in the unit tests, not supported on MSVC)
b) EIGEN_TEST_C++0x (enable C++0x features in general, again unit tests only due to missing config file)
Regarding a), I am not sure whether we should look up how to check the actual compiler versions. GCC supports this feature since 4..3 (correct me if I am wrong) and MSVC will starting from version VC10.

Ok, now to the buggy issue I am not able the thrash out. As soon as I activate the ei_ref_to_temporaray struct in TriangularMatrix::swap already the adjoint unit test fails to compile. I have added the code but commented out the part that is causing the issue. I am seriously confused since (assuming EIGEN_TEST_RVALUE_REF_SUPPORT=off), I expected the two lines 309 and 310 to be semantically identical. Maybe somebody has a clue.... uh, btw. I tested with GCC 4.4.1

- Hauke

p.s. What do you think about using CMake in order to create a system/compiler specific configuration file - if somebody want's to use it?

Attachment: rvalue-swap.patch
Description: Binary data

Mail converted by MHonArc 2.6.19+