From dcb6d97de14e86deee86121765ed7342d4403028 Mon Sep 17 00:00:00 2001 From: Jonathan M Davis Date: Sun, 24 Sep 2023 04:01:56 -0600 Subject: [PATCH] Add additional tests for nativeToLittleEndian. --- std/bitmanip.d | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/std/bitmanip.d b/std/bitmanip.d index 22b732cab50..0010882cece 100644 --- a/std/bitmanip.d +++ b/std/bitmanip.d @@ -3128,7 +3128,7 @@ auto nativeToLittleEndian(T)(const T val) @trusted pure nothrow @nogc if (canSwapEndianness!T) { static if (isFloatOrDouble!T) - return nativeToLittleEndian(*cast(const UnsignedOfSize!(T.sizeof)*)&val); + return nativeToLittleEndian(*cast(const UnsignedOfSize!(T.sizeof)*) &val); else { enum len = T.sizeof; @@ -3148,9 +3148,21 @@ if (canSwapEndianness!T) ubyte[4] swappedI = nativeToLittleEndian(i); assert(i == littleEndianToNative!int(swappedI)); + float f = 123.45f; + ubyte[4] swappedF = nativeToLittleEndian(f); + assert(f == littleEndianToNative!float(swappedF)); + + const float cf = 123.45f; + ubyte[4] swappedCF = nativeToLittleEndian(cf); + assert(cf == littleEndianToNative!float(swappedCF)); + double d = 123.45; ubyte[8] swappedD = nativeToLittleEndian(d); assert(d == littleEndianToNative!double(swappedD)); + + const double cd = 123.45; + ubyte[8] swappedCD = nativeToLittleEndian(cd); + assert(cd == littleEndianToNative!double(swappedCD)); } @safe unittest