Commit Graph

403 Commits

Author SHA1 Message Date
Christoph Hertzberg
d107a371c6 Fix most Doxygen warnings. Also add links to stable documentation from unsupported modules (by using the corresponding Doxytags file). 2018-10-19 21:10:28 +02:00
Gael Guennebaud
fa77d71335 Fix lazyness of operator* with CUDA 2017-07-20 09:47:28 +02:00
Gael Guennebaud
faf8af25ed bug #1396: add some missing EIGEN_DEVICE_FUNC
(grafted from 4e98a7b2f0
)
2017-02-28 09:47:38 +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
Benoit Steiner
59e9edfbf1 Removed EIGEN_DEVICE_FUNC qualifers for the lu(), fullPivLu(), partialPivLu(), and inverse() functions since they aren't ready to run on GPU 2016-09-19 14:13:20 -07:00
Gael Guennebaud
50e203c717 bug #828: clarify documentation of SparseMatrixBase's unary methods. 2016-09-16 10:40:50 +02:00
Benoit Steiner
c0d56a543e Added several missing EIGEN_DEVICE_FUNC qualifiers 2016-09-14 14:06:21 -07: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
deb8306e60 Move MatrixBase::operaotr*(UniformScaling) as a free function in Scaling.h, and fix return type. 2016-06-14 11:28:03 +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
2c00ac0b53 Implement generic scalar*expr and expr*scalar operator based on scalar_product_traits.
This is especially useful for custom scalar types, e.g., to enable float*expr<multi_prec> without conversion.
2016-06-02 22:16:37 +02:00
Rasmus Munk Larsen
d904c8ac8f Implement complete orthogonal decomposition in Eigen. 2016-02-06 16:32:00 -08:00
Gael Guennebaud
d142165942 bug #667: declare several critical functions as FORECE_INLINE to make ICC happier.
<g.gael@free.fr> HG: branch 'default' HG: changed Eigen/src/Core/ArrayBase.h HG: changed Eigen/src/Core/AssignEvaluator.h HG: changed
Eigen/src/Core/CoreEvaluators.h HG: changed Eigen/src/Core/CwiseUnaryOp.h HG: changed Eigen/src/Core/DenseBase.h HG: changed Eigen/src/Core/MatrixBase.h
2016-01-31 16:34:10 +01:00
Gael Guennebaud
1cf85bd875 bug #977: add stableNormalize[d] methods: they are analogues to normalize[d] but with carefull handling of under/over-flow 2016-01-23 22:40:11 +01:00
Gael Guennebaud
addb7066e8 Workaround "empty paragraph" warning with clang -Wdocumentation 2015-12-30 16:45:44 +01:00
Gael Guennebaud
29bb599e03 Fix numerous doxygen issues in auto-link generation 2015-12-30 16:04:24 +01:00
Gael Guennebaud
902750826b Add support for dense.cwiseProduct(sparse)
This also fixes a regression regarding (dense*sparse).diagonal()
2015-11-04 17:42:07 +01:00
Gael Guennebaud
6df8e99470 bug #1089: add a warning when using a MatrixBase method which is implemented within another module by declaring them inline. 2015-10-22 16:10:28 +02:00
Gael Guennebaud
f5aa640862 Clean some previous changes and more cuda fixes 2015-07-15 10:57:55 +02:00
Gael Guennebaud
98ff17eb9e Add special path for matrix<complex>/real.
This also fixes underflow issues when scaling complex matrices through complex/complex operator.
2015-06-26 16:08:15 +02:00
Gael Guennebaud
0848ba0a6e Fix return nullary return types: it must be based on the PlainObject type instead of the expression type. 2015-06-22 10:52:08 +02:00
Gael Guennebaud
6fc5438205 Remove a few deprecated internal expressions 2015-06-19 17:06:12 +02:00
Gael Guennebaud
274b1f5d7e Fix homogeneous() for 1x1 matrix: in this case, homogeneous follows the storage order guaranteeing that v.transpose().homogeneous() == v.homogeneous().transpose() 2015-06-08 15:40:51 +02:00
Christoph Hertzberg
28a4c92cbf bug #998: Started fixing doxygen warnings 2015-05-01 22:10: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
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
Gael Guennebaud
a819fa148d Fix MSVC compilation issue 2014-12-02 14:35:31 +01:00
Gael Guennebaud
b1f9f603a0 Simplify return type of diagonal(Index) (and ease compiler job) 2014-11-28 14:39:47 +01:00
Gael Guennebaud
ee06f78679 Introduce unified macros to identify compiler, OS, and architecture. They are all defined in util/Macros.h and prefixed with EIGEN_COMP_, EIGEN_OS_, and EIGEN_ARCH_ respectively. 2014-11-04 21:58:52 +01:00
Gael Guennebaud
21c0a2ce0c Move D&C SVD to official SVD module. 2014-10-29 11:29:33 +01:00
Christoph Hertzberg
d3f52debc6 Make cuda_basic test compile again by adding lots of EIGEN_DEVICE_FUNC.
Although the test passes now, there might still be some missing.
2014-10-13 17:18:26 +02: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
749b56f6af merge with default branch 2014-09-14 17:34:54 +02:00
Gael Guennebaud
3eb5253ca1 Optimization: "matrix<complex> * real" did not call the special path and the real was converted to a complex. Add respective unit test to avoid future regression. 2014-09-02 14:41:14 +02:00
Gael Guennebaud
61b88d2feb merge with default branch 2014-07-02 09:35:37 +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
74b1d79d77 merge default and evaluator branches 2014-03-12 16:24:25 +01:00
Gael Guennebaud
da6ec81282 Move CoeffReadCost mechanism to evaluators 2014-03-10 23:24:40 +01:00
Gael Guennebaud
ecd2c8f37b Add general Inverse<> expression with evaluator 2014-02-20 14:18:24 +01:00
Gael Guennebaud
61cff28618 Disable Flagged and ForceAlignedAccess 2014-02-19 14:05:56 +01:00
Gael Guennebaud
463554c254 Merge with default branch 2014-02-18 15:45:39 +01:00
Gael Guennebaud
551bf5c66a Get rid of DiagonalProduct 2014-02-18 10:52:26 +01:00
Jitse Niesen
7ea6ef8969 Fix documentation of MatrixBase::applyOnTheLeft (bug #739)
Add examples; move methods from EigenBase.h to MatrixBase.h
2014-02-12 14:03:39 +00:00
Gael Guennebaud
7313f32efa Help MSVC to inline some trivial functions 2014-03-04 17:24:00 +01:00
Gael Guennebaud
6c5e915e9a Enable use of evaluators for noalias and lazyProduct, add conversion to scalar for inner products 2013-12-03 17:17:53 +01:00
Gael Guennebaud
76c230a84d Add an option to test evaluators globally 2013-11-07 16:38:14 +01:00
Gael Guennebaud
1bb1a57ef7 merge with default branch 2013-11-05 10:31:59 +01:00
Gael Guennebaud
ddf7753631 Add nvcc support for small eigenvalues decompositions and workaround lack of support for std::swap and std::numeric_limits 2013-08-01 16:26:57 +02:00
Gael Guennebaud
6126ad801f Extend support for nvcc to Array objects and wrappers 2013-07-31 15:30:50 +02:00