static wide_uint lo (uuint u) { return u.uu[0]; }
static wide_uint hi (uuint u) { return u.uu[1]; }
static void hiset (uuint *u, wide_uint hi) { u->uu[1] = hi; }
+static bool hi_is_set (uuint const *pu) { return pu->uu[1] != 0; }
static void
uuset (wide_uint *phi, wide_uint *plo, uuint uu)
{
{
if (p1 > 0)
{
- affirm (hi (factors->plarge) == 0);
+ affirm (!hi_is_set (&factors->plarge));
factors->plarge = make_uuint (p1, p0);
}
else
if (flag_prove_primality)
{
is_prime = true;
- if (hi (factors.plarge))
+ if (hi_is_set (&factors.plarge))
{
wide_uint pi;
binv (pi, lo (factors.plarge));
}
}
- if (hi (factors.plarge))
+ if (hi_is_set (&factors.plarge))
{
lbuf_putc (' ');
print_uuint (factors.plarge);