From 84e778d87877a510fbf842838094347a55db9a51 Mon Sep 17 00:00:00 2001 From: Rob Ashton Date: Fri, 6 Dec 2024 15:35:29 +0000 Subject: [PATCH] Update to work with R 4.5.0 new strict naming --- DESCRIPTION | 2 +- NEWS.md | 5 +++++ src/eppasm.cpp | 20 ++++++++++---------- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 08c6359..eb7a9be 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: eppasm Title: Age-structured EPP Model for HIV Epidemic Estimates -Version: 0.8.3 +Version: 0.8.4 Authors@R: person("Jeff", "Eaton", email = "jeffrey.eaton@imperial.ac.uk", role = c("aut", "cre")) Description: What the package does (one paragraph). Depends: R (>= 3.1.0), diff --git a/NEWS.md b/NEWS.md index 45dc7d0..1351925 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,8 @@ +## eppasm 0.8.4 + +* Update to use full names for R internal functions in new 0.8 code e.g. `Rf_allocVector` instead of `allocVector`. Shorthand names are no longer allowed in R v4.5.0. See Nov 10th news https://developer.r-project.org/blosxom.cgi/R-devel + + ## eppasm 0.8.3 * Implement Spectrum adult ART adjustment by absolute count. This is a user diff --git a/src/eppasm.cpp b/src/eppasm.cpp index e77184e..cee8703 100644 --- a/src/eppasm.cpp +++ b/src/eppasm.cpp @@ -349,29 +349,29 @@ extern "C" { multi_array_ref aidsdeaths_art(REAL(s_aidsdeaths_art), extents[PROJ_YEARS][NG][hAG][hDS][hTS]); memset(REAL(s_aidsdeaths_art), 0, Rf_length(s_aidsdeaths_art)*sizeof(double)); - SEXP s_natdeaths_art = PROTECT(allocVector(REALSXP, hTS * hDS * hAG * NG * PROJ_YEARS)); - SEXP s_natdeaths_art_dim = PROTECT(allocVector(INTSXP, 5)); + SEXP s_natdeaths_art = PROTECT(Rf_allocVector(REALSXP, hTS * hDS * hAG * NG * PROJ_YEARS)); + SEXP s_natdeaths_art_dim = PROTECT(Rf_allocVector(INTSXP, 5)); INTEGER(s_natdeaths_art_dim)[0] = hTS; INTEGER(s_natdeaths_art_dim)[1] = hDS; INTEGER(s_natdeaths_art_dim)[2] = hAG; INTEGER(s_natdeaths_art_dim)[3] = NG; INTEGER(s_natdeaths_art_dim)[4] = PROJ_YEARS; - setAttrib(s_natdeaths_art, R_DimSymbol, s_natdeaths_art_dim); - setAttrib(s_pop, install("natdeaths_art"), s_natdeaths_art); + Rf_setAttrib(s_natdeaths_art, R_DimSymbol, s_natdeaths_art_dim); + Rf_setAttrib(s_pop, Rf_install("natdeaths_art"), s_natdeaths_art); multi_array_ref natdeaths_art(REAL(s_natdeaths_art), extents[PROJ_YEARS][NG][hAG][hDS][hTS]); - memset(REAL(s_natdeaths_art), 0, length(s_natdeaths_art)*sizeof(double)); + memset(REAL(s_natdeaths_art), 0, Rf_length(s_natdeaths_art)*sizeof(double)); - SEXP s_excessnonaidsdeaths_art = PROTECT(allocVector(REALSXP, hTS * hDS * hAG * NG * PROJ_YEARS)); - SEXP s_excessnonaidsdeaths_art_dim = PROTECT(allocVector(INTSXP, 5)); + SEXP s_excessnonaidsdeaths_art = PROTECT(Rf_allocVector(REALSXP, hTS * hDS * hAG * NG * PROJ_YEARS)); + SEXP s_excessnonaidsdeaths_art_dim = PROTECT(Rf_allocVector(INTSXP, 5)); INTEGER(s_excessnonaidsdeaths_art_dim)[0] = hTS; INTEGER(s_excessnonaidsdeaths_art_dim)[1] = hDS; INTEGER(s_excessnonaidsdeaths_art_dim)[2] = hAG; INTEGER(s_excessnonaidsdeaths_art_dim)[3] = NG; INTEGER(s_excessnonaidsdeaths_art_dim)[4] = PROJ_YEARS; - setAttrib(s_excessnonaidsdeaths_art, R_DimSymbol, s_excessnonaidsdeaths_art_dim); - setAttrib(s_pop, install("excessnonaidsdeaths_art"), s_excessnonaidsdeaths_art); + Rf_setAttrib(s_excessnonaidsdeaths_art, R_DimSymbol, s_excessnonaidsdeaths_art_dim); + Rf_setAttrib(s_pop, Rf_install("excessnonaidsdeaths_art"), s_excessnonaidsdeaths_art); multi_array_ref excessnonaidsdeaths_art(REAL(s_excessnonaidsdeaths_art), extents[PROJ_YEARS][NG][hAG][hDS][hTS]); - memset(REAL(s_excessnonaidsdeaths_art), 0, length(s_excessnonaidsdeaths_art)*sizeof(double)); + memset(REAL(s_excessnonaidsdeaths_art), 0, Rf_length(s_excessnonaidsdeaths_art)*sizeof(double)); SEXP s_popadjust = PROTECT(Rf_allocVector(REALSXP, pAG * NG * PROJ_YEARS)); SEXP s_popadjust_dim = PROTECT(Rf_allocVector(INTSXP, 3));