You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In Matrix 1.5-5, class indMatrix will gain a slot margin with value 1L or 2L. If x is an indMatrix and x@margin = 1L (the "prototype"), then the remaining slots of x are interpreted as in older versions of Matrix: x has dimensions x@Dim with names x@Dimnames and is zero except for ones in positions cbind(i = seq_along(x@perm), j = x@perm). If x@margin = 2L, then the ones occur in positions cbind(i = x@perm, j = seq_along(x@perm)) instead.
In general, we try to avoid making such changes to class definitions, as they can invalidate serialized objects. But this particular change (a very useful generalization) is long overdue and, perhaps amazingly, RcppArmadillo is the only broken reverse dependency.
AFAICT, it should suffice to update the indMatrix and pMatrix branches in inst/include/RcppArmadillo/interface/RcppArmadilloAs.h to behave conditional on margin, checking first for the absence of a margin attribute (implying that an old Matrix is installed) and in that case behaving as if margin = 1L.
We have not discussed a release date for 1.5-5, so this is just an FYI (for now). In the mean time, I can advise on a patch if necessary.
Note that R-Forge is currently hosting an out-of-date Matrix tarball. Until that is fixed, you can use the R-universe tarball for testing (or install from sources if you have Subversion).
The text was updated successfully, but these errors were encountered:
In Matrix 1.5-5, class
indMatrix
will gain a slotmargin
with value1L
or2L
. Ifx
is anindMatrix
andx@margin = 1L
(the "prototype"), then the remaining slots ofx
are interpreted as in older versions of Matrix:x
has dimensionsx@Dim
with namesx@Dimnames
and is zero except for ones in positionscbind(i = seq_along(x@perm), j = x@perm)
. Ifx@margin = 2L
, then the ones occur in positionscbind(i = x@perm, j = seq_along(x@perm))
instead.In general, we try to avoid making such changes to class definitions, as they can invalidate serialized objects. But this particular change (a very useful generalization) is long overdue and, perhaps amazingly, RcppArmadillo is the only broken reverse dependency.
AFAICT, it should suffice to update the
indMatrix
andpMatrix
branches ininst/include/RcppArmadillo/interface/RcppArmadilloAs.h
to behave conditional onmargin
, checking first for the absence of amargin
attribute (implying that an old Matrix is installed) and in that case behaving as ifmargin = 1L
.We have not discussed a release date for 1.5-5, so this is just an FYI (for now). In the mean time, I can advise on a patch if necessary.
Note that R-Forge is currently hosting an out-of-date Matrix tarball. Until that is fixed, you can use the R-universe tarball for testing (or install from sources if you have Subversion).
The text was updated successfully, but these errors were encountered: