mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-15 11:00:04 +08:00
976e9d281b
* libc/include/ieeefp.h: use prefixed __ieeefp_ macros that can be overridden via machine/ieeefp.h. * libc/include/machine/ieeefp.h: Add SPU specific C99 and ieeefp macros for isnan and related macros. * libc/include/math.h: Allow C99 isfinite, isinf, and isnan to be overridden via machine/ieeefp.h. * libm/machine/spu/Makefile.am: Add new files. * libm/machine/spu/Makefile.in: Autogenerate with new files. * libm/machine/spu/sf_fpclassify.c: Add SPU specific __fpclassifyf. * libm/machine/spu/sf_finite.c: Add SPU specific finitef. * libm/machine/spu/sf_isinf.c: Add SPU specific isinff. * libm/machine/spu/sf_isinff.c: Add SPU specific __isinff. * libm/machine/spu/sf_isnan.c: Add SPU specific isnanf. * libm/machine/spu/sf_isnanf.c: Add SPU specific __isnanf. * libm/machine/spu/sf_nan.c: Add SPU specific nanf.
25 lines
575 B
C
25 lines
575 B
C
/* Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved.
|
|
*
|
|
* Permission to use, copy, modify, and distribute this software
|
|
* is freely granted, provided that this notice is preserved.
|
|
*/
|
|
|
|
#include "fdlibm.h"
|
|
|
|
/*
|
|
* On the SPU, single precision floating point returns only FP_NORMAL and
|
|
* FP_ZERO, since FP_NAN, FP_INFINITE, and FP_SUBNORMAL are not
|
|
* supported, base on the common f_fpclassify.c.
|
|
*/
|
|
int
|
|
__fpclassifyf (float x)
|
|
{
|
|
__uint32_t w;
|
|
|
|
GET_FLOAT_WORD(w,x);
|
|
|
|
if (w == 0x00000000 || w == 0x80000000)
|
|
return FP_ZERO;
|
|
return FP_NORMAL;
|
|
}
|