Могу ли я создать матрицу в Armadillo, а затем настроить ее на использование вспомогательной памяти в следующей строке кода? - PullRequest
1 голос
/ 24 октября 2011

Я использую Armadillo с RcppArmadillo.Можно ли объявить матрицу с arma::mat A, а затем назначить некоторое количество памяти для этой матрицы, которую я создал ранее с arma::mat(aux_mem*, n_rows, n_cols, copy_aux_mem = true, strict = true)?

Цель состоит в том, чтобы создать матрицу Armadillo из Rcpp :: NumericMatrixно только if() определенное условие выполнено.Затем в той же функции я хочу использовать эту матрицу, но опять-таки только if() условие выполнено.

1 Ответ

0 голосов
/ 24 октября 2011

Если я понимаю, что вы спрашиваете, ответ, вероятно, да .Логическое значение переключает в конце контроль, выделяется ли новая память, или вы повторно используете память существующего объекта.

Не уверен, что вы подразумеваете под «назначить некоторую память этой матрице».См. Руководство Writing R Extensions о том, что вы можете и не можете делать, если вы хотите, чтобы R управлял памятью. Ключевым моментом является то, что для объектов, которые мы возвращаем в R, нам нужно создать их так, чтобы они стали'native' для R. И Rcpp делает это, и RcppArmadillo позволяет вам делать это тоже.

Кроме того: Вам может быть лучше задать эти вопросы в списке rcpp-devel, который Конрад, автор Armadillo, такжечитает.

...