forked from KolibriOS/kolibrios
upload sdk
git-svn-id: svn://kolibrios.org@4349 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
73
contrib/sdk/sources/newlib/math/s_fabs.c
Normal file
73
contrib/sdk/sources/newlib/math/s_fabs.c
Normal file
@@ -0,0 +1,73 @@
|
||||
|
||||
/* @(#)s_fabs.c 5.1 93/09/24 */
|
||||
/*
|
||||
* ====================================================
|
||||
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
|
||||
*
|
||||
* Developed at SunPro, a Sun Microsystems, Inc. business.
|
||||
* Permission to use, copy, modify, and distribute this
|
||||
* software is freely granted, provided that this notice
|
||||
* is preserved.
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
/*
|
||||
FUNCTION
|
||||
<<fabs>>, <<fabsf>>---absolute value (magnitude)
|
||||
INDEX
|
||||
fabs
|
||||
INDEX
|
||||
fabsf
|
||||
|
||||
ANSI_SYNOPSIS
|
||||
#include <math.h>
|
||||
double fabs(double <[x]>);
|
||||
float fabsf(float <[x]>);
|
||||
|
||||
TRAD_SYNOPSIS
|
||||
#include <math.h>
|
||||
double fabs(<[x]>)
|
||||
double <[x]>;
|
||||
|
||||
float fabsf(<[x]>)
|
||||
float <[x]>;
|
||||
|
||||
DESCRIPTION
|
||||
<<fabs>> and <<fabsf>> calculate
|
||||
@tex
|
||||
$|x|$,
|
||||
@end tex
|
||||
the absolute value (magnitude) of the argument <[x]>, by direct
|
||||
manipulation of the bit representation of <[x]>.
|
||||
|
||||
RETURNS
|
||||
The calculated value is returned. No errors are detected.
|
||||
|
||||
PORTABILITY
|
||||
<<fabs>> is ANSI.
|
||||
<<fabsf>> is an extension.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
* fabs(x) returns the absolute value of x.
|
||||
*/
|
||||
|
||||
#include "fdlibm.h"
|
||||
|
||||
#ifndef _DOUBLE_IS_32BITS
|
||||
|
||||
#ifdef __STDC__
|
||||
double fabs(double x)
|
||||
#else
|
||||
double fabs(x)
|
||||
double x;
|
||||
#endif
|
||||
{
|
||||
__uint32_t high;
|
||||
GET_HIGH_WORD(high,x);
|
||||
SET_HIGH_WORD(x,high&0x7fffffff);
|
||||
return x;
|
||||
}
|
||||
|
||||
#endif /* _DOUBLE_IS_32BITS */
|
Reference in New Issue
Block a user