@@ -273,6 +273,38 @@ public void TestCompareToBinary() {
273273 }
274274 }
275275
276+ @ Test
277+ public void TestFromSingleBitsNaN () {
278+ int bits = ((int )0xffc00000 );
279+ Assert .assertEquals (bits , EDecimal .FromSingleBits (bits ).ToSingleBits ());
280+ bits = 0x7fc00000 ;
281+ Assert .assertEquals (bits , EDecimal .FromSingleBits (bits ).ToSingleBits ());
282+ bits = ((int )0xffc00000 );
283+ Assert .assertEquals (bits , EFloat .FromSingleBits (bits ).ToSingleBits ());
284+ bits = 0x7fc00000 ;
285+ Assert .assertEquals (bits , EFloat .FromSingleBits (bits ).ToSingleBits ());
286+ bits = ((int )0xffc00000 );
287+ Assert .assertEquals (bits , ERational .FromSingleBits (bits ).ToSingleBits ());
288+ bits = 0x7fc00000 ;
289+ Assert .assertEquals (bits , ERational .FromSingleBits (bits ).ToSingleBits ());
290+ }
291+
292+ @ Test
293+ public void TestFromDoubleBitsNaN () {
294+ long lbits = ((long )0xfff8000000000000 );
295+ Assert .assertEquals (lbits , EDecimal .FromDoubleBits (lbits ).ToDoubleBits ());
296+ lbits = 0x7ff8000000000000L ;
297+ Assert .assertEquals (lbits , EDecimal .FromDoubleBits (lbits ).ToDoubleBits ());
298+ lbits = ((long )0xfff8000000000000 );
299+ Assert .assertEquals (lbits , EFloat .FromDoubleBits (lbits ).ToDoubleBits ());
300+ lbits = 0x7ff8000000000000L ;
301+ Assert .assertEquals (lbits , EFloat .FromDoubleBits (lbits ).ToDoubleBits ());
302+ lbits = ((long )0xfff8000000000000 );
303+ Assert .assertEquals (lbits , ERational .FromDoubleBits (lbits ).ToDoubleBits ());
304+ lbits = 0x7ff8000000000000L ;
305+ Assert .assertEquals (lbits , ERational .FromDoubleBits (lbits ).ToDoubleBits ());
306+ }
307+
276308 @ Test
277309 public void TestCompareToBinarySpecific1A () {
278310 EFloat ef ;
0 commit comments