I noticed that this has been fixed now ( https://www.sqlite.org/src/info/db9acef14d492121). Thanks!
Best, Manuel On Fri, May 10, 2019 at 12:09 PM Manuel Rigger <rigger.man...@gmail.com> wrote: > Hi everyone, > > I was surprised by how the ROUND function handles "Inf" REAL values. > > A REAL infinity value can be created by using an overly-large number: > > SELECT 1e5000; -- Inf > > When casting infinity to an integer value, the largest integer is > returned, which seems intuitive to me: > > SELECT CAST(1e5000 AS INT); -- 9223372036854775807 (2^63 - 1) > > However, the ROUND function always converts Inf to zero, which is somehow > surprising, since a >= b does not imply ROUND(a) >= ROUND(b) (which > contrasts the behavior of a cast): > > SELECT 1e500 >= 1, CAST(1e500 AS INT) >= CAST(1 AS INT), ROUND(1e500) >= > ROUND(1); -- 1|1|0 > > Is this deliberate? Would it make sense to let ROUND(Inf) = Inf (and > ROUND(-Inf) = -Inf))? > > Best, > Manuel > > > > > > _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users