1/* 2 * Copyright (c) 2005-2019 Rich Felker, et al. 3 * 4 * Part of MUSL, released under the MIT license. 5 */ 6 7 8#include <fenv.h> 9#include <features.h> 10 11#define hidden __attribute__((__visibility__("hidden"))) 12 13/* __fesetround wrapper for arch independent argument check */ 14 15hidden int __fesetround(int); 16 17int fesetround(int r) 18{ 19 if (r != FE_TONEAREST 20#ifdef FE_DOWNWARD 21 && r != FE_DOWNWARD 22#endif 23#ifdef FE_UPWARD 24 && r != FE_UPWARD 25#endif 26#ifdef FE_TOWARDZERO 27 && r != FE_TOWARDZERO 28#endif 29 ) 30 return -1; 31 return __fesetround(r); 32} 33