Large integer constants need to be suffixed by ULL to work on 32-bit machines
that support "long long". git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13559 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02master
parent
7c6c5dcf38
commit
012b6a8f1a
|
@ -49,13 +49,13 @@
|
|||
#define I64_to_double(x) ((double)(x))
|
||||
#define I64_of_double(x) ((int64)(x))
|
||||
|
||||
#define I64_bswap(x) ((((x) & 0x00000000000000FF) << 56) | \
|
||||
(((x) & 0x000000000000FF00) << 40) | \
|
||||
(((x) & 0x0000000000FF0000) << 24) | \
|
||||
(((x) & 0x00000000FF000000) << 8) | \
|
||||
(((x) & 0x000000FF00000000) >> 8) | \
|
||||
(((x) & 0x0000FF0000000000) >> 24) | \
|
||||
(((x) & 0x00FF000000000000) >> 40) | \
|
||||
(((x) & 0xFF00000000000000) >> 56))
|
||||
#define I64_bswap(x) ((((x) & 0x00000000000000FFULL) << 56) | \
|
||||
(((x) & 0x000000000000FF00ULL) << 40) | \
|
||||
(((x) & 0x0000000000FF0000ULL) << 24) | \
|
||||
(((x) & 0x00000000FF000000ULL) << 8) | \
|
||||
(((x) & 0x000000FF00000000ULL) >> 8) | \
|
||||
(((x) & 0x0000FF0000000000ULL) >> 24) | \
|
||||
(((x) & 0x00FF000000000000ULL) >> 40) | \
|
||||
(((x) & 0xFF00000000000000ULL) >> 56))
|
||||
|
||||
#endif /* CAML_INT64_NATIVE_H */
|
||||
|
|
Loading…
Reference in New Issue