decimal and context objects!

M

MooMaster

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
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)
 
M

MooMaster

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:


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
 
P

Peter Otten

MooMaster said:
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
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?

Weird implementation hacks distorting error messages :)
Context.power() expects a Decimal instance as its first argument:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.5/decimal.py", line 2662, in power
return a.__pow__(b, modulo, context=self)
TypeError: wrapper __pow__ doesn't take keyword argumentsDecimal("100")

Peter
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,968
Messages
2,570,149
Members
46,695
Latest member
StanleyDri

Latest Threads

Top