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/

_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to