FPCR.cs 479 B

12345678910111213141516171819202122232425
  1. using System;
  2. namespace ARMeilleure.State
  3. {
  4. [Flags]
  5. public enum FPCR : uint
  6. {
  7. Ufe = 1u << 11,
  8. Fz = 1u << 24,
  9. Dn = 1u << 25,
  10. Ahp = 1u << 26,
  11. A32Mask = 0x07FF9F00u
  12. }
  13. public static class FPCRExtensions
  14. {
  15. private const int RModeShift = 22;
  16. public static FPRoundingMode GetRoundingMode(this FPCR fpcr)
  17. {
  18. return (FPRoundingMode)(((int)fpcr >> RModeShift) & 3);
  19. }
  20. }
  21. }