how to add "large arrays" (64 bits) to codegen generated function?
显示 更早的评论
Hi all, is there some flag to tell codegen function to use 64 bits indexes? (Something similar to the -largeArrayDims for the mex compilation) Thanks!
回答(2 个)
Fangjun Jiang
2017-6-30
0 个投票
I would assume that, if you specify the data type of your index variable as uint64, it will generate the code correctly using 64 bits indexing.
codegen creates C code, as far as I understand. The C code itself is not limited to 32 or 64 bit. 32 bit compilers can work with 64 bit variables also. But the addressing depends on the compiler. But as long as the created code contains e.g. size_t for the addressing, this is adjusted during the compilation.
During the mex compilation it matters, which libraries are used. Hm. I stop poking around in the dark. I think a kind of -largeArrayDims would not make sense for codegen.
[EDITED] See http://www.mathworks.com/help/coder/ug/array-size-restrictions-for-code-generation.html: My assumption was wrong. The code supports 32 bit addressing in arrays only.
2 个评论
Sergio Zlotnik
2017-6-30
类别
在 帮助中心 和 File Exchange 中查找有关 MATLAB Algorithm Acceleration 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!