Ruby
1.9.3p551(2014-11-13revision48407)
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
}
signbit
RUBY_EXTERN int signbit(double x)
Definition:
signbit.c:5
d
d
Definition:
strlcat.c:58
CHAR_BIT
#define CHAR_BIT
Definition:
ruby.h:192
long
#define long
Definition:
name2ctype.h:37
i
ssize_t i
Definition:
bigdecimal.c:5519
Generated by
1.8.5