From 1fc8a2f2a45c21247f6d0209ecb6349a2c20e453 Mon Sep 17 00:00:00 2001 From: Huon Wilson <dbau.pp+github@gmail.com> Date: Fri, 26 Apr 2013 22:13:24 +1000 Subject: [PATCH] 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") --- src/rt/isaac/standard.h | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/rt/isaac/standard.h b/src/rt/isaac/standard.h index cb6cc15b8f6..c196a37474b 100644 --- a/src/rt/isaac/standard.h +++ b/src/rt/isaac/standard.h @@ -13,27 +13,32 @@ Standard definitions and types, Bob Jenkins # include <stddef.h> # define STDDEF # endif -typedef unsigned long long ub8; +# ifndef STDINT +# include <stdint.h> +# define STDINT +# endif + +typedef uint64_t ub8; #define UB8MAXVAL 0xffffffffffffffffLL #define UB8BITS 64 -typedef signed long long sb8; +typedef int64_t sb8; #define SB8MAXVAL 0x7fffffffffffffffLL -typedef unsigned long int ub4; /* unsigned 4-byte quantities */ +typedef uint32_t ub4; /* unsigned 4-byte quantities */ #define UB4MAXVAL 0xffffffff -typedef signed long int sb4; +typedef int32_t sb4; #define UB4BITS 32 #define SB4MAXVAL 0x7fffffff -typedef unsigned short int ub2; +typedef uint16_t ub2; #define UB2MAXVAL 0xffff #define UB2BITS 16 -typedef signed short int sb2; +typedef int16_t sb2; #define SB2MAXVAL 0x7fff -typedef unsigned char ub1; +typedef uint8_t ub1; #define UB1MAXVAL 0xff #define UB1BITS 8 -typedef signed char sb1; /* signed 1-byte quantities */ +typedef int8_t sb1; /* signed 1-byte quantities */ #define SB1MAXVAL 0x7f -typedef int word; /* fastest type available */ +typedef int word; /* fastest type available */ #define bis(target,mask) ((target) |= (mask)) #define bic(target,mask) ((target) &= ~(mask))