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
Charles Schlosser
c999284bad
Print diagonal matrix
2023-02-10 18:07:29 +00:00
Arthur
ba4d7304e2
Document DiagonalBase
2022-06-08 17:46:32 +00:00
Arthur
14aae29470
Provide DiagonalMatrix Product and Initializers
2022-06-06 21:43:22 +00:00
Alex_M
2c055f8633
make diagonal matrix cols() and rows() methods constexpr
2022-05-03 10:13:37 +02:00
Antonio Sánchez
efb08e0bb5
Revert "Fix ambiguous DiagonalMatrix constructors."
...
This reverts commit a81bba962a5fe236e9ded7fd509aa04669559caa
2022-04-12 03:54:31 +00:00
Antonio Sánchez
a81bba962a
Fix ambiguous DiagonalMatrix constructors.
2022-04-11 19:13:25 +00:00
William Talbot
2c0ef43b48
Added Scaling function overload for vector rvalue reference
2022-04-04 16:50:09 +00:00
Erik Schultheis
89c6ab2385
removed some documentation referencing c++98 behaviour
2022-01-30 12:02:18 +00:00
Arthur Feeney
4b0926f99b
Prevent heap allocation in diagonal product
2022-01-21 21:15:44 +00:00
Erik Schultheis
f7a056bf04
Small fixes
...
This MR fixes a bunch of smaller issues, making the following changes:
* Template parameters in the documentation are documented with `\tparam` instead
of `\param`
* Superfluous semicolon warnings fixed
* Fixed the type of literals used to initialize float variables
2021-12-21 16:46:09 +00:00
Erik Schultheis
ec4efbd696
remove EIGEN_HAS_CXX11
2021-11-24 20:08:49 +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
David Tellenbach
97f9a46cb9
PR 593: Add variadtic ctor for DiagonalMatrix with unit tests
2019-03-14 10:18:24 +01:00
Gael Guennebaud
ce243ee45b
bug #520 : add diagmat +/- diagmat operators.
2018-10-10 23:38:22 +02:00
Benoit Steiner
09ae0e6586
Adjusted the EIGEN_DEVICE_FUNC qualifiers to make sure that:
...
* they're used consistently between the declaration and the definition of a function
* we avoid calling host only methods from host device methods.
2017-03-01 11:47:47 -08:00
Gael Guennebaud
3ecb343dc3
Fix regression in X = (X*X.transpose())/s with X rectangular by deferring resizing of the destination after the creation of the evaluator of the source expression.
2016-10-26 22:50:41 +02:00
Robert Lukierski
a94791b69a
Fixes for min and abs after Benoit's comments, switched to numext.
2016-10-13 15:00:22 +01:00
Robert Lukierski
86711497c4
Adding EIGEN_DEVICE_FUNC in the Geometry module.
...
Additional CUDA necessary fixes in the Core (mostly usage of
EIGEN_USING_STD_MATH).
2016-10-12 16:35:17 +01:00
Gael Guennebaud
91b3039013
Change the semantic of the last template parameter of Assignment from "Scalar" to "SFINAE" only.
...
The previous "Scalar" semantic was obsolete since we allow for different scalar types in the source and destination expressions.
On can still specialize on scalar types through SFINAE and/or assignment functor.
2016-07-04 11:02:00 +02:00
Gael Guennebaud
64fcfd314f
Implement scalar multiples and division by a scalar as a binary-expression with a constant expression.
...
This slightly complexifies the type of the expressions and implies that we now have to distinguish between scalar*expr and expr*scalar to catch scalar-multiple expression (e.g., see BlasUtil.h), but this brings several advantages:
- it makes it clear on each side the scalar is applied,
- it clearly reflects that we are dealing with a binary-expression,
- the complexity of the type is hidden through macros defined at the end of Macros.h,
- distinguishing between "scalar op expr" and "expr op scalar" is important to support non commutative fields (like quaternions)
- "scalar op expr" is now fully equivalent to "ConstantExpr(scalar) op expr"
- scalar_multiple_op, scalar_quotient1_op and scalar_quotient2_op are not used anymore in officially supported modules (still used in Tensor)
2016-06-14 11:26:57 +02:00
Gael Guennebaud
66e99ab6a1
Relax mixing-type constraints for binary coefficient-wise operators:
...
- 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
2016-06-06 15:11:41 +02:00
Gael Guennebaud
fc202bab39
Index refactoring: StorageIndex must be used for storage only (and locally when it make sense). In all other cases use the global Index type.
2015-02-13 18:57:41 +01:00
Gael Guennebaud
fe51319980
Merge Index-refactoring branch with default, fix PastixSupport, remove some useless typedefs
2015-02-13 10:03:53 +01:00
Gael Guennebaud
e1f1091fde
Add support for dense ?= diagonal
2015-01-24 10:32:49 +01:00
Christoph Hertzberg
e8cdbedefb
bug #877 , bug #572 : Introduce a global Index typedef. Rename Sparse*::Index to StorageIndex, make Dense*::StorageIndex an alias to DenseIndex. Overall this commit gets rid of all Index conversion warnings.
2014-12-04 22:48:53 +01:00
Christoph Hertzberg
36448c9e28
Make constructors explicit if they could lead to unintended implicit conversion
2014-09-23 14:28:23 +02:00
Gael Guennebaud
0ca43f7e9a
Remove deprecated code not used by evaluators
2014-09-18 15:15:27 +02:00
Gael Guennebaud
baa77ffe38
Fix max sizes at compile time of DiagonalWrapper
2014-07-22 16:13:56 +02:00
Gael Guennebaud
61b88d2feb
merge with default branch
2014-07-02 09:35:37 +02:00
Gael Guennebaud
1e6f53e070
Use DiagonalShape as the storage kind of DiagonalBase<>.
2014-07-01 17:52:58 +02:00
Christoph Hertzberg
324e7e8fc9
Removed the deprecated EIGEN2_SUPPORT, as previously announced. A compilation error is raised, if this compile-switch is defined. The documentation references to the corresponding pages from Eigen3.2 now. Also, the Eigen2 testsuite has been removed.
2014-07-01 16:58:11 +02:00
Gael Guennebaud
ae039dde13
Add a NoPreferredStorageOrderBit flag for expression having no preferred storage order.
...
It is currently only used in Product.
2014-06-27 15:53:51 +02:00
Gael Guennebaud
b868bfb84a
Make operator=(EigenBase<>) uses the new assignment mechanism and introduce a generic EigenBase to EigenBase assignment kind based on the previous evalTo mechanism.
2014-06-25 17:23:52 +02:00
Gael Guennebaud
8dd3b716e3
Move evaluation related flags from traits to evaluator and fix evaluators of MapBase and Replicate
2014-03-12 13:34:11 +01:00
Gael Guennebaud
da6ec81282
Move CoeffReadCost mechanism to evaluators
2014-03-10 23:24:40 +01:00
Gael Guennebaud
bffa15142c
Add evaluator support for diagonal products
2014-02-17 16:10:55 +01:00
Gael Guennebaud
6126ad801f
Extend support for nvcc to Array objects and wrappers
2013-07-31 15:30:50 +02:00
Gael Guennebaud
f41d96deb9
Fix several documentation issues
2012-12-24 13:33:22 +01:00
Gael Guennebaud
a76fbbf397
Fix bug #314 :
...
- remove most of the metaprogramming kung fu in MathFunctions.h (only keep functions that differs from the std)
- remove the overloads for array expression that were in the std namespace
2012-11-06 15:25:50 +01:00
Gael Guennebaud
8b83e66906
add scalar multiple to diagonal matrices
...
(transplanted from dc5b335f9fbc25b15a408d8b1458a0140c0a8248
)
2012-09-27 09:37:05 +02:00
Benoit Jacob
69124cfca2
Automatic relicensing to MPL2 using Keirs script. Manual fixup follows.
2012-07-13 14:42:47 -04:00
Gael Guennebaud
a2ace4b79a
bug #482 : pass scalar arguments by const references. This changeset only concerns the Core and Geometry modules
2012-06-28 02:08:59 +02:00
Gael Guennebaud
62c504e7bf
fix most of the shadow warnings in Core/*.h
2012-06-22 16:32:45 +02:00
Jitse Niesen
3c412183b2
Get rid of include directives inside namespace blocks (bug #339 ).
2012-04-15 11:06:28 +01:00
Gael Guennebaud
fe85b7ebc6
fix several const qualifier issues: double ones, meaningless ones, some missing ones, etc.
...
(note that const qualifiers are set by internall::nested)
2012-02-03 23:18:26 +01:00
Benoit Jacob
a1f5ea8954
make eigen2 cholesky test pass
2011-01-28 13:04:23 -05:00
Benoit Jacob
c3a4f6b5c5
const-qualify template parameters representing const arguments to expressions.
...
needed to fix docs compile issue.
2011-01-24 08:27:06 -05:00