Lines Matching refs:Bits

20 template <size_t Bits> class UInt {
22 static_assert(Bits > 0 && Bits % 64 == 0,
24 static constexpr size_t WordCount = Bits / 64;
35 constexpr UInt(const UInt<Bits> &other) { in UInt()
62 UInt<Bits> &operator=(const UInt<Bits> &other) {
70 constexpr uint64_t add(const UInt<Bits> &x) { in add()
86 constexpr UInt<Bits> operator+(const UInt<Bits> &other) const {
87 UInt<Bits> result(*this);
92 constexpr UInt<Bits> operator+=(const UInt<Bits> &other) {
155 constexpr UInt<Bits> operator*(const UInt<Bits> &other) const {
156 UInt<Bits> result(0);
158 UInt<Bits> row_result(*this);
166 constexpr UInt<Bits> &operator*=(const UInt<Bits> &other) {
190 constexpr UInt<Bits> operator<<(size_t s) const {
191 UInt<Bits> result(*this);
196 constexpr UInt<Bits> &operator<<=(size_t s) {
220 constexpr UInt<Bits> operator>>(size_t s) const {
221 UInt<Bits> result(*this);
226 constexpr UInt<Bits> &operator>>=(size_t s) {
231 constexpr UInt<Bits> operator&(const UInt<Bits> &other) const {
232 UInt<Bits> result;
238 constexpr UInt<Bits> &operator&=(const UInt<Bits> &other) {
244 constexpr UInt<Bits> operator|(const UInt<Bits> &other) const {
245 UInt<Bits> result;
251 constexpr UInt<Bits> &operator|=(const UInt<Bits> &other) {
257 constexpr UInt<Bits> operator^(const UInt<Bits> &other) const {
258 UInt<Bits> result;
264 constexpr UInt<Bits> &operator^=(const UInt<Bits> &other) {
270 constexpr UInt<Bits> operator~() const {
271 UInt<Bits> result;
277 constexpr bool operator==(const UInt<Bits> &other) const {
285 constexpr bool operator!=(const UInt<Bits> &other) const {
293 constexpr bool operator>(const UInt<Bits> &other) const {
306 constexpr bool operator>=(const UInt<Bits> &other) const {
319 constexpr bool operator<(const UInt<Bits> &other) const {
332 constexpr bool operator<=(const UInt<Bits> &other) const {
345 constexpr UInt<Bits> &operator++() {
346 UInt<Bits> one(1);