-
Notifications
You must be signed in to change notification settings - Fork 12
Add matrix, array and matrix multiplication for integer64 #195
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
refactor str.integer64 for consistent display of matrices refactor colSums and rowSums to be consistent to base
Co-authored-by: Michael Chirico <michaelchirico4@gmail.com>
Co-authored-by: Michael Chirico <michaelchirico4@gmail.com>
try fix tests for ubuntu latest
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Collaborator
MichaelChirico
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's basically ready. Thanks!
hcirellu
commented
Jan 9, 2026
Contributor
Author
|
Thank you for the review! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request adds support for
matrix,arrayand%*%forinteger64. Since there are no S3 methods formatrixandarray, they are added.In
matrixandarraythe base functions are used. In order to display convinient warnings and errors that show the call (e.g.matrix(1:10, nrow=5)instead ofbase::matrix(...)) I usewithCallingHandlers(). If there is a generic call, this is displayed, and if not, the S3-method call is displayed.In order to display matrices and arrays consistently to R,
str.integer64is changed accordingly.colSums.integer64androwSums.integer64are refactored to throw R consistent error messages.as.matrix.integer64is added to coerce accordingly.Since
aperm.integer64isn't exported, one has to use the generic. Thus it is refactored to useNextMethod().The matrix multiplication uses a new helper function
target_class_for_Ops(), which determines the class of the result. If a matrix multiplication ofinteger64andcomplexis performed, I expect the result incomplex. It also throws R consistent error messages for Ops. This helper is also intended to be used for other Ops methods like*.integer64in the future. The remaining method checks the matrix dimensions and performs the calculation.Closes #45