| #ifndef FORTRAN_TEST_EVALUATE_FP_TESTING_H_ |
| #define FORTRAN_TEST_EVALUATE_FP_TESTING_H_ |
| #include "flang/Evaluate/common.h" |
| using Fortran::common::RoundingMode; |
| using Fortran::evaluate::RealFlags; |
| using Fortran::evaluate::Rounding; |
| class ScopedHostFloatingPointEnvironment { |
| ScopedHostFloatingPointEnvironment(bool treatSubnormalOperandsAsZero = false, |
| bool flushSubnormalResultsToZero = false); |
| ~ScopedHostFloatingPointEnvironment(); |
| static RealFlags CurrentFlags(); |
| static void SetRounding(Rounding rounding); |
| unsigned int originalMxcsr; |
| #endif // FORTRAN_TEST_EVALUATE_FP_TESTING_H_ |