Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/numeric/fenv/feenv"

From cppreference.com
< cpp‎ | numeric‎ | fenv
m (Text replace - "/sidebar" to "/navbar")
m
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{cpp/title|fegetenv|fesetenv}}
 
{{cpp/title|fegetenv|fesetenv}}
 
{{cpp/numeric/fenv/navbar}}
 
{{cpp/numeric/fenv/navbar}}
{{ddcl list begin}}
+
{{dcl begin}}
{{ddcl list header | cfenv}}
+
{{dcl header | cfenv}}
{{ddcl list item | notes={{mark since c++11}} | num=1|
+
{{dcl | since=c++11 | num=1|
 
int fegetenv( std::fenv_t* envp )
 
int fegetenv( std::fenv_t* envp )
 
}}
 
}}
{{ddcl list item | notes={{mark since c++11}} | num=2|
+
{{dcl | since=c++11 | num=2|
int fesetenv(const std::fenv_t* envp);
+
int fesetenv( const std::fenv_t* envp );
 
}}
 
}}
{{ddcl list end}}
+
{{dcl end}}
  
1) Attempts to store the status of the floating-point environment in the object pointed to by {{tt|envp}}.
+
Manages the status of the floating-point environment.
  
2) Attempts to establish the floating-point environment from the object pointed to by {{tt|envp}}. The value of that object must be previously obtained by a call to {{c|std::feholdexcept}} or {{tt|std::fegetenv}} or be a floating-point macro constant. If any of the floating-point status flags are set in {{tt|envp}}, they become set in the environment (and are then testable with {{c|std::fetestexcept}}), but the corresponding floating-point exceptions are not raised (execution continues uninterrupted)
+
@1@ Attempts to store the status of the floating-point environment in the object pointed to by {{tt|envp}}.
 +
 
 +
@2@ Attempts to establish the floating-point environment from the object pointed to by {{tt|envp}}. The value of that object must be previously obtained by a call to {{lc|std::feholdexcept}} or {{tt|std::fegetenv}} or be a floating-point macro constant. If any of the floating-point status flags are set in {{tt|envp}}, they become set in the environment (and are then testable with {{lc|std::fetestexcept}}), but the corresponding floating-point exceptions are not raised (execution continues uninterrupted)
  
 
===Parameters===
 
===Parameters===
{{param list begin}}
+
{{par begin}}
{{param list item | envp | pointer to the object of type {{c|std::fenv_t}} which holds the status of the floating-point environment}}
+
{{par | envp | pointer to the object of type {{c|std::fenv_t}} which holds the status of the floating-point environment}}
{{param list end}}
+
{{par end}}
  
 
===Return value===
 
===Return value===
Line 24: Line 26:
  
 
===See also===
 
===See also===
{{dcl list begin}}
+
{{dsc begin}}
{{dcl list template | cpp/numeric/fenv/dcl list feholdexcept}}
+
{{dsc inc | cpp/numeric/fenv/dsc feholdexcept}}
{{dcl list template | cpp/numeric/fenv/dcl list feupdateenv}}
+
{{dsc inc | cpp/numeric/fenv/dsc feupdateenv}}
{{dcl list template | cpp/numeric/fenv/dcl list FE_DFL_ENV}}
+
{{dsc inc | cpp/numeric/fenv/dsc FE_DFL_ENV}}
{{dcl list end}}
+
{{dsc see c | c/numeric/fenv/feenv | fegetenv | fesetenv}}
 +
{{dsc end}}
 +
 
 +
{{langlinks|de|es|fr|it|ja|pt|ru|zh}}

Latest revision as of 07:45, 18 September 2017

 
 
 
Floating-point environment
Functions
(C++11)(C++11)
fegetenvfesetenv
(C++11)(C++11)
Macro constants
(C++11)
 
Defined in header <cfenv>
int fegetenv( std::fenv_t* envp )
(1) (since C++11)
int fesetenv( const std::fenv_t* envp );
(2) (since C++11)

Manages the status of the floating-point environment.

1) Attempts to store the status of the floating-point environment in the object pointed to by envp.
2) Attempts to establish the floating-point environment from the object pointed to by envp. The value of that object must be previously obtained by a call to std::feholdexcept or std::fegetenv or be a floating-point macro constant. If any of the floating-point status flags are set in envp, they become set in the environment (and are then testable with std::fetestexcept), but the corresponding floating-point exceptions are not raised (execution continues uninterrupted)

[edit] Parameters

envp - pointer to the object of type std::fenv_t which holds the status of the floating-point environment

[edit] Return value

0 on success, non-zero otherwise.

[edit] See also

saves the environment, clears all status flags and ignores all future errors
(function) [edit]
restores the floating-point environment and raises the previously raised exceptions
(function) [edit]
default floating-point environment
(macro constant) [edit]
C documentation for fegetenv, fesetenv