{
  "_id": "6a10237facfb0bcc41c8d74f",
  "Package": "hutilscpp",
  "Title": "Miscellaneous Functions in C++",
  "Version": "0.11.0",
  "Authors@R": "c(person(given = \"Hugh\",\nfamily = \"Parsonage\",\nrole = c(\"aut\", \"cre\"),\nemail = \"hugh.parsonage@gmail.com\"),\nperson(given = \"Simon\",\nfamily = \"Urbanek\",\nrole = \"ctb\",\ncomment = \"fastmatch components\"))",
  "Description": "Provides utility functions that are simply, frequently\nused, but may require higher performance that what can be\nobtained from base R. Incidentally provides support for\n'reverse geocoding', such as matching a point with its nearest\nneighbour in another array. Used as a complement to package\n'hutils' by sacrificing compilation or installation time for\nhigher running speeds. The name is a portmanteau of the author\nand 'Rcpp'.",
  "URL": "https://github.com/hughparsonage/hutilscpp",
  "BugReports": "https://github.com/hughparsonage/hutilscpp/issues",
  "License": "GPL-2",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "Repository": "https://hughparsonage.r-universe.dev",
  "Date/Publication": "2026-05-13 12:21:09 UTC",
  "RemoteUrl": "https://github.com/hughparsonage/hutilscpp",
  "RemoteRef": "HEAD",
  "RemoteSha": "f323b91884d98e63d47a7db7f2bda4b177b60a3c",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-05-13 14:46:27 UTC",
    "User": "root"
  },
  "Author": "Hugh Parsonage [aut, cre],\nSimon Urbanek [ctb] (fastmatch components)",
  "Maintainer": "Hugh Parsonage <hugh.parsonage@gmail.com>",
  "MD5sum": "04764a0987a233690e906ddabb2c1a21",
  "_user": "hughparsonage",
  "_type": "src",
  "_file": "hutilscpp_0.11.0.tar.gz",
  "_fileid": "3a5fe3246ba8c8bc5789ff0eb3b2710d940c3bbeec08ed22cdb613f44c61ab40",
  "_filesize": 648527,
  "_sha256": "3a5fe3246ba8c8bc5789ff0eb3b2710d940c3bbeec08ed22cdb613f44c61ab40",
  "_created": "2026-05-13T14:46:27.000Z",
  "_published": "2026-05-22T09:35:59.535Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77353956937,
      "time": 166,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6973388195"
    },
    {
      "job": 77353957129,
      "time": 165,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6973388282"
    },
    {
      "job": 77353957442,
      "time": 202,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6973402370"
    },
    {
      "job": 77353957242,
      "time": 225,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6973410949"
    },
    {
      "job": 77353957251,
      "time": 109,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6973363648"
    },
    {
      "job": 77353957047,
      "time": 307,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6973458952"
    },
    {
      "job": 77353957633,
      "time": 141,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6973387532"
    },
    {
      "job": 77353957014,
      "time": 586,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6973573421"
    },
    {
      "job": 77353956925,
      "time": 196,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6973316892"
    },
    {
      "job": 77353956643,
      "time": 92,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7157405049"
    },
    {
      "job": 77353957259,
      "time": 155,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6973382196"
    },
    {
      "job": 77353957371,
      "time": 149,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6973379094"
    },
    {
      "job": 77353957470,
      "time": 149,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6973379543"
    }
  ],
  "_buildurl": "https://github.com/r-universe/hughparsonage/actions/runs/25806402420",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/hughparsonage/hutilscpp",
  "_commit": {
    "id": "f323b91884d98e63d47a7db7f2bda4b177b60a3c",
    "author": "HughParsonage <hugh.parsonage@gmail.com>",
    "committer": "HughParsonage <hugh.parsonage@gmail.com>",
    "message": "Fix ALTREP NA counts and add mean_isna\n",
    "time": 1778674869
  },
  "_maintainer": {
    "name": "Hugh Parsonage",
    "email": "hugh.parsonage@gmail.com",
    "login": "hughparsonage",
    "uuid": 8111628
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.3.0",
      "role": "Depends"
    },
    {
      "package": "data.table",
      "role": "Imports"
    },
    {
      "package": "hutils",
      "role": "Imports"
    },
    {
      "package": "magrittr",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "bench",
      "role": "Suggests"
    },
    {
      "package": "parallel",
      "role": "Suggests"
    },
    {
      "package": "TeXCheckR",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    },
    {
      "package": "tinytest",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    }
  ],
  "_owner": "hughparsonage",
  "_selfowned": true,
  "_usedby": 2,
  "_updates": [
    {
      "week": "2026-19",
      "n": 16
    },
    {
      "week": "2026-20",
      "n": 8
    }
  ],
  "_tags": [],
  "_stars": 9,
  "_contributors": [
    {
      "user": "hughparsonage",
      "count": 820,
      "uuid": 8111628
    }
  ],
  "_userbio": {
    "uuid": 8111628,
    "type": "user",
    "name": "HughParsonage"
  },
  "_downloads": {
    "count": 339,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/hutilscpp"
  },
  "_devurl": "https://github.com/hughparsonage/hutilscpp",
  "_searchresults": 109,
  "_topics": [
    "openmp"
  ],
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/hutilscpp.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/hughparsonage/hutilscpp",
  "_realowner": "hughparsonage",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2019-02-03"
    },
    {
      "version": "0.2.0",
      "date": "2019-08-20"
    },
    {
      "version": "0.3.0",
      "date": "2019-10-16"
    },
    {
      "version": "0.5.0",
      "date": "2020-09-18"
    },
    {
      "version": "0.5.1",
      "date": "2020-10-14"
    },
    {
      "version": "0.5.2",
      "date": "2020-10-20"
    },
    {
      "version": "0.7.1",
      "date": "2021-05-31"
    },
    {
      "version": "0.7.2",
      "date": "2021-06-14"
    },
    {
      "version": "0.8.0",
      "date": "2021-07-24"
    },
    {
      "version": "0.8.1",
      "date": "2021-09-06"
    },
    {
      "version": "0.9.0",
      "date": "2022-04-12"
    },
    {
      "version": "0.9.1",
      "date": "2022-04-17"
    },
    {
      "version": "0.9.2",
      "date": "2022-09-29"
    },
    {
      "version": "0.9.3",
      "date": "2022-10-07"
    },
    {
      "version": "0.10.2",
      "date": "2023-10-11"
    },
    {
      "version": "0.10.4",
      "date": "2023-12-04"
    },
    {
      "version": "0.10.5",
      "date": "2024-07-21"
    },
    {
      "version": "0.10.6",
      "date": "2024-11-03"
    },
    {
      "version": "0.10.7",
      "date": "2025-01-08"
    },
    {
      "version": "0.10.8",
      "date": "2025-03-06"
    },
    {
      "version": "0.10.10",
      "date": "2025-03-22"
    }
  ],
  "_exports": [
    "abs_diff",
    "allNA",
    "and3",
    "and3s",
    "anyOutside",
    "are_even",
    "as_integer_if_safe",
    "bench_system_time",
    "character2integer",
    "coalesce0",
    "COALESCE0",
    "Comma",
    "count_logical",
    "cumsum_reset",
    "diam",
    "divisible",
    "divisible16",
    "divisible2",
    "every_int",
    "finp",
    "fmatchp",
    "fnotinp",
    "helper",
    "Implies",
    "is_constant",
    "is_sorted",
    "isntConstant",
    "isntSorted",
    "match_nrst_haversine",
    "max_abs_diff",
    "mean_isna",
    "minmax",
    "ModeC",
    "or3",
    "or3s",
    "pmax0",
    "pmax3",
    "pmaxC",
    "pmaxV",
    "pmin0",
    "pmin3",
    "pminC",
    "pminV",
    "poleInaccessibility2",
    "poleInaccessibility3",
    "range_rcpp",
    "squish",
    "sum_and3s",
    "sum_isna",
    "sum_or3s",
    "thinner",
    "unique_fmatch",
    "uniqueN_fmatch",
    "which_are_even",
    "which_first",
    "which_firstNA",
    "which_last",
    "which_lastNA",
    "which_true_onwards",
    "which3",
    "whichs",
    "xor2"
  ],
  "_help": [
    {
      "page": "abs_diff",
      "title": "Absolute difference",
      "topics": [
        "abs_diff",
        "max_abs_diff"
      ]
    },
    {
      "page": "allNA",
      "title": "Is a vector empty?",
      "topics": [
        "allNA"
      ]
    },
    {
      "page": "anyOutside",
      "title": "Are any values outside the interval specified?",
      "topics": [
        "anyOutside"
      ]
    },
    {
      "page": "are_even",
      "title": "Are elements of a vector even?",
      "topics": [
        "are_even",
        "which_are_even"
      ]
    },
    {
      "page": "as_integer_if_safe",
      "title": "Coerce from double to integer if safe",
      "topics": [
        "as_integer_if_safe"
      ]
    },
    {
      "page": "bench_system_time",
      "title": "Evaluate time of computation",
      "topics": [
        "bench_system_time"
      ]
    },
    {
      "page": "character2integer",
      "title": "Character to numeric",
      "topics": [
        "character2integer"
      ]
    },
    {
      "page": "coalesce0",
      "title": "Convenience function for coalescing to zero",
      "topics": [
        "COALESCE0",
        "coalesce0"
      ]
    },
    {
      "page": "Comma",
      "title": "Faster version of 'scales::comma'",
      "topics": [
        "Comma"
      ]
    },
    {
      "page": "count_logical",
      "title": "Count logicals",
      "topics": [
        "count_logical"
      ]
    },
    {
      "page": "cumsum_reset",
      "title": "Cumulative sum unless reset",
      "topics": [
        "cumsum_reset"
      ]
    },
    {
      "page": "diam",
      "title": "What is the diameter of set of points?",
      "topics": [
        "diam",
        "thinner"
      ]
    },
    {
      "page": "divisible",
      "title": "Divisibility",
      "topics": [
        "divisible",
        "divisible16",
        "divisible2"
      ]
    },
    {
      "page": "every_int",
      "title": "Every integer",
      "topics": [
        "every_int"
      ]
    },
    {
      "page": "fmatchp",
      "title": "Parallel fastmatching",
      "topics": [
        "finp",
        "fmatchp",
        "fnotinp"
      ]
    },
    {
      "page": "helper",
      "title": "Helper",
      "topics": [
        "helper"
      ]
    },
    {
      "page": "Implies",
      "title": "Implies",
      "topics": [
        "Implies"
      ]
    },
    {
      "page": "is_constant",
      "title": "Is a vector constant?",
      "topics": [
        "isntConstant",
        "is_constant"
      ]
    },
    {
      "page": "is_sorted",
      "title": "Is a vector sorted?",
      "topics": [
        "isntSorted",
        "is_sorted"
      ]
    },
    {
      "page": "logical3",
      "title": "Vectorized logical with support for short-circuits",
      "topics": [
        "and3",
        "logical3",
        "or3"
      ]
    },
    {
      "page": "logical3s",
      "title": "Complex logical expressions",
      "topics": [
        "and3s",
        "logical3s",
        "or3s"
      ]
    },
    {
      "page": "match_nrst_haversine",
      "title": "Match coordinates to nearest coordinates",
      "topics": [
        "match_nrst_haversine"
      ]
    },
    {
      "page": "mean_isna",
      "title": "Proportion of missing values",
      "topics": [
        "mean_isna"
      ]
    },
    {
      "page": "minmax",
      "title": "Minimum and maximum",
      "topics": [
        "minmax"
      ]
    },
    {
      "page": "ModeC",
      "title": "Most common element",
      "topics": [
        "ModeC"
      ]
    },
    {
      "page": "pmaxC",
      "title": "Parallel maximum/minimum",
      "topics": [
        "pmax0",
        "pmax3",
        "pmaxC",
        "pmaxV",
        "pmin0",
        "pmin3",
        "pminC",
        "pminV"
      ]
    },
    {
      "page": "poleInaccessibility",
      "title": "Find a binary pole of inaccessibility",
      "topics": [
        "poleInaccessibility",
        "poleInaccessibility2",
        "poleInaccessibility3"
      ]
    },
    {
      "page": "range_rcpp",
      "title": "Range C++",
      "topics": [
        "range_rcpp"
      ]
    },
    {
      "page": "squish",
      "title": "Squish into a range",
      "topics": [
        "squish"
      ]
    },
    {
      "page": "sum_and3s",
      "title": "Sum of logical expressions",
      "topics": [
        "sum_and3s",
        "sum_or3s"
      ]
    },
    {
      "page": "sum_isna",
      "title": "Number of missing values",
      "topics": [
        "sum_isna"
      ]
    },
    {
      "page": "unique_fmatch",
      "title": "Distinct elements",
      "topics": [
        "uniqueN_fmatch",
        "unique_fmatch"
      ]
    },
    {
      "page": "which_first",
      "title": "Where does a logical expression first return 'TRUE'?",
      "topics": [
        "which_first",
        "which_last"
      ]
    },
    {
      "page": "which_firstNA",
      "title": "First/last position of missing values",
      "topics": [
        "which_firstNA",
        "which_lastNA"
      ]
    },
    {
      "page": "which_true_onwards",
      "title": "At which point are all values true onwards",
      "topics": [
        "which_true_onwards"
      ]
    },
    {
      "page": "which3",
      "title": "which of three vectors are the elements (all, any) true?",
      "topics": [
        "which3"
      ]
    },
    {
      "page": "whichs",
      "title": "Separated which",
      "topics": [
        "whichs"
      ]
    },
    {
      "page": "xor2",
      "title": "Exclusive or",
      "topics": [
        "xor2"
      ]
    }
  ],
  "_readme": "https://github.com/hughparsonage/hutilscpp/raw/HEAD/README.md",
  "_rundeps": [
    "data.table",
    "fastmatch",
    "hutils",
    "magrittr"
  ],
  "_sysdeps": [
    {
      "shlib": "libgomp",
      "package": "libgomp1",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "openmp",
      "homepage": "http://gcc.gnu.org/",
      "description": "GCC OpenMP (GOMP) support library"
    }
  ],
  "_score": 5.769820257763592,
  "_indexed": true,
  "_nocasepkg": "hutilscpp",
  "_universes": [
    "hughparsonage"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.11.0",
      "date": "2026-05-13T14:48:44.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "f323b91884d98e63d47a7db7f2bda4b177b60a3c",
      "fileid": "387f82f3e411842982e989658483336b7086620b1619b89f8254bc5eaa0ad7d3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hughparsonage/actions/runs/25806402420"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.11.0",
      "date": "2026-05-13T14:48:54.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "f323b91884d98e63d47a7db7f2bda4b177b60a3c",
      "fileid": "02341019fa5d009d877ae791f83729e0092987af3d1832c86b198a324fcc4253",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hughparsonage/actions/runs/25806402420"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.11.0",
      "date": "2026-05-13T14:49:22.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "f323b91884d98e63d47a7db7f2bda4b177b60a3c",
      "fileid": "a542c26da1291d57d50975445b288c681a31df2b3ebccf202a0e7ca2038abb61",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hughparsonage/actions/runs/25806402420"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.11.0",
      "date": "2026-05-13T14:48:57.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "f323b91884d98e63d47a7db7f2bda4b177b60a3c",
      "fileid": "b5a7a68bc98e6ccae9d0f22efa65b05fb29d5a27445e25ffa1df107ebe5eea30",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hughparsonage/actions/runs/25806402420"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.11.0",
      "date": "2026-05-13T14:48:06.000Z",
      "arch": "aarch64",
      "commit": "f323b91884d98e63d47a7db7f2bda4b177b60a3c",
      "fileid": "3809b8bff8ca6dbecbf341ffca911b7fa3cbfd2276ce990576c339fd8d53ae91",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hughparsonage/actions/runs/25806402420"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.11.0",
      "date": "2026-05-13T14:50:48.000Z",
      "arch": "x86_64",
      "commit": "f323b91884d98e63d47a7db7f2bda4b177b60a3c",
      "fileid": "9281b4c0f42c7db73a53b22f7542813a16e565bf859ddcdb606356a5d3700161",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hughparsonage/actions/runs/25806402420"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.11.0",
      "date": "2026-05-13T14:48:52.000Z",
      "arch": "aarch64",
      "commit": "f323b91884d98e63d47a7db7f2bda4b177b60a3c",
      "fileid": "f8333a1047766ea2813c8756cedb6d870f71b40492c91f62bdece7a3c73d244a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hughparsonage/actions/runs/25806402420"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.11.0",
      "date": "2026-05-13T14:52:50.000Z",
      "arch": "x86_64",
      "commit": "f323b91884d98e63d47a7db7f2bda4b177b60a3c",
      "fileid": "1a47fd0e844d32710de3be3ce210fdc3233dd808f667ce95ee3ef2943605a849",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hughparsonage/actions/runs/25806402420"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.11.0",
      "date": "2026-05-13T14:47:58.000Z",
      "arch": "x86_64",
      "commit": "f323b91884d98e63d47a7db7f2bda4b177b60a3c",
      "fileid": "1bd3243cbccd7d51b4df9ddd4807a91ee1968a13dc6e2aa107310a58cf2fc5c0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hughparsonage/actions/runs/25806402420"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.11.0",
      "date": "2026-05-13T14:47:51.000Z",
      "arch": "x86_64",
      "commit": "f323b91884d98e63d47a7db7f2bda4b177b60a3c",
      "fileid": "cf8911a3db9e14dc3bb1649eec5687f886c41fdc4ce41c2866f8dcc4d1c4ad88",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hughparsonage/actions/runs/25806402420"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.11.0",
      "date": "2026-05-13T14:47:50.000Z",
      "arch": "x86_64",
      "commit": "f323b91884d98e63d47a7db7f2bda4b177b60a3c",
      "fileid": "1052bde64b74e3f246185cf400227743f044ceacb6e77cd1152f56b52eb56dc6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hughparsonage/actions/runs/25806402420"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.11.0",
      "date": "2026-05-22T09:35:35.000Z",
      "arch": "emscripten",
      "commit": "f323b91884d98e63d47a7db7f2bda4b177b60a3c",
      "fileid": "ddd4990f09f52acb585fce570cfcd060eb71f14a5b7f62c42f53e8479c91a711",
      "status": "success",
      "buildurl": "https://github.com/r-universe/hughparsonage/actions/runs/25806402420"
    }
  ]
}