diff --git a/src/integer64.c b/src/integer64.c index ae626b7..54b2a1d 100644 --- a/src/integer64.c +++ b/src/integer64.c @@ -50,14 +50,12 @@ /** **/ /*****************************************************************************/ -typedef struct Unsigned32x2TStruct { - unsigned int low; - unsigned int high; -} Unsigned32x2T; - typedef union { - Unsigned32x2T u32; - long long ll; + struct { + unsigned int low; + unsigned int high; + } U32x2Repr; + long long LongLongRepr; } PunnedU32x2AndLongLong; /*****************************************************************************/ @@ -1010,20 +1008,20 @@ SEXP runif_integer64(SEXP n_, SEXP min_, SEXP max_){ SEXP ret_; PROTECT(ret_ = allocVector(REALSXP, n)); long long * ret = (long long *) REAL(ret_); - PunnedU32x2AndLongLong ii; + PunnedU32x2AndLongLong rand_draw; GetRNGstate(); for (i=0; i