From 6f8e1a51a2dd835d13c3a3f728e6cb74d7c57218 Mon Sep 17 00:00:00 2001 From: Waldir Leoncio Date: Thu, 22 Dec 2022 14:38:47 +0100 Subject: [PATCH] Translated mysize() --- R/mysize.R | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 R/mysize.R diff --git a/R/mysize.R b/R/mysize.R new file mode 100644 index 0000000..a888d67 --- /dev/null +++ b/R/mysize.R @@ -0,0 +1,17 @@ +mysize <- function(M) { + # MYSIZE Like the built - in size, except it returns n if (M is a vector of length n, and 1 if M is a scalar.) { + # sz <- mysize(M) + # The behavior is best explained by examples + # - M <- rand(1, 1), mysize[M] <- 1, size(M) = [1 1] + # - M <- rand(2, 1), mysize[M] <- 2, size(M) = [2 1] + # - M <- rand(1, 2), mysize[M] <- 2, size(M) = [1 2] + # - M <- rand(2, 2,1), mysize[M] <- [2 2], size(M) = [2 2] + # - M <- rand(1, 2,1), mysize[M] <- 2, size(M) = [1 2] + + if (myisvector(M)) { + sz <- length(M) + } else { + sz <- size(M) + } + return(sz) +}