1130146Sdas/*- 2130146Sdas * Copyright (c) 2004 David Schultz <das@FreeBSD.ORG> 3130146Sdas * All rights reserved. 4130146Sdas * 5130146Sdas * Redistribution and use in source and binary forms, with or without 6130146Sdas * modification, are permitted provided that the following conditions 7130146Sdas * are met: 8130146Sdas * 1. Redistributions of source code must retain the above copyright 9130146Sdas * notice, this list of conditions and the following disclaimer. 10130146Sdas * 2. Redistributions in binary form must reproduce the above copyright 11130146Sdas * notice, this list of conditions and the following disclaimer in the 12130146Sdas * documentation and/or other materials provided with the distribution. 13130146Sdas * 14130146Sdas * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15130146Sdas * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16130146Sdas * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17130146Sdas * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18130146Sdas * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19130146Sdas * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20130146Sdas * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21130146Sdas * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22130146Sdas * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23130146Sdas * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24130146Sdas * SUCH DAMAGE. 25130146Sdas * 26130146Sdas * $FreeBSD: releng/10.2/lib/msun/powerpc/fenv.c 226415 2011-10-16 05:37:56Z das $ 27130146Sdas */ 28130146Sdas 29226218Sdas#define __fenv_static 30226415Sdas#include "fenv.h" 31130146Sdas 32226218Sdas#ifdef __GNUC_GNU_INLINE__ 33226218Sdas#error "This file must be compiled with C99 'inline' semantics" 34226218Sdas#endif 35226218Sdas 36130146Sdasconst fenv_t __fe_dfl_env = 0x00000000; 37226218Sdas 38226218Sdasextern inline int feclearexcept(int __excepts); 39226218Sdasextern inline int fegetexceptflag(fexcept_t *__flagp, int __excepts); 40226218Sdasextern inline int fesetexceptflag(const fexcept_t *__flagp, int __excepts); 41226218Sdasextern inline int feraiseexcept(int __excepts); 42226218Sdasextern inline int fetestexcept(int __excepts); 43226218Sdasextern inline int fegetround(void); 44226218Sdasextern inline int fesetround(int __round); 45226218Sdasextern inline int fegetenv(fenv_t *__envp); 46226218Sdasextern inline int feholdexcept(fenv_t *__envp); 47226218Sdasextern inline int fesetenv(const fenv_t *__envp); 48226218Sdasextern inline int feupdateenv(const fenv_t *__envp); 49