

def fresnel(xxa):
    x = abs(xxa)
    x2 = (xxa * x)
    if (x2 < 2.5625):
        t = (x2 * x2)
        ss = (((x * x2) * polevl(t, sn)) / polevl(t, sd))
        cc = ((x * polevl(t, cn)) / polevl(t, cd))
    elif (x > 36974.0):
        ss = 0.5
        cc = 0.5
    else:
        t = (pi * x2)
        u = (1.0 / (t * t))
        t = (1.0 / t)
        f = (1.0 - ((u * polevl(u, fn)) / polevl(u, fd)))
        g = ((t * polevl(u, gn)) / polevl(u, gd))
        t = ((pi * 0.5) * x2)
        c = cos(t)
        s = sin(t)
        t = (pi * x)
        cc = (0.5 + (((f * s) - (g * c)) / t))
        ss = (0.5 - (((f * c) + (g * s)) / t))
    if (xxa < 0):
        cc = (- cc)
        ss = (- ss)
    return (ss, cc)

dataset/ETHPy150Open google/roboto/third_party/spiro/curves/cornu.py fresnel/VarMisuse@20/25 `x`->`xxa`