private void ManageFpSkips(FpSkips fpSkips) { if (fpSkips.HasFlag(FpSkips.IfNaNS)) { if (float.IsNaN(VectorExtractSingle(_unicornEmu.Q[0], (byte)0))) { Assert.Ignore("NaN test."); } } else if (fpSkips.HasFlag(FpSkips.IfNaND)) { if (double.IsNaN(VectorExtractDouble(_unicornEmu.Q[0], (byte)0))) { Assert.Ignore("NaN test."); } } if (fpSkips.HasFlag(FpSkips.IfUnderflow)) { if ((_unicornEmu.Fpsr & (int)Fpsr.Ufc) != 0) { Assert.Ignore("Underflow test."); } } if (fpSkips.HasFlag(FpSkips.IfOverflow)) { if ((_unicornEmu.Fpsr & (int)Fpsr.Ofc) != 0) { Assert.Ignore("Overflow test."); } } }
private void ManageFpSkips(FpSkips fpSkips) { if (fpSkips.HasFlag(FpSkips.IfNaNS)) { if (float.IsNaN(_unicornEmu.Q[0].AsFloat())) { Assert.Ignore("NaN test."); } } else if (fpSkips.HasFlag(FpSkips.IfNaND)) { if (double.IsNaN(_unicornEmu.Q[0].AsDouble())) { Assert.Ignore("NaN test."); } } if (fpSkips.HasFlag(FpSkips.IfUnderflow)) { if ((_unicornEmu.Fpsr & (int)Fpsr.Ufc) != 0) { Assert.Ignore("Underflow test."); } } if (fpSkips.HasFlag(FpSkips.IfOverflow)) { if ((_unicornEmu.Fpsr & (int)Fpsr.Ofc) != 0) { Assert.Ignore("Overflow test."); } } }
private void ManageFpSkips(FpSkips FpSkips) { if (FpSkips.HasFlag(FpSkips.IfNaN_S)) { if (float.IsNaN(VectorExtractSingle(UnicornEmu.Q[0], (byte)0))) { Assert.Ignore("NaN test."); } } else if (FpSkips.HasFlag(FpSkips.IfNaN_D)) { if (double.IsNaN(VectorExtractDouble(UnicornEmu.Q[0], (byte)0))) { Assert.Ignore("NaN test."); } } if (FpSkips.HasFlag(FpSkips.IfUnderflow)) { if ((UnicornEmu.Fpsr & (int)FPSR.UFC) != 0) { Assert.Ignore("Underflow test."); } } if (FpSkips.HasFlag(FpSkips.IfOverflow)) { if ((UnicornEmu.Fpsr & (int)FPSR.OFC) != 0) { Assert.Ignore("Overflow test."); } } }