mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Fix most Doxygen warnings. Also add links to stable documentation from unsupported modules (by using the corresponding Doxytags file).
This commit is contained in:
@@ -23,12 +23,12 @@ namespace Eigen {
|
||||
* The %Tensor class encompasses only dynamic-size objects so far.
|
||||
*
|
||||
* The first two template parameters are required:
|
||||
* \tparam Scalar_ \anchor tensor_tparam_scalar Numeric type, e.g. float, double, int or std::complex<float>.
|
||||
* \tparam Scalar_ Numeric type, e.g. float, double, int or `std::complex<float>`.
|
||||
* User defined scalar types are supported as well (see \ref user_defined_scalars "here").
|
||||
* \tparam NumIndices_ Number of indices (i.e. rank of the tensor)
|
||||
*
|
||||
* The remaining template parameters are optional -- in most cases you don't have to worry about them.
|
||||
* \tparam Options_ \anchor tensor_tparam_options A combination of either \b #RowMajor or \b #ColMajor, and of either
|
||||
* \tparam Options_ A combination of either \b #RowMajor or \b #ColMajor, and of either
|
||||
* \b #AutoAlign or \b #DontAlign.
|
||||
* The former controls \ref TopicStorageOrders "storage order", and defaults to column-major. The latter controls alignment, which is required
|
||||
* for vectorization. It defaults to aligning tensors. Note that tensors currently do not support any operations that profit from vectorization.
|
||||
@@ -42,13 +42,13 @@ namespace Eigen {
|
||||
* \endcode
|
||||
*
|
||||
* This class can be extended with the help of the plugin mechanism described on the page
|
||||
* \ref TopicCustomizingEigen by defining the preprocessor symbol \c EIGEN_TENSOR_PLUGIN.
|
||||
* \ref TopicCustomizing_Plugins by defining the preprocessor symbol \c EIGEN_TENSOR_PLUGIN.
|
||||
*
|
||||
* <i><b>Some notes:</b></i>
|
||||
*
|
||||
* <dl>
|
||||
* <dt><b>Relation to other parts of Eigen:</b></dt>
|
||||
* <dd>The midterm developement goal for this class is to have a similar hierarchy as Eigen uses for matrices, so that
|
||||
* <dd>The midterm development goal for this class is to have a similar hierarchy as Eigen uses for matrices, so that
|
||||
* taking blocks or using tensors in expressions is easily possible, including an interface with the vector/matrix code
|
||||
* by providing .asMatrix() and .asVector() (or similar) methods for rank 2 and 1 tensors. However, currently, the %Tensor
|
||||
* class does not provide any of these features and is only available as a stand-alone class that just allows for
|
||||
|
||||
@@ -12,19 +12,6 @@
|
||||
|
||||
namespace Eigen {
|
||||
|
||||
/** \class TensorForcedEval
|
||||
* \ingroup CXX11_Tensor_Module
|
||||
*
|
||||
* \brief Tensor reshaping class.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/// template <class> class MakePointer_ is added to convert the host pointer to the device pointer.
|
||||
/// It is added due to the fact that for our device compiler T* is not allowed.
|
||||
/// If we wanted to use the same Evaluator functions we have to convert that type to our pointer T.
|
||||
/// This is done through our MakePointer_ class. By default the Type in the MakePointer_<T> is T* .
|
||||
/// Therefore, by adding the default value, we managed to convert the type and it does not break any
|
||||
/// existing code as its default value is T*.
|
||||
namespace internal {
|
||||
template<typename XprType, template <class> class MakePointer_>
|
||||
struct traits<TensorForcedEvalOp<XprType, MakePointer_> >
|
||||
@@ -65,6 +52,21 @@ struct nested<TensorForcedEvalOp<XprType, MakePointer_>, 1, typename eval<Tensor
|
||||
|
||||
|
||||
|
||||
// FIXME use proper doxygen documentation (e.g. \tparam MakePointer_)
|
||||
|
||||
/** \class TensorForcedEvalOp
|
||||
* \ingroup CXX11_Tensor_Module
|
||||
*
|
||||
* \brief Tensor reshaping class.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/// `template <class> class MakePointer_` is added to convert the host pointer to the device pointer.
|
||||
/// It is added due to the fact that for our device compiler `T*` is not allowed.
|
||||
/// If we wanted to use the same Evaluator functions we have to convert that type to our pointer `T`.
|
||||
/// This is done through our `MakePointer_` class. By default the Type in the `MakePointer_<T>` is `T*` .
|
||||
/// Therefore, by adding the default value, we managed to convert the type and it does not break any
|
||||
/// existing code as its default value is `T*`.
|
||||
template<typename XprType, template <class> class MakePointer_>
|
||||
class TensorForcedEvalOp : public TensorBase<TensorForcedEvalOp<XprType, MakePointer_>, ReadOnlyAccessors>
|
||||
{
|
||||
|
||||
@@ -12,18 +12,20 @@
|
||||
|
||||
namespace Eigen {
|
||||
|
||||
// FIXME use proper doxygen documentation (e.g. \tparam MakePointer_)
|
||||
|
||||
/** \class TensorMap
|
||||
* \ingroup CXX11_Tensor_Module
|
||||
*
|
||||
* \brief A tensor expression mapping an existing array of data.
|
||||
*
|
||||
*/
|
||||
/// template <class> class MakePointer_ is added to convert the host pointer to the device pointer.
|
||||
/// It is added due to the fact that for our device compiler T* is not allowed.
|
||||
/// If we wanted to use the same Evaluator functions we have to convert that type to our pointer T.
|
||||
/// This is done through our MakePointer_ class. By default the Type in the MakePointer_<T> is T* .
|
||||
/// `template <class> class MakePointer_` is added to convert the host pointer to the device pointer.
|
||||
/// It is added due to the fact that for our device compiler `T*` is not allowed.
|
||||
/// If we wanted to use the same Evaluator functions we have to convert that type to our pointer `T`.
|
||||
/// This is done through our `MakePointer_` class. By default the Type in the `MakePointer_<T>` is `T*` .
|
||||
/// Therefore, by adding the default value, we managed to convert the type and it does not break any
|
||||
/// existing code as its default value is T*.
|
||||
/// existing code as its default value is `T*`.
|
||||
template<typename PlainObjectType, int Options_, template <class> class MakePointer_> class TensorMap : public TensorBase<TensorMap<PlainObjectType, Options_, MakePointer_> >
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
namespace Eigen {
|
||||
namespace TensorSycl {
|
||||
namespace internal {
|
||||
/// \struct ExtractAccessor: Extract Accessor Class is used to extract the
|
||||
/// struct ExtractAccessor: Extract Accessor Class is used to extract the
|
||||
/// accessor from a buffer.
|
||||
/// Depending on the type of the leaf node we can get a read accessor or a
|
||||
/// read_write accessor
|
||||
|
||||
@@ -147,6 +147,8 @@ struct IndexList {};
|
||||
template <size_t MIN, size_t N, size_t... Is>
|
||||
struct RangeBuilder;
|
||||
|
||||
// FIXME Doxygen has problems with recursive inheritance
|
||||
#ifndef EIGEN_PARSED_BY_DOXYGEN
|
||||
/// \brief base Step: Specialisation of the \ref RangeBuilder when the
|
||||
/// MIN==MAX. In this case the Is... is [0 to sizeof...(tuple elements))
|
||||
/// \tparam MIN is the starting index of the tuple
|
||||
@@ -164,6 +166,7 @@ struct RangeBuilder<MIN, MIN, Is...> {
|
||||
/// \tparam Is... are the list of generated index so far
|
||||
template <size_t MIN, size_t N, size_t... Is>
|
||||
struct RangeBuilder : public RangeBuilder<MIN, N - 1, N - 1, Is...> {};
|
||||
#endif // EIGEN_PARSED_BY_DOXYGEN
|
||||
|
||||
/// \brief IndexRange that returns a [MIN, MAX) index range
|
||||
/// \tparam MIN is the starting index in the tuple
|
||||
|
||||
Reference in New Issue
Block a user