From noreply at r-forge.r-project.org Tue Mar 19 08:40:56 2013 From: noreply at r-forge.r-project.org (noreply at r-forge.r-project.org) Date: Tue, 19 Mar 2013 08:40:56 +0100 (CET) Subject: [Dplr-commits] r661 - in pkg/dplR: . R Message-ID: <20130319074056.81BA8183263@r-forge.r-project.org> Author: mvkorpel Date: 2013-03-19 08:40:56 +0100 (Tue, 19 Mar 2013) New Revision: 661 Modified: pkg/dplR/ChangeLog pkg/dplR/DESCRIPTION pkg/dplR/R/exactmean.R pkg/dplR/R/gini.coef.R pkg/dplR/R/sens1.R pkg/dplR/R/sens2.R pkg/dplR/R/tbrm.R Log: Check that length of vector does not overflow integer datatype before use of .C() Modified: pkg/dplR/ChangeLog =================================================================== --- pkg/dplR/ChangeLog 2013-01-10 09:42:12 UTC (rev 660) +++ pkg/dplR/ChangeLog 2013-03-19 07:40:56 UTC (rev 661) @@ -1,5 +1,11 @@ * CHANGES IN dplR VERSION 1.5.7 +Various .R files +---------------- + +- Check that length of vector does not overflow integer datatype + before use of .C() + File: corr.rwl.seg.R -------------------- Modified: pkg/dplR/DESCRIPTION =================================================================== --- pkg/dplR/DESCRIPTION 2013-01-10 09:42:12 UTC (rev 660) +++ pkg/dplR/DESCRIPTION 2013-03-19 07:40:56 UTC (rev 661) @@ -3,7 +3,7 @@ Type: Package Title: Dendrochronology Program Library in R Version: 1.5.7 -Date: 2013-01-10 +Date: 2013-03-19 Authors at R: c(person(c("Andrew", "G."), "Bunn", role = c("aut", "cph", "cre", "trl"), email = "andrew.bunn at wwu.edu"), person("Mikko", "Korpela", role = c("aut", "cph")), person("Franco", "Biondi", Modified: pkg/dplR/R/exactmean.R =================================================================== --- pkg/dplR/R/exactmean.R 2013-01-10 09:42:12 UTC (rev 660) +++ pkg/dplR/R/exactmean.R 2013-03-19 07:40:56 UTC (rev 661) @@ -2,6 +2,8 @@ { ## Drops NA and NaN values! y <- as.double(x[!is.na(x)]) + n <- as.integer(length(y)) + stopifnot(!is.na(n)) .C(dplR.mean, - y, as.integer(length(y)), result=NaN, NAOK=TRUE, DUP=FALSE)$result + y, n, result=NaN, NAOK=TRUE, DUP=FALSE)$result } Modified: pkg/dplR/R/gini.coef.R =================================================================== --- pkg/dplR/R/gini.coef.R 2013-01-10 09:42:12 UTC (rev 660) +++ pkg/dplR/R/gini.coef.R 2013-03-19 07:40:56 UTC (rev 661) @@ -1,6 +1,8 @@ `gini.coef` <- function(x) { y <- as.double(x[!is.na(x)]) + n <- as.integer(length(y)) + stopifnot(!is.na(n)) .C(dplR.gini, - y, as.integer(length(y)), result=NaN, NAOK=TRUE, DUP=FALSE)$result + y, n, result=NaN, NAOK=TRUE, DUP=FALSE)$result } Modified: pkg/dplR/R/sens1.R =================================================================== --- pkg/dplR/R/sens1.R 2013-01-10 09:42:12 UTC (rev 660) +++ pkg/dplR/R/sens1.R 2013-03-19 07:40:56 UTC (rev 661) @@ -1,6 +1,8 @@ `sens1` <- function(x) { y <- as.double(x[!is.na(x)]) + n <- as.integer(length(y)) + stopifnot(!is.na(n)) .C(dplR.sens1, - y, as.integer(length(y)), result=NaN, NAOK=TRUE, DUP=FALSE)$result + y, n, result=NaN, NAOK=TRUE, DUP=FALSE)$result } Modified: pkg/dplR/R/sens2.R =================================================================== --- pkg/dplR/R/sens2.R 2013-01-10 09:42:12 UTC (rev 660) +++ pkg/dplR/R/sens2.R 2013-03-19 07:40:56 UTC (rev 661) @@ -1,6 +1,8 @@ `sens2` <- function(x) { y <- as.double(x[!is.na(x)]) + n <- as.integer(length(y)) + stopifnot(!is.na(n)) .C(dplR.sens2, - y, as.integer(length(y)), result=NaN, NAOK=TRUE, DUP=FALSE)$result + y, n, result=NaN, NAOK=TRUE, DUP=FALSE)$result } Modified: pkg/dplR/R/tbrm.R =================================================================== --- pkg/dplR/R/tbrm.R 2013-01-10 09:42:12 UTC (rev 660) +++ pkg/dplR/R/tbrm.R 2013-03-19 07:40:56 UTC (rev 661) @@ -1,7 +1,8 @@ `tbrm` <- function(x, C=9) { y <- as.double(x[!is.na(x)]) + n <- as.integer(length(y)) + stopifnot(!is.na(n)) .C(dplR.tbrm, - y, as.integer(length(y)), as.double(C), - result=NaN, NAOK=TRUE, DUP=FALSE)$result + y, n, as.double(C), result=NaN, NAOK=TRUE, DUP=FALSE)$result }