Charles Schlosser
049a144798
Add typed logicals
2023-02-18 01:23:47 +00:00
Rasmus Munk Larsen
1e1848fdb1
Add a vectorized implementation of atan2 to Eigen.
2022-09-28 20:46:49 +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
Charles Schlosser
76a669fb45
add fixed power unary operation
2022-08-16 21:32:36 +00:00
Antonio Sanchez
03d4cbb307
Fix min/max nan-propagation for scalar "other".
...
Copied input type from `EIGEN_MAKE_CWISE_BINARY_OP`.
Fixes #2362 .
2021-10-28 09:28:29 -07:00
Rasmus Munk Larsen
2d3fec8ff6
Add nan-propagation options to matrix and array plugins.
2021-10-21 19:40:11 +00:00
Rasmus Munk Larsen
f9d1500f74
Revert !182 .
2020-09-29 13:56:17 -07:00
daravi
6f0f6f792e
Fix compiler error due to c++20 operator== generation rules
2020-09-16 02:06:53 +00:00
Gael Guennebaud
867a756509
Fix #1833 : compilation issue of "array!=scalar" with c++20
2020-05-30 23:53:58 +02:00
Joel Holdsworth
d5c665742b
Add absolute_difference coefficient-wise binary Array function
2020-03-19 17:45:20 +00:00
Eugene Zhulenev
8ead5bb3d8
Fix doxygen warnings to enable statis code analysis
2019-04-24 12:42:28 -07:00
Gael Guennebaud
7fddc6a51f
typo
2018-11-14 14:43:18 +01:00
Gael Guennebaud
2e334f5da0
bug #426 : move operator && and || to MatrixBase and SparseMatrixBase.
2016-11-14 18:47:02 +01:00
Gael Guennebaud
2f7e2614e7
bug #1232 : refactor special functions as a new SpecialFunctions module, currently in unsupported/.
2016-07-08 11:13:55 +02:00
Gael Guennebaud
67c12531e5
Fix warnings with gcc
2016-06-15 18:11:33 +02:00
Gael Guennebaud
eb91345d64
Move scalar/expr to ArrayBase and fix documentation
2016-06-15 15:22:03 +02:00
Gael Guennebaud
70dad84b73
Generalize expr/expr and scalar/expr wrt scalar types.
2016-06-14 15:26:37 +02:00
Gael Guennebaud
396d9cfb6e
Generalize expr.pow(scalar), pow(expr,scalar) and pow(scalar,expr).
...
Internal: scalar_pow_op (unary) is removed, and scalar_binary_pow_op is renamed scalar_pow_op.
2016-06-14 14:10:07 +02:00
Gael Guennebaud
a8c08e8b8e
Implement expr+scalar, scalar+expr, expr-scalar, and scalar-expr as binary expressions, and generalize supported scalar types.
...
The following functors are now deprecated: scalar_add_op, scalar_sub_op, and scalar_rsub_op.
2016-06-14 12:06:10 +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
fabae6c9a1
Cleanup
2016-06-10 15:58:33 +02:00
Gael Guennebaud
2e238bafb6
Big 279: enable mixing types for comparisons, min, and max.
2016-06-10 15:05:43 +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
c028d96089
Improve doc of special math functions
2016-05-20 14:18:48 +02:00
Gael Guennebaud
6761c64d60
zeta and polygamma are not unary functions, but binary ones.
2016-05-19 18:34:16 +02:00
Benoit Steiner
18e6f67426
Added support for exclusive or
2016-04-14 20:37:46 -07:00
Gael Guennebaud
6544b49e59
Generalize pow(x,e) such that x and e can be a different expression type or a scalar for either x or e. Add x.pow(e) with e an array expression.
2015-07-20 13:57:55 +02:00
Christoph Hertzberg
494fa991c3
bug #872 : Avoid deprecated binder1st/binder2nd usage by providing custom functors for comparison operators
2015-05-07 17:28:40 +02:00
Gael Guennebaud
1bb1a57ef7
merge with default branch
2013-11-05 10:31:59 +01:00
Gael Guennebaud
a0e8577b49
Fix bug #684 : optimize vectorization of array-scalar and scalar-array
2013-10-18 14:56:36 +02: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
0c584dcf4d
fix compilation with m.array().min/max(scalar)
2012-09-12 17:50:07 +02:00
Abraham Bachrach
039408cd66
added functions to allow for cwise min/max operations with scalar argument (bug #400 ).
...
added function for array.min(), array.max(), matrix.cwiseMin(), matrix.cwiseMax().
The matrix.cwiseMin/Max functions required the definition of the ConstantReturnType typedef.
However, it wasn't defined until after MatrixCwiseBinaryOps was included in Eigen/src/SparseCore/SparseMatrixBase.h,
so I moved those includes after the definition of the typedefs.
tests for both the regular and scalar min/max functions were added as well
2012-01-11 11:00:30 -05:00
Jitse Niesen
7a61a564ef
Fix snippets for operator|| and && by adding pair of parens.
2011-06-03 11:17:08 +01:00
Gael Guennebaud
35c1158ee3
add boolean || and && operators
2011-05-31 22:17:34 +02:00
Benoit Jacob
5bfde30e48
fix compilation of array tests
2011-01-24 09:38:50 -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
Benoit Jacob
4716040703
bug #86 : use internal:: namespace instead of ei_ prefix
2010-10-25 10:15:22 -04:00
Benoit Jacob
504a31f643
renaming (MatrixType ---> whatever appropriate)
...
and documentation improvements
2010-04-18 22:14:55 -04:00
Gael Guennebaud
9f899808d7
fix scalar - matrix
2010-01-18 22:56:47 +01:00
Gael Guennebaud
7d3fe69eff
Various documentation updates:
...
- update the tutorial
- update doc of deprecated cwise function
- update cwise doc snippets
2010-01-06 17:18:38 +01:00
Gael Guennebaud
cab85218db
add missing operators: /, /=, *=
2010-01-05 15:36:32 +01:00
Gael Guennebaud
ebb2878829
finally add a Array class with storage via the introduction of a DenseStorageBase
...
base class shared by both Matrix and Array
2009-12-17 13:37:00 +01:00
Gael Guennebaud
9f79558839
a lot of cleaning and fixes
2009-12-16 19:18:40 +01:00
Gael Guennebaud
8e05f9cfa1
add a DenseBase class for MAtrixBase and ArrayBase and more code factorisation
2009-12-04 23:17:14 +01:00