Rasmus Munk Larsen
61895c5978
Selectively add constexpr to Core expression template scaffolding
...
libeigen/eigen!2184
Closes #3041
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-02-24 19:59:10 -08:00
Rasmus Munk Larsen
e6accc73ff
Fix comment typos, doubled words, grammar errors, and copy-paste mistakes
...
libeigen/eigen!2173
Closes #3034
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-02-21 14:36:21 -08:00
Rasmus Munk Larsen
270ea539fa
Remove redundant EIGEN_STRONG_INLINE from trivial constexpr and = default functions
...
libeigen/eigen!2161
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-02-20 19:50:52 -08:00
Tyler Veness
619be0deb6
Replace instances of EIGEN_NOEXCEPT macros
2025-04-22 00:58:47 +00:00
Tyler Veness
d6689a15d7
Replace instances of EIGEN_CONSTEXPR macro
2025-04-18 08:27:52 -07:00
Antonio Sánchez
b1e74b1ccd
Fix all the doxygen warnings.
2025-02-01 00:00:31 +00:00
Charles Schlosser
5e8916050b
move constructor / move assignment doc strings
2024-12-04 17:42:20 +00:00
Rasmus Munk Larsen
122be167cd
Revert "make fixed-size objects trivially move assignable"
2024-11-06 01:09:38 +00:00
Charles Schlosser
bb73be8a2e
make fixed-size objects trivially move assignable
2024-11-04 17:55:27 +00:00
Charles Schlosser
4e5136d239
make fixed size matrices and arrays trivially_default_constructible
2024-10-21 17:10:15 +00:00
Charles Schlosser
2d4c9b400c
make fixed size matrices and arrays trivially_copy_constructible and trivially_move_constructible
2024-09-17 17:43:36 +00:00
Anabasis
c0fe6ce223
Fixed a clerical error at documentation of class Matrix.
2024-05-13 02:51:40 +00:00
Tyler Veness
d792f13a61
Make more Matrix functions constexpr
2024-03-19 22:02:21 +00:00
Tyler Veness
5ffb307afa
Fix deprecated anonymous enum-enum conversion warnings
2024-03-06 21:22:02 +00:00
Tobias Wood
f38e16c193
Apply clang-format
2023-11-29 11:12:48 +00:00
Antonio Sánchez
6e4d5d4832
Add IWYU private pragmas to internal headers.
2023-08-21 16:25:22 +00:00
Alexander Richardson
62de593c40
Allow std::initializer_list constructors in constexpr expressions
2022-12-14 17:05:37 +00:00
Rasmus Munk Larsen
273e0c884e
Revert "Add constexpr, test for C++14 constexpr."
2022-09-16 21:14:29 +00:00
Tobias Schlüter
133498c329
Add constexpr, test for C++14 constexpr.
2022-09-07 03:42:34 +00:00
Erik Schultheis
e1df3636b2
More constexpr helpers
2022-04-04 18:38:34 +00:00
Antonio Sánchez
a58af20d61
Add descriptions to Matrix typedefs.
2022-02-15 21:53:27 +00:00
Antonio Sánchez
9441d94dcc
Revert "Make fixed-size Matrix and Array trivially copyable after C++20"
...
This reverts commit 47eac21072
2022-02-05 04:40:29 +00:00
Lingzhu Xiang
47eac21072
Make fixed-size Matrix and Array trivially copyable after C++20
...
Making them trivially copyable allows using std::memcpy() without undefined
behaviors.
Only Matrix and Array with trivially copyable DenseStorage are marked as
trivially copyable with an additional type trait.
As described in http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0848r3.html
it requires extremely verbose SFINAE to make the special member functions of
fixed-size Matrix and Array trivial, unless C++20 concepts are available to
simplify the selection of trivial special member functions given template
parameters. Therefore only make this feature available to compilers that support
C++20 P0848R3.
Fix #1855 .
2022-01-07 19:04:35 +00:00
Erik Schultheis
f33a31b823
removed EIGEN_HAS_CXX11_* and redundant EIGEN_COMP_CXXVER checks
2021-11-29 19:18:57 +00:00
Erik Schultheis
ec4efbd696
remove EIGEN_HAS_CXX11
2021-11-24 20:08:49 +00:00
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
Rasmus Munk Larsen
d7d0bf832d
Issue an error in case of direct inclusion of internal headers.
2021-09-10 19:12:26 +00:00
Alexander Karatarakis
4ba872bd75
Avoid leading underscore followed by cap in template identifiers
2021-08-04 22:41:52 +00:00
Steve Bronder
e7b8643d70
Revert "Revert "Adds EIGEN_CONSTEXPR and EIGEN_NOEXCEPT to rows(), cols(), innerStride(), outerStride(), and size()""
...
This reverts commit 5f0b4a4010 .
2021-03-24 18:14:56 +00:00
Antonio Sanchez
543e34ab9d
Re-implement move assignments.
...
The original swap approach leads to potential undefined behavior (reading
uninitialized memory) and results in unnecessary copying of data for static
storage.
Here we pass down the move assignment to the underlying storage. Static
storage does a one-way copy, dynamic storage does a swap.
Modified the tests to no longer read from the moved-from matrix/tensor,
since that can lead to UB. Added a test to ensure we do not access
uninitialized memory in a move.
Fixes : #2119
2021-03-10 16:55:20 +00:00
David Tellenbach
5f0b4a4010
Revert "Adds EIGEN_CONSTEXPR and EIGEN_NOEXCEPT to rows(), cols(), innerStride(), outerStride(), and size()"
...
This reverts commit 6cbb3038ac because it
breaks clang-10 builds on x86 and aarch64 when C++11 is enabled.
2021-03-05 13:16:43 +01:00
Steve Bronder
6cbb3038ac
Adds EIGEN_CONSTEXPR and EIGEN_NOEXCEPT to rows(), cols(), innerStride(), outerStride(), and size()
2021-03-04 18:58:08 +00:00
Christoph Hertzberg
e0f5a2a456
Remove {} accidentally added in previous commit
2019-07-18 20:22:17 +02:00
Christoph Hertzberg
ea6d7eb32f
Move variadic constructors outside #ifndef EIGEN_PARSED_BY_DOXYGEN block, to make it actually appear in the generated documentation.
2019-07-12 19:46:37 +02:00
Gael Guennebaud
2a39659d79
Add fully generic Vector<Type,Size> and RowVector<Type,Size> type aliases.
2019-02-20 15:23:23 +01:00
Gael Guennebaud
302377110a
Update documentation of Matrix and Array type aliases.
2019-02-20 15:18:48 +01:00
Gael Guennebaud
44b54fa4a3
Protect c++11 type alias with Eigen's macro, and add respective unit test.
2019-02-20 14:43:05 +01:00
Gael Guennebaud
7195f008ce
Merged in ra_bauke/eigen (pull request PR-180)
...
alias template for matrix and array classes, see also bug #864
Approved-by: Heiko Bauke <heiko.bauke@mail.de >
2019-02-20 13:22:39 +00:00
Gael Guennebaud
83309068b4
bug #1680 : improve MSVC inlining by declaring many triavial constructors and accessors as STRONG_INLINE.
2019-02-15 16:35:35 +01:00
Gael Guennebaud
ec8a387972
cleanup
2019-01-24 10:24:45 +01:00
David Tellenbach
237b03b372
PR 574: use variadic template instead of initializer_list to implement fixed-size vector ctor from coefficients.
2019-01-23 00:07:19 +01:00
Gael Guennebaud
80f81f9c4b
Cleanup SFINAE in Array/Matrix(initializer_list) ctors and minor doc editing.
2019-01-22 17:08:47 +01:00
David Tellenbach
db152b9ee6
PR 572: Add initializer list constructors to Matrix and Array (include unit tests and doc)
...
- {1,2,3,4,5,...} for fixed-size vectors only
- {{1,2,3},{4,5,6}} for the general cases
- {{1,2,3,4,5,....}} is allowed for both row and column-vector
2019-01-21 16:25:57 +01:00
Gael Guennebaud
ab4df3e6ff
bug #1634 : remove double copy in move-ctor of non movable Matrix/Array
2018-11-30 21:25:51 +01:00
Gael Guennebaud
9c9e23858e
Doc: split customizing-eigen page into sub-pages and re-structure a bit the different topics
2016-08-30 11:10:08 +02:00
Gael Guennebaud
8d97ba6b22
bug #725 : make move ctor/assignment noexcept.
2016-06-03 14:28:25 +02:00
Gael Guennebaud
e68e165a23
bug #256 : enable vectorization with unaligned loads/stores.
...
This concerns all architectures and all sizes.
This new behavior can be disabled by defining EIGEN_UNALIGNED_VECTORIZE=0
2016-05-24 21:54:03 +02:00
Gael Guennebaud
48bf5ec216
Make EIGEN_HAS_RVALUE_REFERENCES user configurable
2016-05-20 14:54:20 +02:00
Gael Guennebaud
f43ae88892
Rename EIGEN_HAVE_RVALUE_REFERENCES to EIGEN_HAS_RVALUE_REFERENCES
2016-05-20 14:48:51 +02:00
Heiko Bauke
e19b58e672
alias template for matrix and array classes
2016-04-23 00:08:51 +02:00