VISR  0.11.1
Versatile Interactive Scene Renderer
denormalised_number_handling.hpp
Go to the documentation of this file.
1 /* Copyright Institute of Sound and Vibration Research - All rights reserved */
2 
3 #ifndef VISR_LIBEFL_DENORMALISED_NUMBER_HANDLING_HPP_INCLUDED
4 #define VISR_LIBEFL_DENORMALISED_NUMBER_HANDLING_HPP_INCLUDED
5 
7 
8 #include "export_symbols.hpp"
9 
10 #include <cstdint>
11 #include <ciso646>
12 
13 namespace visr
14 {
15 namespace efl
16 {
17 
28 struct VISR_EFL_LIBRARY_SYMBOL DenormalisedNumbers
29 {
34  struct State
35  {
37  : flushToZero( false ), denormalsAreZero( false )
38  {
39  }
40 
41  explicit State( bool pFlushToZero, bool pDenormsAreZero )
42  : flushToZero( pFlushToZero ), denormalsAreZero( pDenormsAreZero )
43  {
44  }
45 
50 
54  };
55 
61  static State setDenormHandling( );
62 
67  static void resetDenormHandling( State stateToRestore );
68 
76  static State setDenormHandling( State newState );
77 };
78 
79 } // namespace efl
80 } // namespace visr
81 
82 #endif // #ifndef VISR_LIBEFL_DENORMALISED_NUMBER_HANDLING_HPP_INCLUDED
State(bool pFlushToZero, bool pDenormsAreZero)
Definition: denormalised_number_handling.hpp:41
bool flushToZero
Definition: denormalised_number_handling.hpp:49
Definition: denormalised_number_handling.hpp:28
Definition: options.cpp:10
Definition: denormalised_number_handling.hpp:34
State()
Definition: denormalised_number_handling.hpp:36
bool denormalsAreZero
Definition: denormalised_number_handling.hpp:53