[IronPython] Pickle bug

Michael Foord fuzzyman at voidspace.org.uk
Thu Sep 4 16:33:10 CEST 2008


Pickle on IronPython doesn't preserve sufficient information to unpickle 
floats accurately:

CPython:
 >>> a = 1 /3.0
 >>> import cPickle as pickle
 >>> pickle.loads(pickle.dumps(a)) == a

IronPython:
 >>> import cPickle as pickle
 >>> a = 1 /3.0
 >>> pickle.loads(pickle.dumps(a)) == a
False

This is actually causing us numerical errors in Resolver One. CPython is 
actually very careful about its string representation of floats so that 
this is possible.

Michael

-- 
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/
http://www.trypython.org/
http://www.ironpython.info/
http://www.resolverhacks.net/
http://www.theotherdelia.co.uk/




More information about the Ironpython-users mailing list