ftz 0.0.1
Fast, reproducible floating-point arithmetic
Loading...
Searching...
No Matches
ftz::native_fp32_scope Struct Referenceexport

Borrows the calling thread with RNE, masked exceptions and selected denormal controls. Saves and restores complete control/status state. The object and its nested external scopes must be destroyed on their constructing thread. It cannot be copied or moved. Construction throws on invalid/unavailable controls when exceptions are enabled; otherwise it terminates. Destruction is noexcept. More...

Classes

struct  external_scope
 Temporarily restores the enclosing region's caller environment for external code. Saves the current numerical state and reinstates it on return or unwind. The enclosing region must outlive this guard; both guards belong to the same thread. More...

Public Member Functions

 native_fp32_scope (native_fp32_mode mode)
 Saves the current thread state and establishes the requested numerical region.
 ~native_fp32_scope () noexcept
 Restores the complete saved state on the constructing thread.
 native_fp32_scope (native_fp32_scope const &)=delete
 Disallows transfer of a guard whose restoration belongs to its constructing thread.
native_fp32_scope & operator= (native_fp32_scope const &)=delete
 Disallows transfer of a guard whose restoration belongs to its constructing thread.
 native_fp32_scope (native_fp32_scope &&)=delete
 Disallows transfer of a guard whose restoration belongs to its constructing thread.
native_fp32_scope & operator= (native_fp32_scope &&)=delete
 Disallows transfer of a guard whose restoration belongs to its constructing thread.
native_fp_state previous () const noexcept
 Returns the state captured before this numerical region.
native_fp_state requested () const noexcept
 Returns the controls and initially clear status requested by construction.
bool controls_match () const noexcept
 Checks thread identity and controls; accrued exception status does not cause failure.

Detailed Description

Borrows the calling thread with RNE, masked exceptions and selected denormal controls. Saves and restores complete control/status state. The object and its nested external scopes must be destroyed on their constructing thread. It cannot be copied or moved. Construction throws on invalid/unavailable controls when exceptions are enabled; otherwise it terminates. Destruction is noexcept.

Definition at line 61 of file ftz.controls.ccm.


The documentation for this struct was generated from the following file: