Commit Graph

21 Commits

Author SHA1 Message Date
Rasmus Munk Larsen
6cadab6896 Clean up EIGEN_STATIC_ASSERT to only use standard c++11 static_assert. 2021-09-16 20:43:54 +00:00
Ryan Pavlik
3c87d6b662 Fix typos in copyright dates
(cherry picked from commit 3335e0767c)
2021-09-15 20:49:43 +00:00
Antonio Sanchez
bb1de9dbde Fix Ref Stride checks.
The existing `Ref` class failed to consider cases where the Ref's
`Stride` setting *could* match the underlying referred object's stride,
but **didn't** at runtime.  This led to trying to set invalid stride values,
causing runtime failures in some cases, and garbage due to mismatched
strides in others.

Here we add the missing runtime checks.  This involves computing the
strides necessary to align with the referred object's storage, and
verifying we can actually set those strides at runtime.

In the `const` case, if it *may* be possible to refer to the original
storage at compile-time but fails at runtime, then we defer to the
`construct(...)` method that makes a copy.

Added more tests to check these cases.

Fixes #2093.
2021-01-05 10:41:25 -08:00
Gael Guennebaud
b0d406d91c Enable construction of Ref<VectorType> from a runtime vector. 2019-03-03 15:25:25 +01:00
Gael Guennebaud
6c3f6cd52b Fix maybe-uninitialized warning 2018-10-07 23:29:51 +02:00
Gael Guennebaud
82f0ce2726 Get rid of EIGEN_TEST_FUNC, unit tests must now be declared with EIGEN_DECLARE_TEST(mytest) { /* code */ }.
This provide several advantages:
- more flexibility in designing unit tests
- unit tests can be glued to speed up compilation
- unit tests are compiled with same predefined macros, which is a requirement for zapcc
2018-07-17 14:46:15 +02:00
Gael Guennebaud
12e1ebb68b Remove local Index typedef from unit-tests 2018-07-12 17:16:40 +02:00
Gael Guennebaud
f7d17689a5 Add static assertion for fixed sizes Ref<> 2018-03-09 10:11:13 +01:00
Gael Guennebaud
a64156cae5 Workaround i387 issue in unit test 2015-11-16 13:33:54 +01:00
Gael Guennebaud
23da99492f Add unit-test for Visual2013 ambiguous call to operator= 2015-06-24 10:27:02 +02:00
Gael Guennebaud
6318d53b41 Factorize VERIFY_EVALUATION_COUNT in unit tests 2015-06-19 16:38:26 +02:00
Gael Guennebaud
14a5f135a3 bug #969: workaround abiguous calls to Ref using enable_if. 2015-03-06 17:51:31 +01:00
Gael Guennebaud
c6fefe5d8e Big 853: replace enable_if in Ref<> ctor by static assertions and add failtests for Ref<> 2014-11-05 16:15:17 +01:00
Gael Guennebaud
b47ef1431f Fix many long to int implicit conversions 2014-07-08 16:47:11 +02:00
Gael Guennebaud
bb4b67cf39 Relax Ref such that Ref<MatrixXf> accepts a RowVectorXf which can be seen as a degenerate MatrixXf(1,N) 2014-03-13 18:04:19 +01:00
Gael Guennebaud
6719e56b5b Ref<> objects must be nested by reference because they potentially store a temporary object 2013-08-11 17:52:43 +02:00
Gael Guennebaud
d1d7a1ade9 Workaround a bunch of stupid warnings in unit tests 2013-06-23 19:11:32 +02:00
Gael Guennebaud
899c0c2b6c Clean source code and unit tests with respect to -Wunused-local-typedefs 2013-04-10 22:27:35 +02:00
Gael Guennebaud
6dd93fc76e The ref unit test cannot be easily written to work with EIGEN_DEFAULT_TO_ROW_MAJOR 2013-02-27 23:52:10 +01:00
Gael Guennebaud
455e6e38b6 Fix two numerical issues in unit tests. 2013-02-27 08:07:18 +01:00
Gael Guennebaud
bb94f0ebc6 Add a unit test for Ref.h and fix an extra copy. 2013-02-26 15:10:00 +01:00