10 #ifndef EIGEN_CXX11_TENSOR_TENSOR_UINT128_H
11 #define EIGEN_CXX11_TENSOR_TENSOR_UINT128_H
33 template <
typename HIGH = u
int64_t,
typename LOW = u
int64_t>
38 template <
typename OTHER_HIGH,
typename OTHER_LOW>
45 template <
typename OTHER_HIGH,
typename OTHER_LOW>
68 template <
typename HL,
typename LL,
typename HR,
typename LR>
74 template <
typename HL,
typename LL,
typename HR,
typename LR>
80 template <
typename HL,
typename LL,
typename HR,
typename LR>
89 template <
typename HL,
typename LL,
typename HR,
typename LR>
98 template <
typename HL,
typename LL,
typename HR,
typename LR>
102 if (result.
low < rhs.
low) {
108 template <
typename HL,
typename LL,
typename HR,
typename LR>
112 if (result.
low > lhs.
low) {
118 template <
typename HL,
typename LL,
typename HR,
typename LR>
132 const uint64_t LOW = 0x00000000FFFFFFFFLL;
133 const uint64_t HIGH = 0xFFFFFFFF00000000LL;
159 low |= (acc << 32LL);
163 acc2 = (acc >> 32LL) | (carry << 32LL);
181 acc2 = (acc >> 32LL) | (carry << 32LL);
187 high |= (acc2 << 32LL);
192 template <
typename HL,
typename LL,
typename HR,
typename LR>
197 }
else if (lhs < rhs) {
207 power2 = power2 + power2;
215 result = result + power2;
Array< int, Dynamic, 1 > v
Definition: Array_initializer_list_vector_cxx11.cpp:1
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
Array< double, 1, 3 > e(1./3., 0.5, 2.)
#define EIGEN_ALWAYS_INLINE
Definition: Macros.h:845
#define EIGEN_UNUSED_VARIABLE(var)
Definition: Macros.h:966
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:892
#define eigen_assert(x)
Definition: Macros.h:910
#define EIGEN_STRONG_INLINE
Definition: Macros.h:834
#define EIGEN_STATIC_ASSERT(X, MSG)
Definition: StaticAssert.h:26
Scalar * b
Definition: benchVecAdd.cpp:17
static int f(const TensorMap< Tensor< int, 3 > > &tensor)
Definition: cxx11_tensor_map.cpp:237
const Scalar * a
Definition: level2_cplx_impl.h:32
Eigen::Matrix< Scalar, Dynamic, Dynamic, ColMajor > tmp
Definition: level3_impl.h:365
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T operator/(const T &numerator, const TensorIntDivisor< T, div_gt_one > &divisor)
Definition: TensorIntDiv.h:254
const Scalar & y
Definition: RandomImpl.h:36
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE bool operator<(const TensorUInt128< HL, LL > &lhs, const TensorUInt128< HR, LR > &rhs)
Definition: TensorUInt128.h:90
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE TensorUInt128< uint64_t, uint64_t > operator-(const TensorUInt128< HL, LL > &lhs, const TensorUInt128< HR, LR > &rhs)
Definition: TensorUInt128.h:109
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE bool operator!=(const TensorUInt128< HL, LL > &lhs, const TensorUInt128< HR, LR > &rhs)
Definition: TensorUInt128.h:75
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE bool operator>=(const TensorUInt128< HL, LL > &lhs, const TensorUInt128< HR, LR > &rhs)
Definition: TensorUInt128.h:81
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorUInt128< uint64_t, uint64_t > operator*(const TensorUInt128< HL, LL > &lhs, const TensorUInt128< HR, LR > &rhs)
Definition: TensorUInt128.h:119
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE bool operator==(const TensorUInt128< HL, LL > &lhs, const TensorUInt128< HR, LR > &rhs)
Definition: TensorUInt128.h:69
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE TensorUInt128< uint64_t, uint64_t > operator+(const TensorUInt128< HL, LL > &lhs, const TensorUInt128< HR, LR > &rhs)
Definition: TensorUInt128.h:99
std::uint32_t uint32_t
Definition: Meta.h:40
std::uint64_t uint64_t
Definition: Meta.h:42
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
int c
Definition: calibrate.py:100
Definition: Eigen_Colamd.h:49
list x
Definition: plotDoE.py:28
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition: NumTraits.h:217
Definition: TensorUInt128.h:34
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE HIGH upper() const
Definition: TensorUInt128.h:65
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE TensorUInt128(const TensorUInt128< OTHER_HIGH, OTHER_LOW > &other)
Definition: TensorUInt128.h:39
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE TensorUInt128 & operator=(const TensorUInt128< OTHER_HIGH, OTHER_LOW > &other)
Definition: TensorUInt128.h:46
HIGH high
Definition: TensorUInt128.h:35
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE TensorUInt128(HIGH y, LOW x)
Definition: TensorUInt128.h:61
LOW low
Definition: TensorUInt128.h:36
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE TensorUInt128(const T &x)
Definition: TensorUInt128.h:55
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE LOW lower() const
Definition: TensorUInt128.h:64
Definition: TensorUInt128.h:20
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE static_val(const T &v)
Definition: TensorUInt128.h:27
static const uint64_t value
Definition: TensorUInt128.h:21
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE static_val()
Definition: TensorUInt128.h:24