{
  "_id": "6ad9ddfbc230b829876fe307",
  "Type": "Package",
  "Package": "natcpp",
  "Title": "Fast C++ Primitives for the 'NeuroAnatomy Toolbox'",
  "Version": "0.3.2.9000",
  "Authors@R": "c(person(given = \"Gregory\",\nfamily = \"Jefferis\",\nrole = c(\"aut\", \"cre\"),\nemail = \"jefferis@gmail.com\",\ncomment = c(ORCID = \"0000-0002-0587-9355\")),\nperson(given = \"libigl contributors\",\nrole = c(\"ctb\", \"cph\"),\ncomment = \"bundled libigl fast winding number code (MPL-2.0); see src/vendor/README.md\"))",
  "Description": "Fast functions implemented in C++ via 'Rcpp' to support\nthe 'NeuroAnatomy Toolbox' ('nat') ecosystem. These functions\nprovide large speed-ups for basic manipulation of neuronal\nskeletons over pure R functions found in the 'nat' package. The\nexpectation is that end users will not use this package\ndirectly, but instead the 'nat' package will automatically use\nroutines from this package when it is available to enable large\nperformance gains.",
  "License": "GPL (>= 3)",
  "URL": "https://github.com/natverse/natcpp, https://natverse.org/natcpp/",
  "BugReports": "https://github.com/natverse/natcpp/issues",
  "Config/testthat/edition": "3",
  "Encoding": "UTF-8",
  "Language": "en-GB",
  "Config/roxygen2/version": "8.1.0",
  "Repository": "https://natverse.r-universe.dev",
  "Date/Publication": "2026-09-22 10:08:55 UTC",
  "RemoteUrl": "https://github.com/natverse/natcpp",
  "RemoteRef": "HEAD",
  "RemoteSha": "8742508331f10c1703559939e51bf551499d0944",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-10-22 09:49:36 UTC",
    "User": "root"
  },
  "Author": "Gregory Jefferis [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-0587-9355>),\nlibigl contributors [ctb, cph] (bundled libigl fast winding number code\n(MPL-2.0); see src/vendor/README.md)",
  "Maintainer": "Gregory Jefferis <jefferis@gmail.com>",
  "_user": "natverse",
  "_type": "src",
  "_file": "natcpp_0.3.2.9000.tar.gz",
  "_fileid": "https://r2.ropensci.org/766440c020eafcb4534643b026f732a8426fb12f79739c38fe8d23180bbf0898",
  "_filesize": 292550,
  "_sha256": "766440c020eafcb4534643b026f732a8426fb12f79739c38fe8d23180bbf0898",
  "_expires": "2027-01-30T09:57:13.000Z",
  "_created": "2026-10-22T09:49:36.000Z",
  "_published": "2026-10-22T09:57:14.937Z",
  "_upstream": "https://github.com/natverse/natcpp",
  "_status": "success",
  "_maintainer": {
    "name": "Gregory Jefferis",
    "email": "jefferis@gmail.com",
    "login": "jefferis",
    "linkedin": "in/greg-jefferis-8b865287",
    "orcid": "0000-0002-0587-9355",
    "twitter": "@gsxej",
    "description": "develops @natverse, directs collaborative @flyconnectome group at Dept of Zoology, joint head of Division of Neurobiology @ MRC LMB.",
    "uuid": 23763
  },
  "_jobs": [
    {
      "job": 119756412875,
      "time": 133,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12416538598"
    },
    {
      "job": 119756412749,
      "time": 144,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12417555661"
    },
    {
      "job": 119756412720,
      "time": 245,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12416553038"
    },
    {
      "job": 119756412942,
      "time": 293,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12417222416"
    },
    {
      "job": 119756412932,
      "time": 151,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12417665414"
    },
    {
      "job": 119756412838,
      "time": 374,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12417910410"
    },
    {
      "job": 119756412782,
      "time": 151,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12416941984"
    },
    {
      "job": 119756412996,
      "time": 345,
      "config": "macos-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12417785606"
    },
    {
      "job": 119754193583,
      "time": 311,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12416852182"
    },
    {
      "job": 119756412739,
      "time": 281,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "12416912384"
    },
    {
      "job": 119756412796,
      "time": 390,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12416763678"
    },
    {
      "job": 119756412729,
      "time": 140,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12416832002"
    },
    {
      "job": 119756412903,
      "time": 119,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12416408276"
    },
    {
      "job": 119756412792,
      "time": 401,
      "config": "windows-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12417032556"
    },
    {
      "job": 119756412864,
      "time": 334,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12417232138"
    }
  ],
  "_buildurl": "https://github.com/r-universe/natverse/actions/runs/39757776676",
  "_commit": {
    "id": "8742508331f10c1703559939e51bf551499d0944",
    "author": "Gregory Jefferis <jefferis@gmail.com>",
    "committer": "Gregory Jefferis <jefferis@gmail.com>",
    "message": "Start 0.3.2.9000 dev cycle\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\n",
    "time": 1790071735
  },
  "_distro": "resolute",
  "_host": "GitHub-Actions",
  "_registered": true,
  "_dependencies": [
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "RcppEigen",
      "role": "LinkingTo"
    },
    {
      "package": "RcppThread",
      "role": "LinkingTo"
    },
    {
      "package": "Matrix",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "Rcpp",
      "version": ">= 1.0.6",
      "role": "Imports"
    },
    {
      "package": "spelling",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "natverse",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-14",
      "n": 2
    },
    {
      "week": "2026-27",
      "n": 1
    },
    {
      "week": "2026-28",
      "n": 4
    },
    {
      "week": "2026-29",
      "n": 2
    },
    {
      "week": "2026-30",
      "n": 1
    },
    {
      "week": "2026-38",
      "n": 8
    },
    {
      "week": "2026-39",
      "n": 3
    }
  ],
  "_tags": [
    {
      "name": "v0.3.0",
      "date": "2026-07-08"
    },
    {
      "name": "v0.3.1",
      "date": "2026-07-20"
    },
    {
      "name": "v0.3.2",
      "date": "2026-09-22"
    }
  ],
  "_topics": [
    "computational-neuroscience",
    "neuroanatomy-toolbox",
    "cpp"
  ],
  "_stars": 1,
  "_contributors": [
    {
      "user": "jefferis",
      "count": 94,
      "uuid": 23763
    }
  ],
  "_userbio": {
    "uuid": 53296153,
    "type": "organization",
    "name": "natverse",
    "followers": 38,
    "description": "R tools for quantitative neuroanatomy"
  },
  "_downloads": {
    "count": 391,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/natcpp"
  },
  "_devurl": "https://github.com/natverse/natcpp",
  "_pkgdown": "https://natverse.org/natcpp/",
  "_searchresults": 6,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/natcpp.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md"
  ],
  "_homeurl": "https://github.com/natverse/natcpp",
  "_realowner": "natverse",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2021-07-13"
    },
    {
      "version": "0.2",
      "date": "2025-10-14"
    },
    {
      "version": "0.3.0",
      "date": "2026-07-08"
    },
    {
      "version": "0.3.1",
      "date": "2026-07-20"
    },
    {
      "version": "0.3.2",
      "date": "2026-09-26"
    }
  ],
  "_exports": [
    "c_coords21dindex",
    "c_EdgeListFromSegList",
    "c_ijkpos",
    "c_listlengths",
    "c_ListofMatrixRows",
    "c_pointsinside",
    "c_seglengths",
    "c_sub2ind",
    "c_topntail",
    "c_topntail_list",
    "c_total_cable",
    "c_weighted_jaccard_dense",
    "c_weighted_jaccard_sparse"
  ],
  "_help": [
    {
      "page": "c_coords21dindex",
      "title": "Convert physical coordinates to 1d indices into image array",
      "topics": [
        "c_coords21dindex"
      ]
    },
    {
      "page": "c_EdgeListFromSegList",
      "title": "Turn a segment list into an edgelist suitable for constructing an ngraph",
      "topics": [
        "c_EdgeListFromSegList"
      ]
    },
    {
      "page": "c_ijkpos",
      "title": "Convert physical coordinates to pixel coordinates",
      "topics": [
        "c_ijkpos"
      ]
    },
    {
      "page": "c_listlengths",
      "title": "A simple function to compute the lengths of the elements of an R list",
      "topics": [
        "c_listlengths"
      ]
    },
    {
      "page": "c_ListofMatrixRows",
      "title": "Convert a matrix into list of row vectors",
      "topics": [
        "c_ListofMatrixRows"
      ]
    },
    {
      "page": "c_pointsinside",
      "title": "Test which points lie inside a triangle mesh (generalised winding number)",
      "topics": [
        "c_pointsinside"
      ]
    },
    {
      "page": "c_seglengths",
      "title": "Compute summed segment lengths or total cable",
      "topics": [
        "c_seglengths",
        "c_total_cable"
      ]
    },
    {
      "page": "c_sub2ind",
      "title": "Find 1D index given n-dimensional indices",
      "topics": [
        "c_sub2ind"
      ]
    },
    {
      "page": "c_topntail",
      "title": "Find the first and last elements of all vectors in a list",
      "topics": [
        "c_topntail",
        "c_topntail_list"
      ]
    },
    {
      "page": "c_weighted_jaccard_dense",
      "title": "Dense weighted Jaccard similarity via C++",
      "topics": [
        "c_weighted_jaccard_dense"
      ]
    },
    {
      "page": "c_weighted_jaccard_sparse",
      "title": "Sparse weighted Jaccard similarity via C++",
      "topics": [
        "c_weighted_jaccard_sparse"
      ]
    }
  ],
  "_readme": "https://github.com/natverse/natcpp/raw/HEAD/README.md",
  "_rundeps": [
    "lattice",
    "Matrix",
    "Rcpp",
    "RcppEigen",
    "RcppThread"
  ],
  "_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"
    }
  ],
  "_score": 3.5440680443502757,
  "_indexed": true,
  "_nocasepkg": "natcpp",
  "_universes": [
    "natverse",
    "jefferis"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.3.2.9000",
      "date": "2026-10-22T09:51:49.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "8742508331f10c1703559939e51bf551499d0944",
      "fileid": "https://r2.ropensci.org/44c8897cb72bd89fdcc395c1d40442fecec01f4166b958dbcdd38a4728d1c1bf",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/natverse/actions/runs/39757776676"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.3.2.9000",
      "date": "2026-10-22T09:52:07.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "8742508331f10c1703559939e51bf551499d0944",
      "fileid": "https://r2.ropensci.org/c4d474f032ce48b54eba676882a99c9595a9af69ccd82a6018adf87c0c4e0e5d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/natverse/actions/runs/39757776676"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.3.2.9000",
      "date": "2026-10-22T09:53:45.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "8742508331f10c1703559939e51bf551499d0944",
      "fileid": "https://r2.ropensci.org/9414e71e796cb5ccd054db95caa566bd0f8701fb143e9add6adbbf00c24fe2c7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/natverse/actions/runs/39757776676"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.3.2.9000",
      "date": "2026-10-22T09:54:22.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "8742508331f10c1703559939e51bf551499d0944",
      "fileid": "https://r2.ropensci.org/84e6afc85a867f36310740c34463e9c07e730937b45c2a51b4d091960ea0e3bf",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/natverse/actions/runs/39757776676"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.3.2.9000",
      "date": "2026-10-22T09:52:00.000Z",
      "arch": "aarch64",
      "commit": "8742508331f10c1703559939e51bf551499d0944",
      "fileid": "https://r2.ropensci.org/4a8b7c7507997cc46c8cffff3e0faee2807adfced6239b951422bf41ddac0095",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/natverse/actions/runs/39757776676"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.3.2.9000",
      "date": "2026-10-22T09:54:31.000Z",
      "arch": "x86_64",
      "commit": "8742508331f10c1703559939e51bf551499d0944",
      "fileid": "https://r2.ropensci.org/ff063890e51cca1203b23500045bdb6858dd1bb2ccf7b0603a62933e7514c55e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/natverse/actions/runs/39757776676"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.3.2.9000",
      "date": "2026-10-22T09:51:55.000Z",
      "arch": "aarch64",
      "commit": "8742508331f10c1703559939e51bf551499d0944",
      "fileid": "https://r2.ropensci.org/b997f66a007d844a4b12744a9c7bde1d153254f7247e1fe9980b7eb5a7207f94",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/natverse/actions/runs/39757776676"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.3.2.9000",
      "date": "2026-10-22T09:53:52.000Z",
      "arch": "x86_64",
      "commit": "8742508331f10c1703559939e51bf551499d0944",
      "fileid": "https://r2.ropensci.org/2a14a494374ac002b3bf79b73049af4b590449d7c0e3b4b6cb765eabc8cefbab",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/natverse/actions/runs/39757776676"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.3.2.9000",
      "date": "2026-10-22T09:54:30.000Z",
      "arch": "emscripten",
      "commit": "8742508331f10c1703559939e51bf551499d0944",
      "fileid": "https://r2.ropensci.org/5a682cdc2246c9031c8feee920c300da66a026bd19592ba9e51526fe3a6b6cdb",
      "status": "success",
      "buildurl": "https://github.com/r-universe/natverse/actions/runs/39757776676"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.3.2.9000",
      "date": "2026-10-22T09:55:16.000Z",
      "arch": "aarch64",
      "commit": "8742508331f10c1703559939e51bf551499d0944",
      "fileid": "https://r2.ropensci.org/d2bae77e6bcf75c0d68b5503e04f16b331e2c2a732faca991976fa5f0d5d0009",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/natverse/actions/runs/39757776676"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.3.2.9000",
      "date": "2026-10-22T09:50:55.000Z",
      "arch": "x86_64",
      "commit": "8742508331f10c1703559939e51bf551499d0944",
      "fileid": "https://r2.ropensci.org/235794e132c5d70a8c0c144846ca90c24d79650fdcf7cd3d87706ee21fa7f19b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/natverse/actions/runs/39757776676"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.3.2.9000",
      "date": "2026-10-22T09:51:00.000Z",
      "arch": "x86_64",
      "commit": "8742508331f10c1703559939e51bf551499d0944",
      "fileid": "https://r2.ropensci.org/68efd3dc15c8c76d093115476e48caf22c4ccc92182fea990e126abce5945953",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/natverse/actions/runs/39757776676"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.3.2.9000",
      "date": "2026-10-22T09:55:19.000Z",
      "arch": "aarch64",
      "commit": "8742508331f10c1703559939e51bf551499d0944",
      "fileid": "https://r2.ropensci.org/2c2e5dd6c7aa0d9a3caf156fdeddb995b0884bc83e352575589c56cc155461be",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/natverse/actions/runs/39757776676"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.3.2.9000",
      "date": "2026-10-22T09:54:32.000Z",
      "arch": "x86_64",
      "commit": "8742508331f10c1703559939e51bf551499d0944",
      "fileid": "https://r2.ropensci.org/c5e0b16924c5e61019d411f04cbf330373c546c325300377d1b8fdae3c53fae3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/natverse/actions/runs/39757776676"
    }
  ]
}