127.0.0.1:7501> eval "return {1,2,9223372036854775807}" 0
1) (integer) 1
2) (integer) 2
3) (integer) -9223372036854775808
Please help this weird behaviour. I knew that lua can only represent large number beyond 10^15 , by losing some precision. I would have expected a return value as "9.2233720368548e+18" but not a negative number.
Also fyi
127.0.0.1:7501> eval "return {1,2,tostring(9223372036854775807)}" 0
1) (integer) 1
2) (integer) 2
3) "9.2233720368548e+18"
127.0.0.1:7501> eval "return {1,2,tonumber(9223372036854775807)}" 0
1) (integer) 1
2) (integer) 2
3) (integer) -9223372036854775808