2016-10-08 2 views
-1

Ich versuche, einen Bit-Vektor in R zu implementieren (Ich verwende derzeit das R-Bit-Paket, möchte aber davon abweichen). Ich dachte, den Boost dynamic_bitset Klasse zu verwenden. Die Idee besteht darin, eine cpp-Funktion zu schreiben, die einen logischen Vektor von R akzeptiert und die Werte in einem dynamic_bitset speichert.Rcpp boost :: dynamic_bitset implementation

Mein Problem ist, dass die meisten der Rcpp-Beispiele, die ich gefunden habe, eine R-Datenstruktur zurückgeben, aber das möchte ich vermeiden, während der Zugriff von R über Accessoren ich überlaste (zB: as.logical, [] etc.). Was ist der beste Weg dies zu implementieren?

+0

So etwas ähnliches? http://stackoverflow.com/questions/26217102/creating-a-stdshared-ptr-object-and-returning-it-to-the-r-side-rcpp – hrbrmstr

Antwort

0

Sie schreiben

die meisten der RCPP Beispiele, die ich eine R-Datenstruktur zurückkehren

und das ist das Wesen der es gefunden. Rcpp kommuniziert mit R über die .Call() Schnittstelle und kann nur und empfangen wie R Datenstrukturen: . Rcpp konvertiert für Sie in und aus, aber es kann nicht die Tatsache ändern, die die Schnittstelle verwendet wird, und behoben. Sie können R-Datenstrukturen nur auf R zurückgeben. Alles muss ihnen zugeordnet (oder kopiert) werden.