|
- /* Copyright (c) 2017 SiFive Inc. All rights reserved.
-
- This copyrighted material is made available to anyone wishing to use,
- modify, copy, or redistribute it subject to the terms and conditions
- of the FreeBSD License. This program is distributed in the hope that
- it will be useful, but WITHOUT ANY WARRANTY expressed or implied,
- including the implied warranties of MERCHANTABILITY or FITNESS FOR
- A PARTICULAR PURPOSE. A copy of this license is available at
- http://www.opensource.org/licenses.
- */
-
- #ifndef _FENV_H
- #define _FENV_H
-
- #include <sys/fenv.h>
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- /* Exception */
- int feclearexcept(int excepts);
- int fegetexceptflag(fexcept_t *flagp, int excepts);
- int feraiseexcept(int excepts);
- int fesetexceptflag(const fexcept_t *flagp, int excepts);
- int fetestexcept(int excepts);
-
- /* Rounding mode */
- int fegetround(void);
- int fesetround(int rounding_mode);
-
- /* Float environment */
- int fegetenv(fenv_t *envp);
- int feholdexcept(fenv_t *envp);
- int fesetenv(const fenv_t *envp);
- int feupdateenv(const fenv_t *envp);
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif
|