@@ -350,10 +350,23 @@ public void testBitsEncoder() {
350350 Assert .assertEquals (Bits .ofString ("01000001100011010000000000000000" ), Bits .Encoder .encodeFloatValue (17.625f ));
351351 Assert .assertEquals (Bits .ofString ("01000000110000000000000000000000" ), Bits .Encoder .encodeFloatValue (6.0f ));
352352 Assert .assertEquals (Bits .ofString ("00000000000000000000000000000000" ), Bits .Encoder .encodeFloatValue (0.0f ));
353+ Assert .assertEquals (Bits .ofString ("10111111011111111111100101110010" ), Bits .Encoder .encodeFloatValue (-0.9999f ));
353354
354355 Assert .assertEquals (Bits .ofString ("0100000000000010000000000000000000000000000000000000000000000000" ), Bits .Encoder .encodeDoubleValue (2.25 ));
355356 Assert .assertEquals (Bits .ofString ("0011111111010110110010001011010000111001010110000001000001100010" ), Bits .Encoder .encodeDoubleValue (0.356 ));
356357 Assert .assertEquals (Bits .ofString ("0100000000101001100100111111011111001110110110010001011010000111" ), Bits .Encoder .encodeDoubleValue (12.789 ));
357358 Assert .assertEquals (Bits .ofString ("1100000000101001100100111111011111001110110110010001011010000111" ), Bits .Encoder .encodeDoubleValue (-12.789 ));
359+ Assert .assertEquals (Bits .ofString ("1100000011000101101100111010101010101010101010101010101010101011" ), Bits .Encoder .encodeDoubleValue (-11111.3333333333333333 ));
360+
361+ Assert .assertEquals (0.625f , Bits .Decoder .decodeFloatValue (Bits .ofString ("00111111001000000000000000000000" )), 0 );
362+ Assert .assertEquals (0.0f , Bits .Decoder .decodeFloatValue (Bits .ofString ("00000000000000000000000000000000" )), 0 );
363+ Assert .assertEquals (0.4f , Bits .Decoder .decodeFloatValue (Bits .ofString ("00111110110011001100110011001101" )), 0 );
364+ Assert .assertEquals (-0.9999f , Bits .Decoder .decodeFloatValue (Bits .ofString ("10111111011111111111100101110010" )), 0 );
365+
366+ Assert .assertEquals (2.25 , Bits .Decoder .decodeDoubleValue (Bits .ofString ("0100000000000010000000000000000000000000000000000000000000000000" )), 0 );
367+ Assert .assertEquals (0.356 , Bits .Decoder .decodeDoubleValue (Bits .ofString ("0011111111010110110010001011010000111001010110000001000001100010" )), 0 );
368+ Assert .assertEquals (12.789 , Bits .Decoder .decodeDoubleValue (Bits .ofString ("0100000000101001100100111111011111001110110110010001011010000111" )), 0 );
369+ Assert .assertEquals (-12.789 , Bits .Decoder .decodeDoubleValue (Bits .ofString ("1100000000101001100100111111011111001110110110010001011010000111" )), 0 );
370+ Assert .assertEquals (-11111.3333333333333333 , Bits .Decoder .decodeDoubleValue (Bits .ofString ("1100000011000101101100111010101010101010101010101010101010101011" )), 0 );
358371 }
359372}
0 commit comments