It's great that R and Rcpp have support for long vectors! that makes my life so much easier!
So I installed Rcpp version 0.12.1 and the error is still there (see end of the email). If I interpret the commit history correctly, the commit that fixes the bug was done shortly after the 0.12.1 release right? Is there an easy way of getting the latest version of the master branch? I tried: devtools::install_github("https://github.com/RcppCore/Rcpp") But I got: Error in username %||% getOption("github.user") %||% stop("Unknown username.") : Unknown username. > sourceCpp("makeMat.cpp") > makeMat(18, 136633572) Error in .Primitive(".Call")(<pointer: 0x7f57d1c73ee0>, nrow, ncol) : negative length vectors are not allowed > sesssionInfo() Error: could not find function "sesssionInfo" > sessionInfo() R version 3.2.0 (2015-04-16) Platform: x86_64-unknown-linux-gnu (64-bit) Running under: MarIuX64 2.0 GNU/Linux 2010-2012 locale: [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=C [4] LC_COLLATE=C LC_MONETARY=C LC_MESSAGES=C [7] LC_PAPER=C LC_NAME=C LC_ADDRESS=C [10] LC_TELEPHONE=C LC_MEASUREMENT=C LC_IDENTIFICATION=C attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] Rcpp_0.12.1 On Sun, Nov 1, 2015 at 3:37 PM, Florian Plaza Oñate <florian.pl...@jouy.inra.fr> wrote: > The bug is probably fixed by this commit: > https://github.com/RcppCore/Rcpp/commit/eb069bf5c20aaa4d38e0ca2897bf04e956cb8c4c > > > Le 31/10/2015 20:08, Alessandro Mammana a écrit : >> >> Dear All, >> When creating a large matrix with the follwing code: >> >> #include <Rcpp.h> >> // [[Rcpp::export]] >> Rcpp::IntegerMatrix makeMat(int nrow, int ncol){ >> Rcpp::IntegerMatrix mat(nrow, ncol); >> return mat; >> } >> >> I get the error: >> >> Error in .Primitive(".Call")(<pointer: 0x7f86936d3ea0>, nrow, ncol) : >> negative length vectors are not allowed >> >> Where nrow*ncol is a very large number (about 3*10^9). I understand >> that such a number cannot be represented by an int type, but this does >> not seem to be a problem when in R I do: >> >>> mat <- matrix(0, nrow=nrow, ncol=ncol) >> >> >> Questions: >> 1. why is the behaviour different between R and Rcpp in the allocation >> of a matrix? >> 2. In a 64 bits machine, what is actually the maximum allowed length >> of a vector/matrix? does the length of a vector/matrix need to be >> represented by an int? >> >> Thanks a lot and best regards, >> Alessandro >> > -- Alessandro Mammana, PhD Student Max Planck Institute for Molecular Genetics Ihnestraße 63-73 D-14195 Berlin, Germany _______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel