CRAN Package Check Results for Package nor1mix

Last updated on 2026-02-12 18:49:28 CET.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 1.3-3 OK
r-devel-linux-x86_64-debian-gcc 1.3-3 2.18 23.24 25.42 OK
r-devel-linux-x86_64-fedora-clang 1.3-3 49.01 OK
r-devel-linux-x86_64-fedora-gcc 1.3-3 47.30 OK
r-devel-macos-arm64 1.3-3 1.00 19.00 20.00 ERROR
r-devel-windows-x86_64 1.3-3 3.00 50.00 53.00 OK
r-patched-linux-x86_64 1.3-3 3.29 26.52 29.81 OK
r-release-linux-x86_64 1.3-3 2.88 27.10 29.98 OK
r-release-macos-arm64 1.3-3 OK
r-release-macos-x86_64 1.3-3 2.00 44.00 46.00 OK
r-release-windows-x86_64 1.3-3 5.00 48.00 53.00 OK
r-oldrel-macos-arm64 1.3-3 OK
r-oldrel-macos-x86_64 1.3-3 2.00 34.00 36.00 OK
r-oldrel-windows-x86_64 1.3-3 3.00 57.00 60.00 OK

Check Details

Version: 1.3-3
Check: tests
Result: ERROR Running ‘MW.R’ [0s/0s] Comparing ‘MW.Rout’ to ‘MW.Rout.save’ ... OK Running ‘par.R’ [0s/0s] Running ‘qnorMix-ex.R’ [0s/0s] Running the tests in ‘tests/qnorMix-ex.R’ failed. Complete output: > ## Marron Wand examples are defined as norMix() calls in ../R/zMarrWand-dens.R > library("nor1mix") > > ii <- c(32, 39, 40, 40, 48, 48, 49, 56, 57, 58, 65) > pp <- 0.486 + ii / 100000 # very constrained set > > e <- norMix(mu = c(-0.825,0.275), sigma = sqrt(0.773), w = c(1, 3)/4) > > qnorMix(pp, e, trace = TRUE) 1: relE =2.995e-14 [1] -0.007781385 -0.007605111 -0.007579910 -0.007579910 -0.007378307 [6] -0.007378307 -0.007353107 -0.007176708 -0.007151508 -0.007126309 [11] -0.006949786 > ## failed for version <= 1.0-5 > > q.pp <- -c(7.78151762922529, 7.60511100150266, 7.57991031275271, 7.57991031275271, + 7.37830712226037, 7.37830712226037, 7.35310701314534, 7.17670804948685, + 7.15150845450588, 7.12630892371882, 6.94991400429199) / 1000 > > for (m in eval(formals(qnorMix)$method)) { + cat("method ", m,":") + stopifnot(all.equal(q.pp, qnorMix(pp, e, method = m, tol = 1e-14), + tol = 1e-13),# 1.022e-14 (32-bit) + abs(qnorMix(rep(1/2, 8), MW.nm10, method = m)) < 1e-14 + ) + cat("\n") + } method interpQspline : method interpspline : method eachRoot : method root2 : > > ### a "nasty" example (for the newton steps): > ip <- c(0, 1e-11, 3.33e-09, 7.705488e-05, 0.0001670041, 0.00125378934, + 0.00141169953, 0.00357409109, 0.00644073795, 0.00853238955, 0.01361442421, + 0.01672761627, 0.02067755849, 0.02124092026, 0.03327537558, 0.03527226553, + 0.05365983941, 0.05482289811, 0.05669602608, 0.05982167629) > qv <- qnorMix(1-ip, MW.nm12, trace=1) ,,1: relE =0.003125 2: relE =0.0005494 3: relE =7.656e-05 > ## now ok > > ### --- lower.tail=FALSE did not work correctly at some point > qv. <- qnorMix(ip, MW.nm12, lower.tail=FALSE, trace=1)#2, maxiter=50) ,,1: relE =0.003125 2: relE =0.0005494 3: relE =7.656e-05 > stopifnot(all.equal(qv, qv., tol = 1e-5)) > > ## qnorMix(*, log.p=TRUE) currently warns about missing Newton step implementation > qnorMixLog <- function(p, obj, lower.tail = TRUE, ...) + suppressWarnings(qnorMix(p, obj, lower.tail=lower.tail, log.p=TRUE, ...)) > ## > n2 <- 8 > set.seed(11) > for(i in 1:50) { + cat(i, "", if(i %% 20 == 0)"\n") + u0 <- c(0,sort(runif(n2)),1) + q0 <- qnorMix(u0, MW.nm2, trace=0, tol=4e-16) + qL <- qnorMix(1-u0, MW.nm2, lower.tail=FALSE, trace=0, tol=4e-16) + stopifnot(all.equal(pnorMix(q0, MW.nm2), u0, tol=1e-15), + all.equal(q0, qL, tol=1e-14)) + i. <- 2:(n2+1); u0. <- u0[i.] + ## --- log.p= TRUE [no Newton steps] + q0. <- qnorMixLog(log ( u0.), MW.nm2, tol=4e-16) + qL. <- qnorMixLog(log1p(-u0.), MW.nm2, lower.tail=FALSE, tol=4e-16) + stopifnot(all.equal(pnorMix(q0, MW.nm2), u0, tol=1e-15), + all.equal(q0, qL, tol=1e-14), + all.equal(q0., qL., tol=1e-10), + all.equal(q0[i.], q0., tol = 6e-6)# no Newton => less accuracy + ) + }; cat("\n") 1 Error: q0 and qL are not equal: Mean relative difference: 1.037164e-14 Execution halted Flavor: r-devel-macos-arm64