mirror of
https://gitlab.com/libeigen/eigen.git
synced 2024-12-15 07:10:37 +08:00
Use integers instead of std::size_t to encode the number of dimensions in the Tensor class since most of the code currently already use integers.
This commit is contained in:
parent
d20efc974d
commit
490d26e4c1
@ -59,7 +59,7 @@ namespace Eigen {
|
||||
* \ref TopicStorageOrders
|
||||
*/
|
||||
|
||||
template<typename Scalar_, std::size_t NumIndices_, int Options_, typename IndexType_>
|
||||
template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
|
||||
class Tensor : public TensorBase<Tensor<Scalar_, NumIndices_, Options_, IndexType_> >
|
||||
{
|
||||
public:
|
||||
@ -82,7 +82,7 @@ class Tensor : public TensorBase<Tensor<Scalar_, NumIndices_, Options_, IndexTyp
|
||||
};
|
||||
|
||||
static const int Options = Options_;
|
||||
static const std::size_t NumIndices = NumIndices_;
|
||||
static const int NumIndices = NumIndices_;
|
||||
typedef DSizes<Index, NumIndices_> Dimensions;
|
||||
|
||||
protected:
|
||||
@ -433,7 +433,7 @@ class Tensor : public TensorBase<Tensor<Scalar_, NumIndices_, Options_, IndexTyp
|
||||
/** Normal Dimension */
|
||||
EIGEN_DEVICE_FUNC void resize(const array<Index, NumIndices>& dimensions)
|
||||
{
|
||||
std::size_t i;
|
||||
int i;
|
||||
Index size = Index(1);
|
||||
for (i = 0; i < NumIndices; i++) {
|
||||
internal::check_rows_cols_for_overflow<Dynamic>::run(size, dimensions[i]);
|
||||
@ -451,7 +451,7 @@ class Tensor : public TensorBase<Tensor<Scalar_, NumIndices_, Options_, IndexTyp
|
||||
// Why this overload, DSizes is derived from array ??? //
|
||||
EIGEN_DEVICE_FUNC void resize(const DSizes<Index, NumIndices>& dimensions) {
|
||||
array<Index, NumIndices> dims;
|
||||
for (std::size_t i = 0; i < NumIndices; ++i) {
|
||||
for (int i = 0; i < NumIndices; ++i) {
|
||||
dims[i] = dimensions[i];
|
||||
}
|
||||
resize(dims);
|
||||
@ -480,7 +480,7 @@ class Tensor : public TensorBase<Tensor<Scalar_, NumIndices_, Options_, IndexTyp
|
||||
EIGEN_DEVICE_FUNC
|
||||
void resize(const Sizes<Indices...>& dimensions) {
|
||||
array<Index, NumIndices> dims;
|
||||
for (std::size_t i = 0; i < NumIndices; ++i) {
|
||||
for (int i = 0; i < NumIndices; ++i) {
|
||||
dims[i] = static_cast<Index>(dimensions[i]);
|
||||
}
|
||||
resize(dims);
|
||||
@ -490,7 +490,7 @@ class Tensor : public TensorBase<Tensor<Scalar_, NumIndices_, Options_, IndexTyp
|
||||
EIGEN_DEVICE_FUNC
|
||||
void resize(const Sizes<V1, V2, V3, V4, V5>& dimensions) {
|
||||
array<Index, NumIndices> dims;
|
||||
for (std::size_t i = 0; i < NumIndices; ++i) {
|
||||
for (int i = 0; i < NumIndices; ++i) {
|
||||
dims[i] = static_cast<Index>(dimensions[i]);
|
||||
}
|
||||
resize(dims);
|
||||
|
@ -638,8 +638,8 @@ class TensorBase<Derived, ReadOnlyAccessors>
|
||||
}
|
||||
|
||||
protected:
|
||||
template <typename Scalar, std::size_t NumIndices, int Options, typename IndexType> friend class Tensor;
|
||||
template <typename Scalar, typename Dimensions, int Option, typename IndexTypes> friend class TensorFixedSize;
|
||||
template <typename Scalar, int NumIndices, int Options, typename IndexType> friend class Tensor;
|
||||
template <typename Scalar, typename Dimensions, int Option, typename IndexTypes> friend class TensorFixedSize;
|
||||
template <typename OtherDerived, int AccessLevel> friend class TensorBase;
|
||||
EIGEN_DEVICE_FUNC
|
||||
EIGEN_STRONG_INLINE const Derived& derived() const { return *static_cast<const Derived*>(this); }
|
||||
@ -655,7 +655,7 @@ class TensorBase<Derived, WriteAccessors> : public TensorBase<Derived, ReadOnlyA
|
||||
typedef typename internal::packet_traits<Scalar>::type PacketReturnType;
|
||||
static const int NumDimensions = DerivedTraits::NumDimensions;
|
||||
|
||||
template <typename Scalar, std::size_t NumIndices, int Options, typename IndexType> friend class Tensor;
|
||||
template <typename Scalar, int NumIndices, int Options, typename IndexType> friend class Tensor;
|
||||
template <typename Scalar, typename Dimensions, int Option, typename IndexTypes> friend class TensorFixedSize;
|
||||
template <typename OtherDerived, int AccessLevel> friend class TensorBase;
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
namespace Eigen {
|
||||
|
||||
template<typename Scalar_, std::size_t NumIndices_, int Options_ = 0, typename IndexType = DenseIndex> class Tensor;
|
||||
template<typename Scalar_, int NumIndices_, int Options_ = 0, typename IndexType = DenseIndex> class Tensor;
|
||||
template<typename Scalar_, typename Dimensions, int Options_ = 0, typename IndexType = DenseIndex> class TensorFixedSize;
|
||||
template<typename PlainObjectType, int Options_ = Unaligned> class TensorMap;
|
||||
template<typename PlainObjectType> class TensorRef;
|
||||
|
@ -44,7 +44,7 @@ class compute_tensor_flags
|
||||
};
|
||||
|
||||
|
||||
template<typename Scalar_, std::size_t NumIndices_, int Options_, typename IndexType_>
|
||||
template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
|
||||
struct traits<Tensor<Scalar_, NumIndices_, Options_, IndexType_> >
|
||||
{
|
||||
typedef Scalar_ Scalar;
|
||||
@ -107,13 +107,13 @@ struct traits<TensorRef<PlainObjectType> >
|
||||
};
|
||||
|
||||
|
||||
template<typename _Scalar, std::size_t NumIndices_, int Options, typename IndexType_>
|
||||
template<typename _Scalar, int NumIndices_, int Options, typename IndexType_>
|
||||
struct eval<Tensor<_Scalar, NumIndices_, Options, IndexType_>, Eigen::Dense>
|
||||
{
|
||||
typedef const Tensor<_Scalar, NumIndices_, Options, IndexType_>& type;
|
||||
};
|
||||
|
||||
template<typename _Scalar, std::size_t NumIndices_, int Options, typename IndexType_>
|
||||
template<typename _Scalar, int NumIndices_, int Options, typename IndexType_>
|
||||
struct eval<const Tensor<_Scalar, NumIndices_, Options, IndexType_>, Eigen::Dense>
|
||||
{
|
||||
typedef const Tensor<_Scalar, NumIndices_, Options, IndexType_>& type;
|
||||
@ -161,13 +161,13 @@ template<typename T, int n=1, typename PlainObject = void> struct nested
|
||||
typedef typename ref_selector<T>::type type;
|
||||
};
|
||||
|
||||
template <typename Scalar_, std::size_t NumIndices_, int Options_, typename IndexType_>
|
||||
template <typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
|
||||
struct nested<Tensor<Scalar_, NumIndices_, Options_, IndexType_> >
|
||||
{
|
||||
typedef const Tensor<Scalar_, NumIndices_, Options_, IndexType_>& type;
|
||||
};
|
||||
|
||||
template <typename Scalar_, std::size_t NumIndices_, int Options_, typename IndexType_>
|
||||
template <typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
|
||||
struct nested<const Tensor<Scalar_, NumIndices_, Options_, IndexType_> >
|
||||
{
|
||||
typedef const Tensor<Scalar_, NumIndices_, Options_, IndexType_>& type;
|
||||
|
Loading…
Reference in New Issue
Block a user