Scott David Daniels <[EMAIL PROTECTED]> wrote in news:[EMAIL PROTECTED]:
> max wrote: >> Larry Bates <[EMAIL PROTECTED]> wrote in >> news:[EMAIL PROTECTED]: >>>Python has built in eval function and doesn't require a library. >> >> Are you kidding? Read the original post a little more closely. >> The o.p. is looking for a library that evaluates mathematical >> expressions and is callable from python code. > > He is absolutely correct. > From the web page referenced: > > ucDefineFunction("area(length,width) = length*width"); > ucDefineFunction("frac(x)=abs(abs(x)-int(abs(x)))"); > ucDefineFunction("test() = 5"); > ucDefineFunction("abc(x, y=10) = x + y"); > ucDefineFunction("shl[x, y] = x * 2^y"); > > cout.precision(16); > cout << ucEval("frac(150/17) * area(20,30)") << endl; > cout << ucEval("abc(5)-abc(3,4)*(#b01101 shl 1)") > << endl; > > > The python equivalent: > > exec "def area(length,width): return length*width" > exec "def frac(x): return abs(abs(x) - int(abs(x)))" > exec "def test(): return 5" > exec "def abc(x, y=10): return x + y" > exec "def shl(x, y): return x * 2^y" > > print eval("frac(150/17) * area(20,30)") > print eval("abc(5) - abc(3,4) * shl(0x0E, 1)") > > --Scott David Daniels > [EMAIL PROTECTED] > Ouch, I sure was wrong. You did such a good job making me look foolish that it was mentioned in Python-URL!. At least Larry Bates had the grace not to call me an idiot. max -- http://mail.python.org/mailman/listinfo/python-list