decimal and context objects!

MooMaster ntv1534 at gmail.com
Fri Mar 2 11:23:32 CET 2007


On Mar 2, 3:08 am, "MooMaster" <ntv1... at gmail.com> wrote:
> Hey guys, I'm trying to do some black magic voodoo and it's a little
> late, so forgive me if this question seems obvious or has been asked
> before. I tried doing a search on context objects and didn't find
> anything that popped out, and I'm too tired to keep digging.
>
> I'm making a little program that is trying to do weird and sexy things
> by fully leveraging the power of all the built-in beauty of Python. I
> was trying to play around with the new features added into Python 2.5,
> and ran into an unexpected issue...check this out:
>
> >>> moo = lambda x, y : decimal.Context(3).sqrt(decimal.Context(3).power(x,2) + decimal.Context(3).power(y,2))
> >>> moo
>
> <function <lambda> at 0x02CD0EB0>>>> row = [1,2,3,4,5]
> >>> weight_vector = .00556
> >>> moo(sum(row), weight_vector)
>
> Traceback (most recent call last):
>   File "<pyshell#5>", line 1, in <module>
>     moo(sum(row), weight_vector)
>   File "<pyshell#1>", line 1, in <lambda>
>     moo = lambda x, y :
> decimal.Context(3).sqrt(decimal.Context(3).power(x,2) +
> decimal.Context(3).power(y,2))
>   File "C:\Python25\lib\decimal.py", line 2662, in power
>     return a.__pow__(b, modulo, context=self)
> TypeError: wrapper __pow__ doesn't take keyword arguments
>
> I have no idea what keyword argument is getting passed to __pow__,
> anyone know what's going on?
>
> This should compute sqrt(5^2 + 3^2)


Oh sorry, ignore that last line, that was a copy/paste from another
example I forgot to remove...OBVIOUSLY it's going to compute something
else, that's not what I'm asking about...stupid late night hacking! XD




More information about the Python-list mailing list