mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
Use C99-defined signbit macro
This commit is contained in:
parent
04be8e84db
commit
80c1faf076
Notes:
git
2021-08-27 15:41:06 +09:00
5 changed files with 1 additions and 43 deletions
|
@ -1,19 +0,0 @@
|
|||
#include <limits.h>
|
||||
#include "ruby.h"
|
||||
|
||||
int
|
||||
signbit(double x)
|
||||
{
|
||||
enum {double_per_long = sizeof(double) / sizeof(long)};
|
||||
enum {long_msb = sizeof(long) * CHAR_BIT - 1};
|
||||
union {double d; unsigned long i[double_per_long];} u;
|
||||
unsigned long l;
|
||||
|
||||
u.d = x;
|
||||
#ifdef WORDS_BIGENDIAN
|
||||
l = u.i[0];
|
||||
#else
|
||||
l = u.i[double_per_long - 1];
|
||||
#endif
|
||||
return (int)(l >> long_msb);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue