[jelle] > I now some hostility to functional programming is flaming up now and > then; still could someone suggest me a pythonic equivalent for > Mathematica's FixedPoint function? For those not familiar with > Mathematica: > > FixedPoint[f, expr] starts with expr, then applies f repeatedly until > the result no longer changes.
If that's all there is to it, sounds like a simple loop: def FixedPoint(f, expr): old = expr while True: new = f(old) if old == new: return new old = new Then, e.g., >>> FixedPoint(lambda x: (x + 25/x)/2, 400) 5 But I bet there's more to it than just that (e.g., maybe an optional limit on max # of iterations; maybe a way to terminate on "approximate equality"). As-is, that function is very prone to falling into an infinite loop. [and later] > doh... > > https://sourceforge.net/projects/fixedpoint Nope, that has to do with decimal arithmetic using a fixed number of decimal digits after the decimal point ("fixed-point decimal"). -- http://mail.python.org/mailman/listinfo/python-list