Ruby
2.5.0dev(2017-10-22revision60238)
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
int signbit(double x)
Definition:
signbit.c:5
ruby.h
CHAR_BIT
#define CHAR_BIT
Definition:
ruby.h:196
Generated by
1.8.13