R : Copyright 1999, The R Development Core Team Version 0.90.0 Under development (unstable) (October 22, 1999) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type "?license" or "?licence" for distribution details. R is a collaborative project with many contributors. Type "?contributors" for a list. Type "demo()" for some demos, "help()" for on-line help, or "help.start()" for a HTML browser interface to help. Type "q()" to quit R. > ###---- ALL tests here should return TRUE ! > ### > ###---- "Real" Arithmetic; Numerics etc --> ./arith-true.R > > ## sum(): > all(1:12 == cumsum(rep(1,12))) [1] TRUE > x <- rnorm(127); sx <- sum(x); abs((sum(rev(x)) -sx)) < 1e-12 * abs(sx) [1] TRUE > > ## seq(): > typeof(1:4) == "integer" #-- fails for 0.2, 0.3,.., 0.9 [1] TRUE > > all((0:6) == pi + ((-pi):pi)) [1] TRUE > all((0:7) == (pi+seq(-pi,pi, len=8))*7/(2*pi)) [1] TRUE > > 1 == as.integer(is.na(c(pi,NA)[2])) [1] TRUE > 1 == as.integer(is.nan(0/0)) [1] TRUE > > ## rev(): > cc <- c(1:10,10:1) ; all(cc == rev(cc)) [1] TRUE > > ## dim[names](): > all(names(c(a=pi, b=1, d=1:4)) == c("a","b", paste("d", 1:4, sep=""))) [1] TRUE > ##P names(c(a=pi, b=1, d=1:4)) > ncb <- dimnames(cbind(a=1, yy=1:3))[[2]] > (!is.null(ncb)) && all(ncb == c("a","yy")) [1] TRUE > > all(cbind(a=1:2, b=1:3, c=1:6) == t(rbind(a=1:2, b=1:3, c=1:6))) [1] TRUE > ##P rbind(a=1:2, b=1:3, c=1:6) > all(dim(cbind(cbind(I=1,x=1:4), c(a=pi))) == 4:3)# fails in S+ [1] TRUE > > ## factor(): > is.factor(factor(list())) [1] TRUE > all(levels(ordered(rev(gl(3,4)))) == 1:3)# coercion to char [1] TRUE > all(levels(factor(factor(9:1)[3:5])) == 5:7) [1] TRUE >