GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::feclearexcept(3) C++ Standard Libary std::feclearexcept(3)

std::feclearexcept - std::feclearexcept


Defined in header <cfenv>
int feclearexcept( int excepts ); (since C++11)


Attempts to clear the floating-point exceptions that are listed in the bitmask
argument excepts, which is a bitwise OR of the floating point exception macros.


excepts - bitmask listing the exception flags to clear


0 if all indicated exceptions were successfully cleared or if excepts is zero.
Returns a non-zero value on error.

// Run this code


#include <iostream>
#include <cfenv>
#include <cmath>


#pragma STDC FENV_ACCESS ON


volatile double zero = 0.0; // volatile not needed where FENV_ACCESS is supported
volatile double one = 1.0; // volatile not needed where FENV_ACCESS is supported


int main()
{
std::feclearexcept(FE_ALL_EXCEPT);
std::cout << "1.0/0.0 = " << 1.0 / zero << '\n';
if(std::fetestexcept(FE_DIVBYZERO)) {
std::cout << "division by zero reported\n";
} else {
std::cout << "divsion by zero not reported\n";
}


std::feclearexcept(FE_ALL_EXCEPT);
std::cout << "1.0/10 = " << one/10 << '\n';
if(std::fetestexcept(FE_INEXACT)) {
std::cout << "inexact result reported\n";
} else {
std::cout << "inexact result not reported\n";
}


std::feclearexcept(FE_ALL_EXCEPT);
std::cout << "sqrt(-1) = " << std::sqrt(-1) << '\n';
if(std::fetestexcept(FE_INVALID)) {
std::cout << "invalid result reported\n";
} else {
std::cout << "invalid result not reported\n";
}
}


1.0/0.0 = inf
division by zero reported
1.0/10 = 0.1
inexact result reported
sqrt(-1) = -nan
invalid result reported


fetestexcept determines which of the specified floating-point status flags are set
(C++11) (function)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.