Ich habe eine Matrix in R. I definiert brauche diese Matrix auf einem C++ Funktion zu passieren und zu tun Operationen in C++. Beispiel: In R, definiert eine Matrix,eine Matrix in R und übergibt es an C++
A <- matrix(c(9,3,1,6),2,2,byrow=T)
PROTECT(A = AS_NUMERIC(A));
double* p_A = NUMERIC_POINTER(A);
Ich brauche diese Matrix auf eine C passieren ++ Funktion wo variable 'Daten' des Typs vector<vector<double>>
werden mit der Matrix A. initialisiert werden
I ‚couldn Es scheint, als würden Sie herausfinden, wie das geht. Ich denke komplizierter als ich sein sollte, ich wette, es gibt einen einfachen Weg, dies zu tun.
Es ist ziemlich dumm zu speichern Matrizen als 'vector>'; Aus Gründen der deutlich besseren Lesbarkeit riskieren Sie eine Speicherfragmentierung und eine Unterbrechung der Ausrichtungsoptimierung. Auf diese Weise kopieren Sie Daten, die bereits im Speicher vorhanden und einsatzbereit sind - das ist ein erheblicher Mehraufwand! –
mbq