aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/Ref.h
Commit message (Collapse)AuthorAge
* Revert "Revert "Adds EIGEN_CONSTEXPR and EIGEN_NOEXCEPT to rows(), cols(), ↵Gravatar Steve Bronder2021-03-24
| | | | | | innerStride(), outerStride(), and size()"" This reverts commit 5f0b4a4010af4cbf6161a0d1a03a747addc44a5d.
* Revert "Adds EIGEN_CONSTEXPR and EIGEN_NOEXCEPT to rows(), cols(), ↵Gravatar David Tellenbach2021-03-05
| | | | | | | innerStride(), outerStride(), and size()" This reverts commit 6cbb3038ac48cb5fe17eba4dfbf26e3e798041f1 because it breaks clang-10 builds on x86 and aarch64 when C++11 is enabled.
* Adds EIGEN_CONSTEXPR and EIGEN_NOEXCEPT to rows(), cols(), innerStride(), ↵Gravatar Steve Bronder2021-03-04
| | | | outerStride(), and size()
* Fix Ref initialization.Gravatar Antonio Sanchez2021-01-06
| | | | | | | | | Since `eigen_assert` is a macro, the statements can become noops (e.g. when compiling for GPU), so they may not execute the contained logic -- which in this case is the entire `Ref` construction. We need to separate the assert from statements which have consequences. Fixes #2113
* Fix Ref Stride checks.Gravatar Antonio Sanchez2021-01-05
| | | | | | | | | | | | | | | | | | | | 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.
* Enable construction of Ref<VectorType> from a runtime vector.Gravatar Gael Guennebaud2019-03-03
|
* Add static assertion for fixed sizes Ref<>Gravatar Gael Guennebaud2018-03-09
|
* Add link to SOGravatar Gael Guennebaud2017-01-09
|
* Workaround MSVC instantiation faillure of has_*ary_operator at the level of ↵Gravatar Gael Guennebaud2016-09-06
| | | | triats<Ref>::match so that the has_*ary_operator are really properly instantiated throughout the compilation unit.
* Relax mixing-type constraints for binary coefficient-wise operators:Gravatar Gael Guennebaud2016-06-06
| | | | | | | | | | - Replace internal::scalar_product_traits<A,B> by Eigen::ScalarBinaryOpTraits<A,B,OP> - Remove the "functor_is_product_like" helper (was pretty ugly) - Currently, OP is not used, but it is available to the user for fine grained tuning - Currently, only the following operators have been generalized: *,/,+,-,=,*=,/=,+=,-= - TODO: generalize all other binray operators (comparisons,pow,etc.) - TODO: handle "scalar op array" operators (currently only * is handled) - TODO: move the handling of the "void" scalar type to ScalarBinaryOpTraits
* Improve inline documentation of SparseCompressedBase and its derived classesGravatar Gael Guennebaud2016-01-03
|
* Fix numerous doxygen shortcomings, and workaround some clang -Wdocumentation ↵Gravatar Gael Guennebaud2016-01-01
| | | | warnings
* First part of a big refactoring of alignment control to enable the handling ↵Gravatar Gael Guennebaud2015-08-06
| | | | | | | | | of arbitrarily aligned buffers. It includes: - AlignedBit flag is deprecated. Alignment is now specified by the evaluator through the 'Alignment' enum, e.g., evaluator<Xpr>::Alignment. Its value is in Bytes. - Add several enums to specify alignment: Aligned8, Aligned16, Aligned32, Aligned64, Aligned128. AlignedMax corresponds to EIGEN_MAX_ALIGN_BYTES. Such enums are used to define the above Alignment value, and as the 'Options' template parameter of Map<> and Ref<>. - The Aligned enum is now deprecated. It is now an alias for Aligned16. - Currently, traits<Matrix<>>, traits<Array<>>, traits<Ref<>>, traits<Map<>>, and traits<Block<>> also expose the Alignment enum.
* bug #969: workaround abiguous calls to Ref using enable_if.Gravatar Gael Guennebaud2015-03-06
|
* Fix doc of Ref<>Gravatar Gael Guennebaud2015-02-20
|
* bug #903: clean swap API regarding extra enable_if parameters, and add ↵Gravatar Gael Guennebaud2014-11-06
| | | | failtests for swap
* Big 853: replace enable_if in Ref<> ctor by static assertions and add ↵Gravatar Gael Guennebaud2014-11-05
| | | | failtests for Ref<>
* Make cuda_basic test compile again by adding lots of EIGEN_DEVICE_FUNC.Gravatar Christoph Hertzberg2014-10-13
| | | | Although the test passes now, there might still be some missing.
* bug #884: Copy constructor of Ref shall never malloc, constructing from ↵Gravatar Christoph Hertzberg2014-09-30
| | | | other RefBase shall only malloc if the memory layout is incompatible.
* Remove deprecated code not used by evaluatorsGravatar Gael Guennebaud2014-09-18
|
* merge default branchGravatar Gael Guennebaud2014-08-29
|\
| * Fix more typos in Ref.h (doc).Gravatar Benjamin Chrétien2014-08-01
| |
| * Fix typos in Ref.h (doc).Gravatar Benjamin Chrétien2014-08-01
| |
* | merge with default branchGravatar Gael Guennebaud2014-06-20
|\|
| * Relax Ref such that Ref<MatrixXf> accepts a RowVectorXf which can be seen as ↵Gravatar Gael Guennebaud2014-03-13
| | | | | | | | a degenerate MatrixXf(1,N)
* | Fix lazy evaluation in RefGravatar Gael Guennebaud2014-02-19
| |
* | Move is_diagonal to XprHelper, forward declare RefGravatar Gael Guennebaud2014-02-18
|/
* Ref<> objects must be nested by reference because they potentially store a ↵Gravatar Gael Guennebaud2013-08-11
| | | | temporary object
* MSVC fix; the base class typedef shadowed the local template parameter.Gravatar Hauke Heibel2013-02-28
|
* Add a unit test for Ref.h and fix an extra copy.Gravatar Gael Guennebaud2013-02-26
|
* Add missing operator= in RefBaseGravatar Gael Guennebaud2013-02-07
|
* Make Ref<> suitable for both Matrix and Array kinds. Note that Matrix kind ↵Gravatar Gael Guennebaud2012-09-22
| | | | objects can be implicitely converted to an Array kind Ref<> and vice versa
* Silence clang warning about && inside ||Gravatar Jitse Niesen2012-07-14
|
* Automatic relicensing to MPL2 using Keirs script. Manual fixup follows.Gravatar Benoit Jacob2012-07-13
|
* bug #481 step 1: add a new Ref<> class for non templated function argumentsGravatar Gael Guennebaud2012-07-05