Lines Matching defs:u64

14 #define U64_MAX ((u64)UINT64_MAX)
30 #define u64 ___u64
67 static __always_inline u64 min_t(enum num_t t, u64 x, u64 y)
70 case U64: return (u64)x < (u64)y ? (u64)x : (u64)y;
78 static __always_inline u64 max_t(enum num_t t, u64 x, u64 y)
81 case U64: return (u64)x > (u64)y ? (u64)x : (u64)y;
89 static __always_inline u64 cast_t(enum num_t t, u64 x)
92 case U64: return (u64)x;
103 case U64: return "u64";
148 static bool num_is_small(enum num_t t, u64 x)
151 case U64: return (u64)x <= UNUM_MAX_DECIMAL;
159 static void snprintf_num(enum num_t t, struct strbuf *sb, u64 x)
165 case U64: return snappendf(sb, "%llu", (u64)x);
179 return snappendf(sb, "%#llx", (u64)x);
219 u64 a, b;
245 [S64] = { (u64)S64_MIN, (u64)S64_MAX },
246 [S32] = { (u64)(u32)S32_MIN, (u64)(u32)S32_MAX },
260 static struct range range(enum num_t t, u64 a, u64 b)
263 case U64: return (struct range){ (u64)a, (u64)b };
271 static __always_inline u32 sign64(u64 x) { return (x >> 63) & 1; }
272 static __always_inline u32 sign32(u64 x) { return ((u32)x >> 31) & 1; }
273 static __always_inline u32 upper32(u64 x) { return (u32)(x >> 32); }
274 static __always_inline u64 swap_low32(u64 x, u32 y) { return (x & 0xffffffff00000000ULL) | y; }
283 u64 a = x.a, b = x.b;
309 u64 a = (u64)x.a, b = (u64)x.b;
357 /* u32 is always a valid zero-extended u64/s64 */
400 static bool is_valid_num(enum num_t t, u64 x)
417 case U64: return (u64)x.a <= (u64)x.b;
511 case U64: { range_canbe(u64); }
702 static void reg_state_set_const(struct reg_state *rs, enum num_t t, u64 val)
859 * ; assign r6/w6 and r7/w7 unpredictable u64/u32 value
1028 u64 *dst, def;
1072 u64 val;
1095 *f->dst = f->is_32 ? (u64)(u32)val : val;
1240 const u64 A = x.a;
1241 const u64 B = x.b;
1242 const u64 C = y.a;
1243 const u64 D = y.b;
1329 u64 uvals[ARRAY_SIZE(upper_seeds) * ARRAY_SIZE(lower_seeds)];
1474 u64 elapsed_ns = get_time_ns() - ctx->start_ns;
1504 u64 x1 = *(const u64 *)p1, x2 = *(const u64 *)p2;
1537 ctx->uvals[cnt++] = (((u64)upper_seeds[i]) << 32) | lower_seeds[j];
1566 printf("SEED #%d: u64=%-20s s64=%-20s\n", i, sb1->buf, sb2->buf);
1617 printf("RANGE #%d: u64=%-40s s64=%-40s\n", cnt, sb1->buf, sb2->buf);
1742 const u64 *vals;
1751 vals = init_t == U64 ? ctx.uvals : (const u64 *)ctx.svals;
1763 /* (u64|s64)(<range> x <const>) */
1766 /* (u64|s64)(<const> x <range>) */
1924 static u64 rand_u64()
1927 * seems to be 1<<31, so we need to call it thrice to get full u64;
1930 return ((u64)random() << 42) |
1931 (((u64)random() & RAND_21BIT_MASK) << 21) |
1935 static u64 rand_const(enum num_t t)
1942 u64 x = rand_const(t), y = rand_const(t);
1952 u64 t;
2086 /* longer convergence case: learning from u64 -> s64 -> u64 -> u32,