#include "FloatingPointControl.h"
Definition at line 51 of file FloatingPointControl.h.
Definition at line 29 of file FloatingPointControl.cc.
References enableDivByZeroEx_, enableInvalidEx_, enableOverFlowEx_, enableUnderFlowEx_, art::fp_detail::getFPControl(), OSdefault_, postEndJob(), reportSettings_, art::fp_detail::setFPControl(), and setPrecisionDouble_.
49 unsigned short int enable_except{};
50 unsigned short int enable_sse{};
52 enable_except |= FE_DIVBYZERO;
53 enable_sse |= fpControl_ZM_MASK;
56 enable_except |= FE_INVALID;
57 enable_sse |= fpControl_IM_MASK;
60 enable_except |= FE_OVERFLOW;
61 enable_sse |= fpControl_OM_MASK;
64 enable_except |= FE_UNDERFLOW;
65 enable_sse |= fpControl_UM_MASK;
69 fpControl.fpcw = (fpControl.fpcw | FE_ALL_EXCEPT) & (~enable_except);
73 (fpControl.fpcw & (~fpControl_ALL_PREC)) | fpControl_DOUBLE_PREC;
75 #ifdef fpControl_HAVE_MXCSR 78 (fpControl.mxcsr | fpControl_ALL_SSE_EXCEPT) & (~enable_sse);
85 <<
"\nUpdated FP settings per user's configuration";
MaybeLogger_< ELseverityLevel::ELsev_info, true > LogVerbatim
fp_detail::fp_control_t OSdefault_
fp_control_t getFPControl()
fp_control_t setFPControl(fp_control_t const &fpControl)
auto art::FloatingPointControl::getMask |
( |
| ) |
const |
auto art::FloatingPointControl::getPrecision |
( |
| ) |
const |
void art::FloatingPointControl::postEndJob |
( |
| ) |
|
|
private |
bool art::FloatingPointControl::enableDivByZeroEx_ |
|
private |
bool art::FloatingPointControl::enableInvalidEx_ |
|
private |
bool art::FloatingPointControl::enableOverFlowEx_ |
|
private |
bool art::FloatingPointControl::enableUnderFlowEx_ |
|
private |
bool art::FloatingPointControl::reportSettings_ |
|
private |
bool art::FloatingPointControl::setPrecisionDouble_ |
|
private |
The documentation for this class was generated from the following files: