SCM

SCM Repository

[matrix] Diff of /pkg/R/sparseMatrix.R
ViewVC logotype

Diff of /pkg/R/sparseMatrix.R

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2097, Sat Dec 8 13:36:13 2007 UTC revision 2098, Sun Dec 9 00:35:14 2007 UTC
# Line 165  Line 165 
165    
166  setMethod("[", signature(x = "sparseMatrix", i = "index", j = "missing",  setMethod("[", signature(x = "sparseMatrix", i = "index", j = "missing",
167                           drop = "logical"),                           drop = "logical"),
168            function (x, i, drop) {            function (x, i,j, ..., drop) {
169                cld <- getClassDef(class(x))                cld <- getClassDef(class(x))
170                if(!extends(cld, "generalMatrix")) x <- as(x, "generalMatrix")                if(!extends(cld, "generalMatrix")) x <- as(x, "generalMatrix")
171                viaCl <- paste(.M.kind(x, cld), "gTMatrix", sep='')  ##            viaCl <- paste(.M.kind(x, cld), "gTMatrix", sep='')
172                x <- callGeneric(x = as(x, viaCl), i=i, drop=drop)                x <- callGeneric(x = as(x, "TsparseMatrix"), i=i, drop=drop)
173                ## try_as(x, c(cl, sub("T","C", viaCl)))                ## try_as(x, c(cl, sub("T","C", viaCl)))
174                if(is(x, "Matrix") && extends(cld, "CsparseMatrix"))                if(is(x, "Matrix") && extends(cld, "CsparseMatrix"))
175                    as(x, "CsparseMatrix") else x                    as(x, "CsparseMatrix") else x
# Line 177  Line 177 
177    
178  setMethod("[", signature(x = "sparseMatrix", i = "missing", j = "index",  setMethod("[", signature(x = "sparseMatrix", i = "missing", j = "index",
179                           drop = "logical"),                           drop = "logical"),
180            function (x, j, drop) {            function (x,i,j, ..., drop) {
181                cld <- getClassDef(class(x))                cld <- getClassDef(class(x))
182                if(!extends(cld, "generalMatrix")) x <- as(x, "generalMatrix")                if(!extends(cld, "generalMatrix")) x <- as(x, "generalMatrix")
183                viaCl <- paste(.M.kind(x, cld), "gTMatrix", sep='')  ##            viaCl <- paste(.M.kind(x, cld), "gTMatrix", sep='')
184                x <- callGeneric(x = as(x, viaCl), j=j, drop=drop)                x <- callGeneric(x = as(x, "TsparseMatrix"), j=j, drop=drop)
185                if(is(x, "Matrix") && extends(cld, "CsparseMatrix"))                if(is(x, "Matrix") && extends(cld, "CsparseMatrix"))
186                    as(x, "CsparseMatrix") else x                    as(x, "CsparseMatrix") else x
187            })            })
# Line 195  Line 195 
195                          length(i) == length(j) && all(i == j))                          length(i) == length(j) && all(i == j))
196                if(!doSym && !extends(cld, "generalMatrix"))                if(!doSym && !extends(cld, "generalMatrix"))
197                    x <- as(x, "generalMatrix")                    x <- as(x, "generalMatrix")
198                viaCl <- paste(.M.kind(x, cld),  ##            viaCl <- paste(.M.kind(x, cld),
199                               if(doSym) "sTMatrix" else "gTMatrix", sep='')  ##                           if(doSym) "sTMatrix" else "gTMatrix", sep='')
200                x <- callGeneric(x = as(x, viaCl), i=i, j=j, drop=drop)                x <- callGeneric(x = as(x, "TsparseMatrix"), i=i, j=j, drop=drop)
201                if(is(x, "Matrix") && extends(cld, "CsparseMatrix"))                if(is(x, "Matrix") && extends(cld, "CsparseMatrix"))
202                    as(x, "CsparseMatrix") else x                    as(x, "CsparseMatrix") else x
203            })            })
# Line 290  Line 290 
290          ne <- length(iN0 <- 1L + encodeInd(non0ind(x, cl), nr = d[1]))          ne <- length(iN0 <- 1L + encodeInd(non0ind(x, cl), nr = d[1]))
291          if(0 < ne && ne < prod(d)) {          if(0 < ne && ne < prod(d)) {
292              align <- match.arg(align)              align <- match.arg(align)
293              if(align == "fancy") {              if(align == "fancy" && !is.integer(m)) {
294                  fi <- apply(m, 2, format.info) ## fi[3,] == 0  <==> not expo.                  fi <- apply(m, 2, format.info) ## fi[3,] == 0  <==> not expo.
295                  ## now 'format' the zero.print by padding it with ' ' on the right:                  ## now 'format' the zero.print by padding it with ' ' on the right:
296                  ## case 1: non-exponent:  fi[2,] + as.logical(fi[2,] > 0)                  ## case 1: non-exponent:  fi[2,] + as.logical(fi[2,] > 0)

Legend:
Removed from v.2097  
changed lines
  Added in v.2098

root@r-forge.r-project.org
ViewVC Help
Powered by ViewVC 1.0.0  
Thanks to:
Vienna University of Economics and Business Powered By FusionForge