14:27 < cwitty_> I've been watching your 480 lectures on Google Video.
14:28 < cwitty_> A couple of comments:
14:28 < wstein> ut oh :-)
14:28 < cwitty_> 1) You could emphasize that floating-point numbers are actually rationals by evaluating
14:28 < cwitty_> RR(pi).exact_rational()
14:29 < wstein> Thanks -- I'll do that in the book version.
14:29 < cwitty_> 2) MPFI would be a lot more than 10x slower than Cython arithmetic with "cdef double"
14:30 < wstein> I do discuss and demo that during the next lecture.
14:30 < wstein> The key thing is to do the bencmark using a cython loop.
14:30 < wstein> Etc.
14:30 < cwitty_> You had a Cython loop, but you didn't have any type declarations in it, right?
14:30 < wstein> In the book I'll be sure to mention that right off.
14:31 < cwitty_> So each arithmetic operation was still allocating a new Python float/RDF/etc. object.
14:31 < wstein> Is this the lecture that starts with cython loops and benchmarks of everything?
14:31 < wstein> cwitty_ -- yes, you're right.
14:31 < cwitty_> Yes.
14:31 < wstein> I should emphasize has fast getting rid of python objects is.
14:32 < cwitty_> The .nextabove() and .nextbelow() methods on RR elements are also useful for understanding the structure of RR.
14:33 < cwitty_> (You can enumerate all the elements of RealField(3) between 1 and 8, for instance.)
14:33 < wstein> Oh, that's frickin awesome!
14:33 < wstein> I didn't know about that.
14:33 < wstein> Very very cool.
14:34 < cwitty_> Sorry I didn't manage to come up with these suggestions before the lectures :)
14:41 < wstein> :-)
14:43 < cwitty_> sage: a = RealField(3)(1); a
14:43 < cwitty_> 1.0
14:43 < cwitty_> sage: a.nextabove().exact_rational()
14:43 < cwitty_> 5/4
14:43 < cwitty_> sage: a.nextbelow().exact_rational()
14:43 < cwitty_> 7/8
14:44 < cwitty_> sage: RealIntervalField(3)(pi)
14:44 < cwitty_> [3.0 .. 3.5]
14:48 < kedlaya> now applying: dmharvey's patch for #2943
14:48 < cwitty_> sage: sum([a == ZZ(RR(a)) for a in [ZZ.random_element(2^53) for i in range(1000)]])
14:48 < cwitty_> 1000
14:48 < cwitty_> sage: sum([a == ZZ(RR(a)) for a in [ZZ.random_element(2^54) for i in range(1000)]])
14:48 < cwitty_> 764
14:51 < mabshoff> we should make the book a default part of Sage and also doctest its Sage code :)
