Message98227
stupid, it is much better to just use the modulo operator. The same works with cos...
def sin(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)
"""
x %= pi()
getcontext().prec += 2
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
def cos(x):
"""Return the cosine of x as measured in radians.
>>> print cos(Decimal('0.5'))
0.8775825618903727161162815826
>>> print cos(0.5)
0.87758256189
>>> print cos(0.5+0j)
(0.87758256189+0j)
"""
x %= pi()
getcontext().prec += 2
i, lasts, s, fact, num, sign = 0, 0, 1, 1, 1, 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 |
|
Date |
User |
Action |
Args |
2010-01-24 13:56:32 | ahojnnes | set | recipients:
+ ahojnnes, georg.brandl, rhettinger, mark.dickinson |
2010-01-24 13:56:32 | ahojnnes | set | messageid: <1264341392.14.0.839776655565.issue7770@psf.upfronthosting.co.za> |
2010-01-24 13:56:30 | ahojnnes | link | issue7770 messages |
2010-01-24 13:56:30 | ahojnnes | create | |
|