[issue7770] sin/cos function in decimal-docs

Johannes Schönberger report at bugs.python.org
Sun Jan 24 20:58:57 CET 2010


Johannes Schönberger <jls at icoost.com> added the comment:

sorry, forgot the str:

def rsin(x):
    """Return the sine of x as measured in radians.

    >>> print sin(Decimal('0.5'))
    0.4794255386042030002732879352
    >>> print sin(0.5)
    0.479425538604
    >>> print sin(0.5+0j)
    (0.479425538604+0j)

    """
    getcontext().prec += 2
    if not isinstance(x, Decimal):
        x = Decimal(str(x))
    x = x.remainder_near(2*pi())
    i, lasts, s, fact, num, sign = 1, 0, x, 1, x, 1
    while s != lasts:
        lasts = s
        i += 2
        fact *= i * (i-1)
        num *= x * x
        sign *= -1
        s += num / fact * sign
    getcontext().prec -= 2
    return +s

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue7770>
_______________________________________


More information about the Python-bugs-list mailing list