|
|
- #ifndef CORE_FPU_CTRL_H
- #define CORE_FPU_CTRL_H
-
- class FPUCtl {
- #if defined(HAVE_SSE_INTRINSICS) || (defined(__GNUC__) && defined(HAVE_SSE))
- unsigned int sse_state{};
- #endif
- bool in_mode{};
-
- public:
- FPUCtl() noexcept { enter(); in_mode = true; }
- ~FPUCtl() { if(in_mode) leave(); }
-
- FPUCtl(const FPUCtl&) = delete;
- FPUCtl& operator=(const FPUCtl&) = delete;
-
- void enter() noexcept;
- void leave() noexcept;
- };
-
- #endif /* CORE_FPU_CTRL_H */
|