我可以在犰狳中实例化矩阵,然后在后面的代码行中将其设置为使用辅助内存吗?

发布于 2024-12-11 10:01:53 字数 277 浏览 1 评论 0原文

我正在将犰狳与 RcppArmadillo 一起使用。是否可以使用 arma::mat A 声明一个矩阵,然后为我之前使用 arma::mat(aux_mem*, n_rows, n_cols, copy_aux_mem = true,严格= true)

目的是从 Rcpp::NumericMatrix 创建犰狳矩阵,但仅 if() 满足特定条件。然后在同一个函数中,我想使用该矩阵,但同样只有 if() 满足条件。

I am using Armadillo with RcppArmadillo. Is it possible to declare a matrix with arma::mat A and then later assign some memory to this matrix that I have created before with arma::mat(aux_mem*, n_rows, n_cols, copy_aux_mem = true, strict = true) ?

The intention is to create an Armadillo matrix from an Rcpp::NumericMatrix but only if() a certain condition is met. Then later in the same function, I want to use that matrix but again only if() a condition is met.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无名指的心愿 2024-12-18 10:01:53

如果我明白你在问什么,答案可能是。最后的布尔值切换控制是否分配新内存,或者是否重新使用现有对象的内存。

不确定“为该矩阵分配一些内存”是什么意思。如果您希望 R 管理内存,请参阅编写 R 扩展手册,了解您可以做什么和不能做什么 - 关键点是,对于我们返回到 R 的对象,我们需要创建它们,以便它们成为 R 的“原生”。Rcpp 可以做到这一点,RcppArmadillo 也可以让您这样做。

另外:你最好在 rcpp-devel 列表中问这些问题,犰狳的作者 Conrad 也阅读过该列表。

Provided I understand what you are asking, the answer is probably yes. The boolean toggles at the end control whether new memory is allocated, or whether you re-use the existing object's memory.

Not sure what you mean by "assign some memory to this matrix". See the Writing R Extensions manual on what you can and cannot do if you want R to manage the memory--the key point is that for objects we return to R, we need to create them such that they became 'native' to R. And Rcpp does this, and RcppArmadillo lets you do it too.

Also: You may be better off asking these questions on the rcpp-devel list which Conrad, the author of Armadillo, also reads.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文