Hi, I was trying to convert REALSXP to int64_t in C, then found that converting 2^63 is inconsistent across platforms:
On M1 ARM osx, 2^63 (double) bit converting to `int64_t` becomes 9223372036854775807 On x86_64 ubuntu server, 2^63 (double) bit converting to `int64_t` is -9223372036854775808 I was wondering if this is desired behavior to R? Here's the code to replicate the results above. print_bit <- Rcpp::cppFunction(r"( SEXP print_bit(SEXP obj){ int64_t tmp1 = *REAL0(obj); printf("%lld ", tmp1); return(R_NilValue); } )") print_bit(2^63) Thanks, - Dipterix [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel