static const _cl_MI fix32_plus (cl_heap_modint_ring* R, const _cl_MI& x, const _cl_MI& y)
{
- var uint32 xr = FN_to_UL(x.rep);
- var uint32 yr = FN_to_UL(y.rep);
+ var uint32 xr = FN_to_UV(x.rep);
+ var uint32 yr = FN_to_UV(y.rep);
var uint32 zr = xr + yr;
- var uint32 m = FN_to_UL(R->modulus);
+ var uint32 m = FN_to_UV(R->modulus);
if ((zr < xr) || (zr >= m)) { zr = zr - m; }
return _cl_MI(R, L_to_FN(zr));
}
static const _cl_MI fix32_minus (cl_heap_modint_ring* R, const _cl_MI& x, const _cl_MI& y)
{
- var uint32 xr = FN_to_UL(x.rep);
- var uint32 yr = FN_to_UL(y.rep);
- var sint32 zr = (xr >= yr ? xr - yr : xr - yr + FN_to_UL(R->modulus));
+ var uint32 xr = FN_to_UV(x.rep);
+ var uint32 yr = FN_to_UV(y.rep);
+ var sint32 zr = (xr >= yr ? xr - yr : xr - yr + FN_to_UV(R->modulus));
return _cl_MI(R, L_to_FN(zr));
}
static const _cl_MI fix32_uminus (cl_heap_modint_ring* R, const _cl_MI& x)
{
- var uint32 xr = FN_to_UL(x.rep);
- var uint32 zr = (xr==0 ? 0 : FN_to_UL(R->modulus)-xr);
+ var uint32 xr = FN_to_UV(x.rep);
+ var uint32 zr = (xr==0 ? 0 : FN_to_UV(R->modulus)-xr);
return _cl_MI(R, L_to_FN(zr));
}
static const _cl_MI fix32_mul (cl_heap_modint_ring* R, const _cl_MI& x, const _cl_MI& y)
{
- var uint32 xr = FN_to_UL(x.rep);
- var uint32 yr = FN_to_UL(y.rep);
+ var uint32 xr = FN_to_UV(x.rep);
+ var uint32 yr = FN_to_UV(y.rep);
var uint32 zrhi;
var uint32 zrlo;
mulu32(xr,yr,zrhi=,zrlo=);
var uint32 zr;
- divu_6432_3232(zrhi,zrlo,FN_to_UL(R->modulus),,zr=);
+ divu_6432_3232(zrhi,zrlo,FN_to_UV(R->modulus),,zr=);
return _cl_MI(R, L_to_FN(zr));
}
static const _cl_MI fix32_square (cl_heap_modint_ring* R, const _cl_MI& x)
{
- var uint32 xr = FN_to_UL(x.rep);
+ var uint32 xr = FN_to_UV(x.rep);
var uint32 zrhi;
var uint32 zrlo;
mulu32(xr,xr,zrhi=,zrlo=);
var uint32 zr;
- divu_6432_3232(zrhi,zrlo,FN_to_UL(R->modulus),,zr=);
+ divu_6432_3232(zrhi,zrlo,FN_to_UV(R->modulus),,zr=);
return _cl_MI(R, L_to_FN(zr));
}