Martin Maechler wrote:
VK> The problem is in array.c, where allocMatrix check for
VK> "if ((double)nrow * (double)ncol > INT_MAX)". But why
VK> itn is used and not long int for indexing? (max int is
VK> 2147483647, max long int is 9223372036854775807)
Well, Brian gave you all info:
exactly, and given that most modern system used for computations (i.e.
64bit system) have long int which is much larger than int, I am
wondering why long int is not used for indexing (I don't think that 4
bit vs 8 bit storage is an issue).
Did you really carefully read ?Memory-limits
??
Yes, it is specify that 4 bit int is used for indexing in all version of
R, but why? I think 2147483647 elements for a single vector is OK, but
not as total number of elements for the matrix. I am running out of
indexing at mere 10% memory consumption.
BTW: The package 'Matrix' has many facilities to work with
sparse matrices;
Is is a very good package, but I don't see a relation to a limitation in
array.c (and I don't have scarce matrices).
Thanks,
Vadim
PS: I have no problem to go and modify C code, but I am just wondering
what are the reasons for having such limitation.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.