Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Python (http://www.velocityreviews.com/forums/f43-python.html)
-   -   implicit conversion (http://www.velocityreviews.com/forums/t340967-implicit-conversion.html)

Benjamin Schmeling 01-31-2005 01:01 PM

implicit conversion
 
Hi,

I am working on exposing a bigint class to python. Now I've got the
problem that methods which take an bigint as
an parameter do not accept Python longs.

For example:
import _PythonLiDIA
x=123L;
c=_PythonLiDIA.bigint();
_PythonLiDIA.gcd(c,x);


Traceback (most recent call last):
File "test.py", line 132, in ?
_PythonLiDIA.gcd(a,x);
Boost.Python.ArgumentError: Python argument types in
_PythonLiDIA.gcd(bigint, long)
did not match C++ signature:
gcd(LiDIA::bigint, LiDIA::bigint)

I don't know how to achieve implicit conversion at this point, turning an
long automatically into an bigint. The other way round, turning an bigint
into long can be realized by defining __long__.

Can someone help me please?

Benjamin



Alex Martelli 01-31-2005 01:16 PM

Re: implicit conversion
 
Benjamin Schmeling <Benjamin_Schmeling@gmx.de> wrote:
...
> I don't know how to achieve implicit conversion at this point, turning an
> long automatically into an bigint. The other way round, turning an bigint
> into long can be realized by defining __long__.


Perhaps adding to your bigint class a constructor (not declared as
``explicit'', if you're coding C++) which accepts as its argument a
python long might help...?


Alex


All times are GMT. The time now is 06:52 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.