https://github.com/cran/Matrix
Raw File
Tip revision: f3196dcf51bdea0ef97a85321a8f6ba3ba6fae4e authored by Martin Maechler on 08 March 2019, 14:33:45 UTC
version 1.2-16
Tip revision: f3196dc
ngCMatrix.R
#### Logical Sparse Matrices in Compressed column-oriented format

### contains = "nsparseMatrix"

.nC2d <- function(from) .Call(nz_pattern_to_Csparse, from, 0L)## 0 --> "double"
.nC2l <- function(from) .Call(nz_pattern_to_Csparse, from, 1L)## 1 --> "logical"

if(FALSE) { ## nice idea, but needs more method re-definitions ---
setAs("nCsparseMatrix", "dMatrix", .nC2d)
setAs("nCsparseMatrix", "dsparseMatrix", .nC2d)
setAs("nCsparseMatrix", "dgCMatrix", .nC2d)

setAs("nCsparseMatrix", "lMatrix", .nC2l)
setAs("nCsparseMatrix", "lsparseMatrix", .nC2l)
setAs("nCsparseMatrix", "lgCMatrix", .nC2l)
} else {
setAs("ngCMatrix", "dMatrix", .nC2d)
setAs("ngCMatrix", "dsparseMatrix", .nC2d)
setAs("ngCMatrix", "dgCMatrix", .nC2d)

setAs("ngCMatrix", "lMatrix", .nC2l)
setAs("ngCMatrix", "lsparseMatrix", .nC2l)
setAs("ngCMatrix", "lgCMatrix", .nC2l)
}

setAs("ngCMatrix", "matrix", function(from) .Call(ngC_to_matrix, from))
## not this: .Call(Csparse_to_matrix, from)), since it goes via dense -> double precision

setAs("matrix", "ngCMatrix", .m2ngC)

back to top