rt: use the [u]int[nn]_t types in the RNG.

This means that `ub4`s are always 4 bytes, rather than being 8 bytes on
x64. (Suggested but not implemented by upstream: "Porting it to a 64-bit
machine [...] may just need an adjustment of the definition of ub4")
This commit is contained in:
Huon Wilson 2013-04-26 22:13:24 +10:00
parent 106fd12423
commit 1fc8a2f2a4

View File

@ -13,27 +13,32 @@ Standard definitions and types, Bob Jenkins
# include <stddef.h> # include <stddef.h>
# define STDDEF # define STDDEF
# endif # endif
typedef unsigned long long ub8; # ifndef STDINT
# include <stdint.h>
# define STDINT
# endif
typedef uint64_t ub8;
#define UB8MAXVAL 0xffffffffffffffffLL #define UB8MAXVAL 0xffffffffffffffffLL
#define UB8BITS 64 #define UB8BITS 64
typedef signed long long sb8; typedef int64_t sb8;
#define SB8MAXVAL 0x7fffffffffffffffLL #define SB8MAXVAL 0x7fffffffffffffffLL
typedef unsigned long int ub4; /* unsigned 4-byte quantities */ typedef uint32_t ub4; /* unsigned 4-byte quantities */
#define UB4MAXVAL 0xffffffff #define UB4MAXVAL 0xffffffff
typedef signed long int sb4; typedef int32_t sb4;
#define UB4BITS 32 #define UB4BITS 32
#define SB4MAXVAL 0x7fffffff #define SB4MAXVAL 0x7fffffff
typedef unsigned short int ub2; typedef uint16_t ub2;
#define UB2MAXVAL 0xffff #define UB2MAXVAL 0xffff
#define UB2BITS 16 #define UB2BITS 16
typedef signed short int sb2; typedef int16_t sb2;
#define SB2MAXVAL 0x7fff #define SB2MAXVAL 0x7fff
typedef unsigned char ub1; typedef uint8_t ub1;
#define UB1MAXVAL 0xff #define UB1MAXVAL 0xff
#define UB1BITS 8 #define UB1BITS 8
typedef signed char sb1; /* signed 1-byte quantities */ typedef int8_t sb1; /* signed 1-byte quantities */
#define SB1MAXVAL 0x7f #define SB1MAXVAL 0x7f
typedef int word; /* fastest type available */ typedef int word; /* fastest type available */
#define bis(target,mask) ((target) |= (mask)) #define bis(target,mask) ((target) |= (mask))
#define bic(target,mask) ((target) &= ~(mask)) #define bic(target,mask) ((target) &= ~(mask))