Home | History | Annotate | Download | only in Tensor

Lines Matching defs:uint64_t

17 template <uint64_t n>
19 static const uint64_t value = n;
20 EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE operator uint64_t() const { return n; }
31 template <typename HIGH = uint64_t, typename LOW = uint64_t>
57 eigen_assert((static_cast<typename conditional<sizeof(T) == 8, uint64_t, uint32_t>::type>(x) <= NumTraits<uint64_t>::highest()));
112 TensorUInt128<uint64_t, uint64_t> operator + (const TensorUInt128<HL, LL>& lhs, const TensorUInt128<HR, LR>& rhs)
114 TensorUInt128<uint64_t, uint64_t> result(lhs.high + rhs.high, lhs.low + rhs.low);
123 TensorUInt128<uint64_t, uint64_t> operator - (const TensorUInt128<HL, LL>& lhs, const TensorUInt128<HR, LR>& rhs)
125 TensorUInt128<uint64_t, uint64_t> result(lhs.high - rhs.high, lhs.low - rhs.low);
135 TensorUInt128<uint64_t, uint64_t> operator * (const TensorUInt128<HL, LL>& lhs, const TensorUInt128<HR, LR>& rhs)
148 const uint64_t LOW = 0x00000000FFFFFFFFLL;
149 const uint64_t HIGH = 0xFFFFFFFF00000000LL;
151 uint64_t d = lhs.low & LOW;
152 uint64_t c = (lhs.low & HIGH) >> 32LL;
153 uint64_t b = lhs.high & LOW;
154 uint64_t a = (lhs.high & HIGH) >> 32LL;
156 uint64_t h = rhs.low & LOW;
157 uint64_t g = (rhs.low & HIGH) >> 32LL;
158 uint64_t f = rhs.high & LOW;
159 uint64_t e = (rhs.high & HIGH) >> 32LL;
162 uint64_t acc = d * h;
163 uint64_t low = acc & LOW;
166 uint64_t carry = 0;
167 uint64_t acc2 = acc + c * h;
194 uint64_t high = acc & LOW;
205 return TensorUInt128<uint64_t, uint64_t>(high, low);
210 TensorUInt128<uint64_t, uint64_t> operator / (const TensorUInt128<HL, LL>& lhs, const TensorUInt128<HR, LR>& rhs)
213 return TensorUInt128<uint64_t, uint64_t>(lhs.high, lhs.low);
215 return TensorUInt128<uint64_t, uint64_t>(0);
218 TensorUInt128<uint64_t, uint64_t> power2(1);
219 TensorUInt128<uint64_t, uint64_t> d(rhs);
220 TensorUInt128<uint64_t, uint64_t> tmp(lhs - d);
227 tmp = TensorUInt128<uint64_t, uint64_t>(lhs.high, lhs.low);
228 TensorUInt128<uint64_t, uint64_t> result(0);
235 power2 = TensorUInt128<uint64_t, uint64_t>(power2.high >> 1, (power2.low >> 1) | (power2.high << 63));
236 d = TensorUInt128<uint64_t, uint64_t>(d.high >> 1, (d.low >> 1) | (d.high << 63));