summaryrefslogtreecommitdiff
path: root/static/openbsd/man3/fegetenv.3
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:54:44 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:54:44 -0400
commita9157ce950dfe2fc30795d43b9d79b9d1bffc48b (patch)
tree9df484304b560466d145e662c1c254ff0e9ae0ba /static/openbsd/man3/fegetenv.3
parent160aa82b2d39c46ad33723d7d909cb4972efbb03 (diff)
docs: Added All OpenBSD Manuals
Diffstat (limited to 'static/openbsd/man3/fegetenv.3')
-rw-r--r--static/openbsd/man3/fegetenv.3128
1 files changed, 128 insertions, 0 deletions
diff --git a/static/openbsd/man3/fegetenv.3 b/static/openbsd/man3/fegetenv.3
new file mode 100644
index 00000000..816f270b
--- /dev/null
+++ b/static/openbsd/man3/fegetenv.3
@@ -0,0 +1,128 @@
+.\" $OpenBSD: fegetenv.3,v 1.5 2025/06/07 10:33:06 schwarze Exp $
+.\"
+.\" Copyright (c) 2011 Martynas Venckus <martynas@openbsd.org>
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.Dd $Mdocdate: June 7 2025 $
+.Dt FEGETENV 3
+.Os
+.Sh NAME
+.Nm fegetenv ,
+.Nm feholdexcept ,
+.Nm fesetenv ,
+.Nm feupdateenv
+.Nd manage floating-point environment
+.Sh SYNOPSIS
+.Lb libm
+.In fenv.h
+.Ft int
+.Fn fegetenv "fenv_t *envp"
+.Ft int
+.Fn feholdexcept "fenv_t *envp"
+.Ft int
+.Fn fesetenv "const fenv_t *envp"
+.Ft int
+.Fn feupdateenv "const fenv_t *envp"
+.Sh DESCRIPTION
+These functions manage the floating-point environment \(em status
+flags, rounding direction modes and exception masks \(em as one entity.
+The
+.Fa envp
+input argument is an object representing the floating-point environment.
+The macro
+.Dv FE_DFL_ENV
+represents the default floating-point environment \(em the one installed
+at program startup.
+.Pp
+The
+.Fn fegetenv
+function stores the current floating-point environment in the object
+pointed to by
+.Pa envp .
+.Pp
+The
+.Fn feholdexcept
+function saves the current floating-point environment in the object
+pointed to by
+.Pa envp ,
+clears the floating-point status flags, and then installs a non-stop
+(continue on floating-point exceptions) mode for all floating-point
+exceptions.
+.Pp
+The
+.Fn fesetenv
+function establishes the floating-point environment represented by
+the object pointed to by
+.Pa envp .
+The argument
+.Pa envp
+shall point to an object set by a call to
+.Fn fegetenv
+or
+.Fn feholdexcept ,
+or equal the macro
+.Dv FE_DFL_ENV .
+Note that
+.Fn fesetenv
+merely installs the state of the floating-point status flags
+represented through its argument, and does not raise these
+floating-point exceptions.
+.Pp
+The
+.Fn feupdateenv
+function saves the currently raised floating-point exceptions in
+its automatic storage, installs the floating-point environment
+represented by the object pointed to by
+.Pa envp ,
+and then raises the saved floating-point exceptions.
+The argument
+.Pa envp
+shall point to an object set by a call to
+.Fn feholdexcept
+or
+.Fn fegetenv ,
+or equal the macro
+.Dv FE_DFL_ENV .
+.Sh RETURN VALUES
+The
+.Fn fegetenv ,
+.Fn feholdexcept ,
+.Fn fesetenv ,
+and
+.Fn feupdateenv
+functions return zero on success, and non-zero if an error occurred.
+.Sh SEE ALSO
+.Xr feclearexcept 3 ,
+.Xr feenableexcept 3 ,
+.Xr fegetround 3
+.Sh STANDARDS
+The
+.Fn fegetenv ,
+.Fn feholdexcept ,
+.Fn fesetenv ,
+and
+.Fn feupdateenv
+functions conform to
+.St -isoC-99 .
+.Pp
+The return types for
+.Fn fegetenv ,
+.Fn fesetenv ,
+and
+.Fn feupdateenv
+are
+.Vt int
+for alignment with
+.St -isoC-99
+Defect Report #202.