Skip to content

Commit

Permalink
finite for 64-bit platforms
Browse files Browse the repository at this point in the history
  • Loading branch information
Ulrich Drepper committed Sep 16, 2011
1 parent 2840865 commit 88738eb
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 0 deletions.
2 changes: 2 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2011-09-15 Ulrich Drepper <drepper@gmail.com>

* sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c: New file.

* sysdeps/unix/sysv/linux/bits/in.h (IP_MULTICAST_ALL): Define.
Patch mostly by Neil Horman <nhorman@tuxdriver.com>.

Expand Down
32 changes: 32 additions & 0 deletions sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* ====================================================
* 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.
* ====================================================
*/

/*
* finite(x) returns 1 is x is finite, else 0;
* no branching!
*/

#include "math.h"
#include "math_private.h"

int
__finite(double x)
{
int64_t lx;
EXTRACT_WORDS64(lx,x);
return (int)((uint64_t)((lx&INT64_C(0x7fffffffffffffff))-INT64_C(0x7ff0000000000000))>>63);
}
hidden_def (__finite)
weak_alias (__finite, finite)
#ifdef NO_LONG_DOUBLE
strong_alias (__finite, __finitel)
weak_alias (__finite, finitel)
#endif

0 comments on commit 88738eb

Please sign in to comment.