mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-07-21 20:34:28 +08:00
Fix vector indexing with uint64_t
This commit is contained in:
parent
e7ebe52bfb
commit
3453b00a1e
@ -97,17 +97,19 @@ template<> struct is_arithmetic<unsigned int> { enum { value = true }; };
|
|||||||
template<> struct is_arithmetic<signed long> { enum { value = true }; };
|
template<> struct is_arithmetic<signed long> { enum { value = true }; };
|
||||||
template<> struct is_arithmetic<unsigned long> { enum { value = true }; };
|
template<> struct is_arithmetic<unsigned long> { enum { value = true }; };
|
||||||
|
|
||||||
template<typename T> struct is_integral { enum { value = false }; };
|
template<typename T> struct is_integral { enum { value = false }; };
|
||||||
template<> struct is_integral<bool> { enum { value = true }; };
|
template<> struct is_integral<bool> { enum { value = true }; };
|
||||||
template<> struct is_integral<char> { enum { value = true }; };
|
template<> struct is_integral<char> { enum { value = true }; };
|
||||||
template<> struct is_integral<signed char> { enum { value = true }; };
|
template<> struct is_integral<signed char> { enum { value = true }; };
|
||||||
template<> struct is_integral<unsigned char> { enum { value = true }; };
|
template<> struct is_integral<unsigned char> { enum { value = true }; };
|
||||||
template<> struct is_integral<signed short> { enum { value = true }; };
|
template<> struct is_integral<signed short> { enum { value = true }; };
|
||||||
template<> struct is_integral<unsigned short> { enum { value = true }; };
|
template<> struct is_integral<unsigned short> { enum { value = true }; };
|
||||||
template<> struct is_integral<signed int> { enum { value = true }; };
|
template<> struct is_integral<signed int> { enum { value = true }; };
|
||||||
template<> struct is_integral<unsigned int> { enum { value = true }; };
|
template<> struct is_integral<unsigned int> { enum { value = true }; };
|
||||||
template<> struct is_integral<signed long> { enum { value = true }; };
|
template<> struct is_integral<signed long> { enum { value = true }; };
|
||||||
template<> struct is_integral<unsigned long> { enum { value = true }; };
|
template<> struct is_integral<unsigned long> { enum { value = true }; };
|
||||||
|
template<> struct is_integral<signed long long int> { enum { value = true }; };
|
||||||
|
template<> struct is_integral<unsigned long long int> { enum { value = true }; };
|
||||||
|
|
||||||
template <typename T> struct add_const { typedef const T type; };
|
template <typename T> struct add_const { typedef const T type; };
|
||||||
template <typename T> struct add_const<T&> { typedef T& type; };
|
template <typename T> struct add_const<T&> { typedef T& type; };
|
||||||
|
@ -49,6 +49,19 @@ template<typename MatrixType> void basicStuff(const MatrixType& m)
|
|||||||
v1[r] = x;
|
v1[r] = x;
|
||||||
VERIFY_IS_APPROX(x, v1[r]);
|
VERIFY_IS_APPROX(x, v1[r]);
|
||||||
|
|
||||||
|
// test fetching with various index types.
|
||||||
|
x = v1(static_cast<char>(r));
|
||||||
|
x = v1(static_cast<signed char>(r));
|
||||||
|
x = v1(static_cast<unsigned char>(r));
|
||||||
|
x = v1(static_cast<signed short>(r));
|
||||||
|
x = v1(static_cast<unsigned short>(r));
|
||||||
|
x = v1(static_cast<signed int>(r));
|
||||||
|
x = v1(static_cast<unsigned int>(r));
|
||||||
|
x = v1(static_cast<signed long>(r));
|
||||||
|
x = v1(static_cast<unsigned long>(r));
|
||||||
|
x = v1(static_cast<long long int>(r));
|
||||||
|
x = v1(static_cast<unsigned long long int>(r));
|
||||||
|
|
||||||
VERIFY_IS_APPROX( v1, v1);
|
VERIFY_IS_APPROX( v1, v1);
|
||||||
VERIFY_IS_NOT_APPROX( v1, 2*v1);
|
VERIFY_IS_NOT_APPROX( v1, 2*v1);
|
||||||
VERIFY_IS_MUCH_SMALLER_THAN( vzero, v1);
|
VERIFY_IS_MUCH_SMALLER_THAN( vzero, v1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user