(n, j, prec)
return s
Compute the inner sum in the HRR formula.
Compute the inner sum in the HRR formula.
Compute the inner sum in the HRR formula .
def _a(n, j, prec):
    """Compute the inner sum in the HRR formula."""
    if j == 1:
        return fone
    s = fzero
    pi = pi_fixed(prec)
    for h in xrange(1, j):
        if igcd(h, j) != 1:
            continue
        # & with mask to compute fractional part of fixed-point number
        one = 1 << prec
        onemask = one - 1
        half = one >> 1
        g = 0
        if j >= 3:
            for k in xrange(1, j):
                t = h*k*one//j
                if t > 0:
                    frac = t & onemask
                else:
                    frac = -((-t) & onemask)
                g += k*(frac - half)
        g = ((g - 2*h*n*one)*pi//j) >> prec
        s = mpf_add(s, mpf_cos(from_man_exp(g, -prec), prec), prec)
    return s
def _a ( n , j , prec ) : if j == 1 : return fone s = fzero pi = pi_fixed ( prec ) for h in xrange ( 1 , j ) : if igcd ( h , j ) != 1 : continue # & with mask to compute fractional part of fixed-point number one = 1 << prec onemask = one - 1 half = one >> 1 g = 0 if j >= 3 : for k in xrange ( 1 , j ) : t = h * k * one // j if t > 0 : frac = t & onemask else : frac = - ( ( - t ) & onemask ) g += k * ( frac - half ) g = ( ( g - 2 * h * n * one ) * pi // j ) >> prec s = mpf_add ( s , mpf_cos ( from_man_exp ( g , - prec ) , prec ) , prec ) return s