cpp11 icon indicating copy to clipboard operation
cpp11 copied to clipboard

correctly set dimnames for matrices

Open pachadotdev opened this issue 10 months ago • 5 comments
trafficstars

There was a bug in the matrix class such that attributes cannot be set (ref: https://stackoverflow.com/a/76019987/3720258). This was mentioned in #273.

With cpp11 0.5.1 I can add row and column names from C++ as long as the object is a sexp instead of a *_matrix<> (example: https://github.com/pachadotdev/economiccomplexity/blob/main/src/code.cpp#L28-L29)

With these changes, it is possible to assign colnames/rownames by borrowing from an input matrix or by setting dimnames = list(...).

Acknowledgements to @stephematician! It only took me 2 yrs to take intensive C++ courses at UofT to 1st learn proper C++, and then use that knowledge for my own research.

~There is a problem with gh-actions. On my laptop, I can use auto, attribute_proxy<V> or `SEXP for lines 192-194 in matrix.hpp and it works. With GHA, it return an error.~ I fixed that with a workaround.

pachadotdev avatar Dec 27 '24 09:12 pachadotdev