On 10/17/2016 08:29 AM, Quan Yong Zhai wrote:
"The database file format is cross-platform - you can freely copy a database 
between 32-bit and 64-bit systems or between big-endian and little-endian 

"In your machine, implementation, and SQLite installation the
two value representations may be identical, while in others it may not be."

Does it mean the promise about cross-platform is broken?

A fair question, but no. Not as I see it, at least.

The statement - which you called a promise - still holds. It will work by just copying the data between 32-bit and 64-bit or BE and LE architecture.

The fact that two different implementations approximate a rational number differently does not violate that. See that fabs(a - b) > ε for some ε relatively close to zero and even if the value of fabs(a - b) may differ on these machines, the number is still a correct approximation for the rational in question. For instance, if it became a large negative number instead, it would be a portability problem, but this is a mere characteristic of a how floating point arithmetic works.

This is different from integer arithmetic, which is exact and should behave the same way on all systems, according to that statement.

Bernardo Sulzbach
sqlite-users mailing list

Reply via email to