Movatterモバイル変換
[0]ホーム
PEP 240 scares me
Scottieme at nospam.net
Sun Apr 1 18:04:12 EDT 2001
Sorry, I let this go before finishing editting.If converting to rationals scares you, try this based on James Farey's"Farey fractions. def Farey(v, lim): '''Convert v to a rational with denom <= lim Named after James Farey, an English surveyor. No error checking on args -- v >= 0, lim = max denominator, results are (numerator, denominator) in lowest terms. Think of (1,0) as infinity. ''' lower, upper = (0L,1L), (1L,0L) while 1: mediant = (lower[0] + upper[0]), (lower[1]+upper[1]) if v * mediant[1] > mediant[0]: if lim < mediant[1]: return upper lower = mediant else: if lim < mediant[1]: return lower upper = mediant
More information about the Python-listmailing list
[8]ページ先頭