forked from KolibriOS/kolibrios
set default newlib dir's structure
git-svn-id: svn://kolibrios.org@4874 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
59
contrib/sdk/sources/newlib/libc/math/s_signbit.c
Normal file
59
contrib/sdk/sources/newlib/libc/math/s_signbit.c
Normal file
@@ -0,0 +1,59 @@
|
||||
/* 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.
|
||||
*/
|
||||
/*
|
||||
FUNCTION
|
||||
<<signbit>>--Does floating-point number have negative sign?
|
||||
|
||||
INDEX
|
||||
signbit
|
||||
|
||||
ANSI_SYNOPSIS
|
||||
#include <math.h>
|
||||
int signbit(real-floating <[x]>);
|
||||
|
||||
DESCRIPTION
|
||||
The <<signbit>> macro determines whether the sign of its argument value is
|
||||
negative. The macro reports the sign of all values, including infinities,
|
||||
zeros, and NaNs. If zero is unsigned, it is treated as positive. As shown in
|
||||
the synopsis, the argument is "real-floating," meaning that any of the real
|
||||
floating-point types (float, double, etc.) may be given to it.
|
||||
|
||||
Note that because of the possibilities of signed 0 and NaNs, the expression
|
||||
"<[x]> < 0.0" does not give the same result as <<signbit>> in all cases.
|
||||
|
||||
RETURNS
|
||||
The <<signbit>> macro returns a nonzero value if and only if the sign of its
|
||||
argument value is negative.
|
||||
|
||||
PORTABILITY
|
||||
C99, POSIX.
|
||||
|
||||
*/
|
||||
|
||||
#include "fdlibm.h"
|
||||
|
||||
int __signbitf (float x);
|
||||
int __signbitd (double x);
|
||||
|
||||
int
|
||||
__signbitf (float x)
|
||||
{
|
||||
unsigned int w;
|
||||
|
||||
GET_FLOAT_WORD(w,x);
|
||||
|
||||
return (w & 0x80000000);
|
||||
}
|
||||
|
||||
int
|
||||
__signbitd (double x)
|
||||
{
|
||||
unsigned int msw;
|
||||
|
||||
GET_HIGH_WORD(msw, x);
|
||||
|
||||
return (msw & 0x80000000);
|
||||
}
|
Reference in New Issue
Block a user