Update toolchain
-
rustup self update -
rustup update stable -
cargo update -
cargo fetch
Code style
-
cargo fmt
| library(testthat) | |
| # Method A: round to 6 significant digits, then compare with default tiny tolerance | |
| equal_after_signif <- function(x, y) { | |
| expect_equal(signif(x, digits = 6), signif(y, digits = 6)) | |
| } | |
| # Method B: compare with relative/absolute tolerance = 1e-6 | |
| equal_with_tolerance <- function(x, y) { | |
| expect_equal(x, y, tolerance = 1e-6) |
Update toolchain
rustup self updaterustup update stablecargo updatecargo fetchCode style
cargo fmtPrepare
npm installAGENTS.md)AGENTS.md)Manifest
Update environment
uv self updateuv python pin 3.y.z - latest release versionuv lock --upgradeuv syncCode style
python scripts/verify_ascii.py| # <https://fdp.io/blog/2024-10-08-choosing-a-font/> | |
| uv init fontsub | |
| uv add fonttools | |
| uv add brotli | |
| pyftsubset "Iosevka-Extended.woff2" \ | |
| --output-file="Iosevka-Extended-subset.woff2" \ | |
| --flavor="woff2" \ | |
| --layout-features="*" \ |
| library(doFuture) | |
| plan(multisession, workers = 32) | |
| options(scipen = 999) | |
| anysvd <- function(id, dim = 10, nrep = 300) { | |
| results <- vector("list", nrep) | |
| for (j in 1:nrep) { |
| # Remove ProjectID from .Rproj files if freshly added | |
| local({ | |
| xfun <- requireNamespace("xfun", quietly = TRUE) | |
| rproj_files <- list.files(pattern = "\\.Rproj$", full.names = TRUE) | |
| if (!xfun || length(rproj_files) == 0L) return(invisible(NULL)) | |
| lapply(rproj_files, function(f) { | |
| diff_cmd <- system(paste("git diff --", shQuote(f)), intern = TRUE) | |
| diff_out <- tryCatch(diff_cmd, error = function(e) character(0)) |
| desc <- tempfile() | |
| curl::curl_download("https://cran.r-project.org/web/packages/tidyverse/DESCRIPTION", destfile = desc) | |
| deps <- desc::desc_get_deps(desc) | |
| pkgs <- deps[deps$type %in% c("Imports"), "package"] | |
| urls <- paste0("https://cloud.r-project.org/web/packages/", pkgs, "/news/news.html") | |
| html <- vector("list", length(urls)) | |
| for (i in seq_along(urls)) html[[i]] <- rawToChar(curl::curl_fetch_memory(urls[i])$content) | |
| markdown <- vector("list", length(urls)) | |
| for (i in seq_along(urls)) markdown[[i]] <- paste0(pandoc::pandoc_convert(text = html[[i]], from = "html", to = "markdown"), collapse = "\n") | |
| markdown <- markdown[-which(sapply(markdown, grepl, pattern = "# Not Found"))] |
n - 454 in an expect_indetical() call and set the comparison to condition to 0.rhub::rhub_setup() to add the R-hub v2 workflow.rhub::rhub_check() to run R-hub checks and select options to run the workflow.
You might be prompted to set up a GitHub PAT locally and need to do that.| n | 1 | 2 | 4 | 8 | 16 | |
|---|---|---|---|---|---|---|
| dplyr | 5093.77 | 2671.44 | 1447.21 | 810.42 | 446.06 | |
| data.table | 1336.79 | 677.94 | 364.5 | 217.75 | 143.95 |