[Rcpp-devel] Overriding 'ARMA_64BIT_WORD 1' in RcppArmadillo

George Vega Yon g.vegayon at gmail.com
Wed Mar 30 00:55:59 CEST 2016

Hi there,

A couple of days ago I included this comment on a Stackoverflow question
about "too large" matrices in RcppArmadillo
I wonder if we can use this in a package. After trying to compile the
package with and without PKG_CXXFLAGS=-DARMA_64BIT_WORD I'm still not able
to create sparse matrices bigger than 65,535 x 65,535. I've realized that
the RcppArmadilloConfig.h (version 0.6.600.4.0) file has ARMA_32BIT_WORD 1
so it actually prevents using ARMA_64BIT_WORD (I think?). Any way I can
solve this, or I just have to deal with R (3.2.4 Revised (2016-03-16
r70336)) not been able to handle 64INT?


For which Dirk answered:

Try locally setting ARMA_64BIT_WORD (check how) -- I can't at the package
level as it breaks existing code. It will likely help you. If you set it
before the #include <RcppArmadillo.h> things may just work. That at least
is the pln. (And you should have asked on rcpp-devel to get more than two
eyeballs on this...) And yes the other answer basically says the same
thing. – Dirk Eddelbuettel 2 days ago

Now I'm asking again but on rcpp-devel =). The issue is that I'm concerned
on the part that Dirk says that "things may just work". I was reading about
R not been able to handle int64 and its implications for big matrices, and
so I'm a little concerned that if passing ARMA_64BIT_WORD works I may loose
some information on the way. For example, if I allow a users creating and
manipulating 1e6 x 1e6 sparse matrices, is there any chance for them to
loose information?


George G. Vega Yon
+1 (626) 381 8171
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20160329/3c084d70/attachment.html>

More information about the Rcpp-devel mailing list