R Under development (unstable) (2023-11-08 r85496 ucrt) -- "Unsuffered Consequences" Copyright (C) 2023 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 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 more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > ### > ### roots.R +++ Test suite +++ > ### > > > test.roots <- function(input, expected) { + output <- do.call(getFromNamespace("roots", "pracma"), input) + identical(output, expected) + } > > roots.expected.empty <- matrix(0, nrow=0, ncol=0) > roots.expected.singl <- matrix(0, nrow=0, ncol=0) > roots.expected.bspl1 <- c(0, 2, -2, 1, -1) # Matlab: c(0, -2, -1, 1, 2) > c(0, 2, -2, 1, -1) [1] 0 2 -2 1 -1 > roots.expected.bspl2 <- c(0.5, -0.2) > roots.expected.bspl3 <- -c(0, 0, -1, 1) > > test.roots(list(p=c()), roots.expected.empty) [1] TRUE > test.roots(list(p=c(0)), roots.expected.singl) [1] TRUE > #test.roots(list(p=c(1,0,-5,0,4,0)), roots.expected.bspl1) # zapsmall > test.roots(list(p=c(1,-0.3,-0.1)), roots.expected.bspl2) [1] TRUE > test.roots(list(p=c(1,0,-1,0,0)), roots.expected.bspl3) [1] TRUE > > proc.time() user system elapsed 0.15 0.07 0.17