2017-07-27 16:44:22 +08:00
|
|
|
/* 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
|
2017-08-21 10:30:30 +08:00
|
|
|
of the FreeBSD License. This program is distributed in the hope that
|
2017-07-27 16:44:22 +08:00
|
|
|
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
|