CRAN Package Check Results for Package SFDesign

Last updated on 2025-05-09 06:49:30 CEST.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-fedora-clang 0.1.0 139.52 OK
r-devel-linux-x86_64-fedora-gcc 0.1.0 142.09 OK
r-release-macos-arm64 0.1.0 38.00 OK
r-release-macos-x86_64 0.1.0 60.00 OK
r-release-windows-x86_64 0.1.0 39.00 105.00 144.00 OK
r-oldrel-macos-arm64 0.1.0 45.00 OK
r-oldrel-macos-x86_64 0.1.0 64.00 ERROR

Check Details

Version: 0.1.0
Check: examples
Result: ERROR Running examples in ‘SFDesign-Ex.R’ failed The error most likely occurred in: > ### Name: customLHD > ### Title: Generate a Latin-hypercube design (LHD) based on a custom > ### criterion. > ### Aliases: customLHD > > ### ** Examples > > # Below is an example showing how to create functions needed to generate > # MaxPro LHD manually by customLHD without using the maxproLHD function in > # the package. > compute.distance.matrix <- function(A){ + s = 2 + log_prod_metric = function(x, y) s * sum(log(abs(x-y))) + return (c(proxy::dist(A, log_prod_metric))) + } > compute.criterion <- function(n, p, d) { + s = 2 + dim <- as.integer(n * (n - 1) / 2) + # Find the minimum distance + Dmin <- min(d) + # Compute the exponential summation + avgdist <- sum(exp(Dmin - d)) + # Apply the logarithmic transformation and scaling + avgdist <- log(avgdist) - Dmin + avgdist <- exp((avgdist - log(dim)) * (p * s) ^ (-1)) + return(avgdist) + } > > update.distance.matrix <- function(A, col, selrow1, selrow2, d) { + s = 2 + n = nrow(A) + # transform from c++ idx to r idx + selrow1 = selrow1 + 1 + selrow2 = selrow2 + 1 + col = col + 1 + # A is the updated matrix + row1 <- min(selrow1, selrow2) + row2 <- max(selrow1, selrow2) + + compute_position <- function(row, h, n) { + n * (h-1) - h*(h-1)/2 + row-h + } + + # Update for rows less than row1 + if (row1 > 1) { + for (h in 1:(row1-1)) { + position1 <- compute_position(row1, h, n) + position2 <- compute_position(row2, h, n) + for (c in col){ + d[position1] <- d[position1] + s * log(abs(A[row1, c] - A[h, c])) - + s * log(abs(A[row2, c] - A[h, c])) + d[position2] <- d[position2] + s * log(abs(A[row2, c] - A[h, c])) - + s * log(abs(A[row1, c] - A[h, c])) + } + } + } + + # Update for rows between row1 and row2 + if ((row2-row1) > 1){ + for (h in (row1+1):(row2-1)) { + position1 <- compute_position(h, row1, n) + position2 <- compute_position(row2, h, n) + for (c in col){ + d[position1] <- d[position1] + s * log(abs(A[row1, c] - A[h, c])) - + s * log(abs(A[row2, c] - A[h, c])) + d[position2] <- d[position2] + s * log(abs(A[row2, c] - A[h, c])) - + s * log(abs(A[row1, c] - A[h, c])) + } + } + } + + # Update for rows greater than row2 + if (row2 < n) { + for (h in (row2+1):n) { + position1 <- compute_position(h, row1, n) + position2 <- compute_position(h, row2, n) + for (c in col){ + d[position1] <- d[position1] + s * log(abs(A[row1, c] - A[h, c])) - + s * log(abs(A[row2, c] - A[h, c])) + d[position2] <- d[position2] + s * log(abs(A[row2, c] - A[h, c])) - + s * log(abs(A[row1, c] - A[h, c])) + } + } + } + return (d) + } > > n = 10 > p = 2 > # Find an appropriate initial temperature > crit1 = 1 / (n-1) > crit2 = (1 / ((n-1)^(p-1) * (n-2))) ^ (1/p) > delta = crit2 - crit1 > temp = - delta / log(0.99) > result_custom = customLHD(compute.distance.matrix, + function(d) compute.criterion(n, p, d), + update.distance.matrix, n, p, temp = temp) *** caught segfault *** address 0x30, cause 'memory not mapped' Flavor: r-oldrel-macos-x86_64