(x, wp, which=0)
return from_man_exp(s, -wp)
0 - Ci(x) - (euler+log(x))
    1 - Si(x)
0 - Ci(x) - (euler+log(x))
    1 - Si(x)
0 - Ci ( x ) - ( euler + log ( x )) 1 - Si ( x )
def mpf_ci_si_taylor(x, wp, which=0):
    """
    0 - Ci(x) - (euler+log(x))
    1 - Si(x)
    """
    x = to_fixed(x, wp)
    x2 = -(x*x) >> wp
    if which == 0:
        s, t, k = 0, (MPZ_ONE<<wp), 2
    else:
        s, t, k = x, x, 3
    while t:
        t = (t*x2//(k*(k-1)))>>wp
        s += t//k
        k += 2
    return from_man_exp(s, -wp)
def mpf_ci_si_taylor ( x , wp , which = 0 ) : x = to_fixed ( x , wp ) x2 = - ( x * x ) >> wp if which == 0 : s , t , k = 0 , ( MPZ_ONE << wp ) , 2 else : s , t , k = x , x , 3 while t : t = ( t * x2 // ( k * ( k - 1 ) ) ) >> wp s += t // k k += 2 return from_man_exp ( s , - wp )