{
  "_id": "6aaf95af3d719c1f8407f4df",
  "Package": "dspline",
  "Title": "Tools for Computations with Discrete Splines",
  "Version": "1.0.4.9000",
  "Authors@R": "c(\nperson(\"Logan\", \"Brooks\", role = \"ctb\"),\nperson(\"Addison\", \"Hu\", role = \"aut\"),\nperson(\"Daniel\", \"McDonald\", role = \"ctb\"),\nperson(\"Ryan\", \"Tibshirani\", , \"ryantibs@gmail.com\",\nrole = c(\"aut\", \"cre\", \"cph\"))\n)",
  "Description": "Discrete splines are a class of univariate piecewise\npolynomial functions which are analogous to splines, but whose\nsmoothness is defined via divided differences rather than\nderivatives. Tools for efficient computations relating to\ndiscrete splines are provided here. These tools include\ndiscrete differentiation and integration, various matrix\ncomputations with discrete derivative or discrete spline bases\nmatrices, and interpolation within discrete spline spaces.\nThese techniques are described in Tibshirani (2020)\n<doi:10.48550/arXiv.2003.03886>.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/glmgen/dspline,\nhttps://glmgen.github.io/dspline/",
  "BugReports": "https://github.com/glmgen/dspline/issues",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.2",
  "Repository": "https://glmgen.r-universe.dev",
  "Date/Publication": "2026-03-24 15:10:14 UTC",
  "RemoteUrl": "https://github.com/glmgen/dspline",
  "RemoteRef": "HEAD",
  "RemoteSha": "675c94c45391442f182c9862aa4800e0f083aadb",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-09-20 08:07:35 UTC",
    "User": "root"
  },
  "Author": "Logan Brooks [ctb],\nAddison Hu [aut],\nDaniel McDonald [ctb],\nRyan Tibshirani [aut, cre, cph]",
  "Maintainer": "Ryan Tibshirani <ryantibs@gmail.com>",
  "_user": "glmgen",
  "_type": "src",
  "_file": "dspline_1.0.4.9000.tar.gz",
  "_fileid": "https://r2.ropensci.org/e97e59f53af13e222ca4bd9cf19e561558e8f013b5aeed53af317e1e1bb9bb79",
  "_filesize": 5250705,
  "_sha256": "e97e59f53af13e222ca4bd9cf19e561558e8f013b5aeed53af317e1e1bb9bb79",
  "_expires": "2026-12-29T08:13:32.000Z",
  "_created": "2026-09-20T08:07:35.000Z",
  "_published": "2026-09-20T08:13:34.942Z",
  "_jobs": [
    {
      "job": 106046511300,
      "time": 143,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10601039473"
    },
    {
      "job": 106046511318,
      "time": 164,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10600998069"
    },
    {
      "job": 106046511367,
      "time": 140,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10601092937"
    },
    {
      "job": 106046511447,
      "time": 147,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10601493868"
    },
    {
      "job": 106046511310,
      "time": 111,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10601457549"
    },
    {
      "job": 106046511351,
      "time": 280,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10601613919"
    },
    {
      "job": 106046511228,
      "time": 113,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10601349068"
    },
    {
      "job": 106046511222,
      "time": 283,
      "config": "macos-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10601613920"
    },
    {
      "job": 106045921336,
      "time": 280,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10600658447"
    },
    {
      "job": 106046511252,
      "time": 130,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "10600789865"
    },
    {
      "job": 106046511260,
      "time": 223,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10601768313"
    },
    {
      "job": 106046511268,
      "time": 182,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10600688603"
    },
    {
      "job": 106046511306,
      "time": 137,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10601603721"
    },
    {
      "job": 106046511263,
      "time": 216,
      "config": "windows-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10600988087"
    },
    {
      "job": 106046511247,
      "time": 135,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10601498877"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/glmgen/actions/runs/35498506424",
  "_status": "success",
  "_upstream": "https://github.com/glmgen/dspline",
  "_commit": {
    "id": "675c94c45391442f182c9862aa4800e0f083aadb",
    "author": "Ryan Tibshirani <ryantibs@gmail.com>",
    "committer": "Ryan Tibshirani <ryantibs@gmail.com>",
    "message": "Increment version number to 1.0.4.9000\n",
    "time": 1774365014
  },
  "_maintainer": {
    "name": "Ryan Tibshirani",
    "email": "ryantibs@gmail.com",
    "login": "ryantibs",
    "description": "",
    "uuid": 732541
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "RcppEigen",
      "role": "LinkingTo"
    },
    {
      "package": "Matrix",
      "role": "Imports"
    },
    {
      "package": "Rcpp",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "glmgen",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [
    {
      "week": "2025-46",
      "n": 1
    },
    {
      "week": "2025-47",
      "n": 1
    },
    {
      "week": "2026-10",
      "n": 1
    },
    {
      "week": "2026-12",
      "n": 4
    },
    {
      "week": "2026-13",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "v1.0.4",
      "date": "2026-03-18"
    }
  ],
  "_stars": 7,
  "_contributors": [
    {
      "user": "ryantibs",
      "count": 89,
      "uuid": 732541
    },
    {
      "user": "dajmcdon",
      "count": 33,
      "uuid": 20528078
    },
    {
      "user": "huisaddison",
      "count": 19,
      "uuid": 8422804
    },
    {
      "user": "brookslogan",
      "count": 4,
      "uuid": 24498353
    }
  ],
  "_userbio": {
    "uuid": 40702460,
    "type": "organization",
    "name": "glmgen",
    "followers": 7
  },
  "_downloads": {
    "count": 415,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/dspline"
  },
  "_devurl": "https://github.com/glmgen/dspline",
  "_pkgdown": "https://glmgen.github.io/dspline/",
  "_searchresults": 7,
  "_topics": [
    "cpp"
  ],
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/dspline.html",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_homeurl": "https://github.com/glmgen/dspline",
  "_realowner": "glmgen",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0.2",
      "date": "2025-05-14"
    },
    {
      "version": "1.0.3",
      "date": "2025-11-23"
    },
    {
      "version": "1.0.4",
      "date": "2026-03-18"
    }
  ],
  "_exports": [
    ".b_mat_mult",
    ".divided_diff",
    ".h_mat_mult",
    "b_mat",
    "b_mat_mult",
    "d_mat",
    "d_mat_mult",
    "discrete_deriv",
    "discrete_integ",
    "divided_diff",
    "dspline_interp",
    "dspline_solve",
    "h_eval",
    "h_mat",
    "h_mat_mult",
    "n_eval",
    "n_mat"
  ],
  "_help": [
    {
      "page": "b_mat",
      "title": "Construct B matrix",
      "topics": [
        "b_mat"
      ]
    },
    {
      "page": "b_mat_mult",
      "title": "Multiply by B matrix",
      "topics": [
        "b_mat_mult"
      ]
    },
    {
      "page": "d_mat",
      "title": "Construct D matrix",
      "topics": [
        "d_mat"
      ]
    },
    {
      "page": "d_mat_mult",
      "title": "Multiply by D matrix",
      "topics": [
        "d_mat_mult"
      ]
    },
    {
      "page": "discrete_deriv",
      "title": "Discrete differentiation",
      "topics": [
        "discrete_deriv"
      ]
    },
    {
      "page": "discrete_integ",
      "title": "Discrete integration",
      "topics": [
        "discrete_integ"
      ]
    },
    {
      "page": "divided_diff",
      "title": "Divided differencing",
      "topics": [
        "divided_diff"
      ]
    },
    {
      "page": "dot_functions",
      "title": "In-place computations",
      "topics": [
        ".b_mat_mult",
        ".divided_diff",
        ".h_mat_mult",
        "dot_functions"
      ]
    },
    {
      "page": "dspline_interp",
      "title": "Discrete spline interpolation",
      "topics": [
        "dspline_interp"
      ]
    },
    {
      "page": "dspline_solve",
      "title": "Discrete spline projection",
      "topics": [
        "dspline_solve"
      ]
    },
    {
      "page": "h_eval",
      "title": "Evaluate H basis",
      "topics": [
        "h_eval"
      ]
    },
    {
      "page": "h_mat",
      "title": "Construct H matrix",
      "topics": [
        "h_mat"
      ]
    },
    {
      "page": "h_mat_mult",
      "title": "Multiply by H matrix",
      "topics": [
        "h_mat_mult"
      ]
    },
    {
      "page": "n_eval",
      "title": "Evaluate N basis",
      "topics": [
        "n_eval"
      ]
    },
    {
      "page": "n_mat",
      "title": "Construct N matrix",
      "topics": [
        "n_mat"
      ]
    }
  ],
  "_readme": "https://github.com/glmgen/dspline/raw/HEAD/README.md",
  "_rundeps": [
    "lattice",
    "Matrix",
    "Rcpp",
    "RcppEigen",
    "rlang"
  ],
  "_sysdeps": [
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "16-20260322-1ubuntu1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    }
  ],
  "_vignettes": [
    {
      "source": "dspline.Rmd",
      "filename": "dspline.html",
      "title": "Introduction to dspline",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Computing discrete derivatives",
        "Discrete spline smoothing",
        "Relation to trend filtering",
        "Discrete spline interpolation",
        "Matching derivatives"
      ],
      "created": "2022-05-30 18:49:29",
      "modified": "2025-06-02 23:29:50",
      "commits": 9
    }
  ],
  "_score": 6.19728055812562,
  "_indexed": true,
  "_nocasepkg": "dspline",
  "_universes": [
    "glmgen",
    "ryantibs"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.4.9000",
      "date": "2026-09-20T08:10:01.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "675c94c45391442f182c9862aa4800e0f083aadb",
      "fileid": "https://r2.ropensci.org/e76d36b1134295293dc374b9d2f888fc16b7e039907de1f321f1b1c82e33c83d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/glmgen/actions/runs/35498506424"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.4.9000",
      "date": "2026-09-20T08:10:11.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "675c94c45391442f182c9862aa4800e0f083aadb",
      "fileid": "https://r2.ropensci.org/de024cf29c7ea4dc037cfa49128c1b8143646a4c1cbea88390a2b4346f74c9c0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/glmgen/actions/runs/35498506424"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.0.4.9000",
      "date": "2026-09-20T08:09:58.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "675c94c45391442f182c9862aa4800e0f083aadb",
      "fileid": "https://r2.ropensci.org/25c679c7f1bc1427b731b8fe88cafa091fefbe9add30fc26e04c9994e63efee7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/glmgen/actions/runs/35498506424"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.0.4.9000",
      "date": "2026-09-20T08:10:09.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "675c94c45391442f182c9862aa4800e0f083aadb",
      "fileid": "https://r2.ropensci.org/f8345e87b19ead49060515f3a3c691c659b4f70888f0e174904c14a843d4ec75",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/glmgen/actions/runs/35498506424"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.4.9000",
      "date": "2026-09-20T08:09:36.000Z",
      "arch": "aarch64",
      "commit": "675c94c45391442f182c9862aa4800e0f083aadb",
      "fileid": "https://r2.ropensci.org/5fea19c1ca69f205033d0bbfc421f73edbd4856b35724f87cfb10a346d732b5c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/glmgen/actions/runs/35498506424"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.4.9000",
      "date": "2026-09-20T08:11:12.000Z",
      "arch": "x86_64",
      "commit": "675c94c45391442f182c9862aa4800e0f083aadb",
      "fileid": "https://r2.ropensci.org/99e13ce4970a2987d32b51356fa2161ee417dbecb34f8b08b02a990f09daef1d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/glmgen/actions/runs/35498506424"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.0.4.9000",
      "date": "2026-09-20T08:09:39.000Z",
      "arch": "aarch64",
      "commit": "675c94c45391442f182c9862aa4800e0f083aadb",
      "fileid": "https://r2.ropensci.org/c30e98546344ffc29aad2cc888d28efb191d8898cd7f1af5189fae204671fc4a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/glmgen/actions/runs/35498506424"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.0.4.9000",
      "date": "2026-09-20T08:11:35.000Z",
      "arch": "x86_64",
      "commit": "675c94c45391442f182c9862aa4800e0f083aadb",
      "fileid": "https://r2.ropensci.org/c182b2ea0400676de1c127ef48c33e1a8e0d5b332854bce39a7ab0f1ab4eed29",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/glmgen/actions/runs/35498506424"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.4.9000",
      "date": "2026-09-20T08:10:07.000Z",
      "arch": "emscripten",
      "commit": "675c94c45391442f182c9862aa4800e0f083aadb",
      "fileid": "https://r2.ropensci.org/a7ebb0a93fe05e9869760275e82ba173505374d21535d7764531e09d78816b69",
      "status": "success",
      "buildurl": "https://github.com/r-universe/glmgen/actions/runs/35498506424"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.4.9000",
      "date": "2026-09-20T08:10:53.000Z",
      "arch": "aarch64",
      "commit": "675c94c45391442f182c9862aa4800e0f083aadb",
      "fileid": "https://r2.ropensci.org/50a2c08a3fbef77fb74200422657eb97347f547af620e6fb61c54d5d8be6a9ab",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/glmgen/actions/runs/35498506424"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.4.9000",
      "date": "2026-09-20T08:09:15.000Z",
      "arch": "x86_64",
      "commit": "675c94c45391442f182c9862aa4800e0f083aadb",
      "fileid": "https://r2.ropensci.org/297e92e7ebcf39b4f0c783d24aa1a8a61fd56dd18138b3e5b66defb8663aa8d2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/glmgen/actions/runs/35498506424"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.0.4.9000",
      "date": "2026-09-20T08:09:12.000Z",
      "arch": "x86_64",
      "commit": "675c94c45391442f182c9862aa4800e0f083aadb",
      "fileid": "https://r2.ropensci.org/261c91787b1c40e1a2e045c532be3550853e3eb4aa0571b2a1a805b9bb6a9595",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/glmgen/actions/runs/35498506424"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.0.4.9000",
      "date": "2026-09-20T08:10:50.000Z",
      "arch": "aarch64",
      "commit": "675c94c45391442f182c9862aa4800e0f083aadb",
      "fileid": "https://r2.ropensci.org/5cdc5aa77c1ea7d3184abdfceb83fb612cc72b001d9107bcb6a5d04594402a78",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/glmgen/actions/runs/35498506424"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.0.4.9000",
      "date": "2026-09-20T08:09:07.000Z",
      "arch": "x86_64",
      "commit": "675c94c45391442f182c9862aa4800e0f083aadb",
      "fileid": "https://r2.ropensci.org/ca1fbee2650005e3dbc3f3f5a218e46e446913b320ca25f577ee7e87991b75ec",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/glmgen/actions/runs/35498506424"
    }
  ]
}