Ruby
1.9.3p448(2013-06-27revision41675)
Main Page
Modules
Data Structures
Files
File List
Globals
missing
signbit.c
Go to the documentation of this file.
1
#include <limits.h>
2
#include "ruby.h"
3
4
int
5
signbit
(
double
x)
6
{
7
enum
{double_per_long =
sizeof
(double) /
sizeof
(
long
)};
8
enum
{long_msb =
sizeof
(
long
) *
CHAR_BIT
- 1};
9
union
{
double
d;
unsigned
long
i
[double_per_long];} u;
10
unsigned
long
l;
11
12
u.d = x;
13
#ifdef WORDS_BIGENDIAN
14
l = u.i[0];
15
#else
16
l = u.i[double_per_long - 1];
17
#endif
18
return
(
int
)(l >> long_msb);
19
}
20
Generated on Fri Jun 28 2013 02:34:41 for Ruby by
1.8.3