// ArduinoJson - https://arduinojson.org // Copyright © 2014-2024, Benoit BLANCHON // MIT License #include #include using namespace ArduinoJson::detail; template static void check(const char* input, T expected) { T actual; uint8_t* f = reinterpret_cast(&actual); const uint8_t* d = reinterpret_cast(input); doubleToFloat(d, f); fixEndianess(actual); CHECK(actual == expected); } TEST_CASE("doubleToFloat()") { check("\x40\x09\x21\xCA\xC0\x83\x12\x6F", 3.1415f); check("\x00\x00\x00\x00\x00\x00\x00\x00", 0.0f); check("\x80\x00\x00\x00\x00\x00\x00\x00", -0.0f); check("\xC0\x5E\xDC\xCC\xCC\xCC\xCC\xCD", -123.45f); }