On 11 July 2017 at 23:44, David Bellot wrote: | it looks like I couldn't find a proper solution, even after googling every | where. The question is simple: | | I have a bit64 vector of integers (timestamps of financial tick data, you | bet ?) and I want to pass it to a C++ function. The good ol' method is to | convert it to strings, pass it and cast strings back to 64 bits integers in
Have you seen my 'nanotime' package? It does just that: provide nanosecond resolution by relying on RcppCCTZ for the parsing/formating and int64 for the storage. | C++. And vice and versa when I pass my result back. But the size of my | vectors are in the range of millions of items, so the method is just a bit | slow. You never ever want to format + parse that many vectors. It is too slow. | | Since Rcpp 0.9.8, there is no more support for the LongVector class. Papers | like http://www.sciencedirect.com/science/article/pii/S0098300416307415, | despite very interesting, were not very useful to solve my simple problem, | so I was wondering if there is a better solution ? | | reinterpret_cast ? | GenericVector or RawVector ? | Anything so obvious that I just missed it ? | | And of course, same questions in the other direction: how to return my | vector back to R and have a bit64 at the end ? As Kevin correctly pointed out, int64 really just "rearranges" the 64 bits in a double. It is implemeneted as a REALSXP, or for us, a NumericVector. Poke around those two packages of mine and you should get farther. Dirk -- http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org _______________________________________________ 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