> double and u64 (unsigned long long int) have different word orders on this platform If that is true, then probably the database files generated by SQLite do not follow [the spec][1]. The sqlite3IsNan() might be the least of your worries. Please try this experiment: * Generate a database that contains floating point values (with fractional parts - example: 4.5 not 4.0) on RISC OS. * Move the database file to another platform (Windows, Linux, or Mac). * Check to see if the floating point values are preserved. Let me know the result of the experiment. Meanwhile, the use of system isnan() has been restored by [check-in b3cfe23bec0b95ca][2]. But remember: Don't just blindly take this patch and decide "it works!" because you may well have deeper and subtler problems. [1]: https://www.sqlite.org/fileformat.html#record_format [2]: src:/info/b3cfe23bec0b95ca