Hi everyone, first time sage user here. I am puzzled by the behavior of round():
sage: t=sqrt(4320373582484102551677386613153502) sage: floor(t) 65729548777426599 sage: round(t) #everything as expected, floor ≤ round ≤ ceil 65729548777426600 sage: ceil(t) 65729548777426600 sage: u = sqrt(43203735824841025516773866131535024) #add one digit sage: floor(u) 207855083711803944 sage: round(u) # ?? smaller than floor(u)! No warning message... 207855083711803936 sage: r = round(u) sage: ceil(u) 207855083711803945 sage: type(r) # seems to have still the same precision...? (i.e., it wasn’t converted to some "float type" – I admit of course that I don't know how the sage type system works) <type 'sage.rings.integer.Integer'> sage: version() 'Sage Version 4.8, Release Date: 2012-01-20' uname -a Darwin iMac.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386 Can someone explain this behavior? If this isn’t a bug, it is a very unintuitive "feature" for sage-neophytes, to say the least. Thank you very much! -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
