{
  "_id": "6a1d368b1d7bb097a0a3d1e5",
  "Package": "hutilscpp",
  "Title": "Miscellaneous Functions in C++",
  "Version": "0.10.10",
  "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",
  "RoxygenNote": "7.3.2",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-06-01 07:33:02 UTC",
    "User": "root"
  },
  "Author": "Hugh Parsonage [aut, cre], Simon Urbanek [ctb] (fastmatch\ncomponents)",
  "Maintainer": "Hugh Parsonage <hugh.parsonage@gmail.com>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2025-03-20 08:10:02 UTC",
  "RemoteUrl": "https://github.com/cran/hutilscpp",
  "RemoteRef": "HEAD",
  "RemoteSha": "ef682c25596287aa1a9a6dcfded3f69960d694f5",
  "MD5sum": "92f33f97f369690d32ecdab94539dd5a",
  "_user": "cran",
  "_type": "src",
  "_file": "hutilscpp_0.10.10.tar.gz",
  "_fileid": "2eb93ddba0142fc1873420b8fea4851472c3a8046cc58fa57e4a1a59cd73a1f9",
  "_filesize": 612785,
  "_sha256": "2eb93ddba0142fc1873420b8fea4851472c3a8046cc58fa57e4a1a59cd73a1f9",
  "_created": "2026-06-01T07:33:02.000Z",
  "_published": "2026-06-01T07:36:43.178Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78806291427,
      "time": 165,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7325796136"
    },
    {
      "job": 78806291420,
      "time": 149,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7325791987"
    },
    {
      "job": 78806291430,
      "time": 169,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7325797913"
    },
    {
      "job": 78806291445,
      "time": 169,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7325797678"
    },
    {
      "job": 78805852859,
      "time": 194,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7325750062"
    },
    {
      "job": 78806291387,
      "time": 112,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7325782024"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/26741173299",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cran/hutilscpp",
  "_commit": {
    "id": "ef682c25596287aa1a9a6dcfded3f69960d694f5",
    "author": "Hugh Parsonage <hugh.parsonage@gmail.com>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.10.10\n",
    "time": 1742458202
  },
  "_maintainer": {
    "name": "Hugh Parsonage",
    "email": "hugh.parsonage@gmail.com",
    "login": "hughparsonage",
    "description": "",
    "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": "cran",
  "_selfowned": false,
  "_usedby": 2,
  "_updates": [],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "hughparsonage",
      "count": 21,
      "uuid": 8111628
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 275,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/hutilscpp"
  },
  "_devurl": "https://github.com/hughparsonage/hutilscpp",
  "_searchresults": 116,
  "_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": false,
  "_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",
    "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": "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/cran/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": 3.5415792439465807,
  "_indexed": false,
  "_nocasepkg": "hutilscpp",
  "_universes": [
    "cran"
  ],
  "_indexurl": "https://hughparsonage.r-universe.dev/hutilscpp",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.10.10",
      "date": "2026-06-01T07:35:17.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "ef682c25596287aa1a9a6dcfded3f69960d694f5",
      "fileid": "5f201c7111da25e237027eb9aa5fc61ab4bf6eaa3d8f71c72b449336531c839f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/26741173299"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.10.10",
      "date": "2026-06-01T07:35:13.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "ef682c25596287aa1a9a6dcfded3f69960d694f5",
      "fileid": "7c624a3df60270214b20efbf91bd5e837e350d0d58912ad9649470d66307d393",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/26741173299"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.10.10",
      "date": "2026-06-01T07:35:18.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "ef682c25596287aa1a9a6dcfded3f69960d694f5",
      "fileid": "49499437b71b51e5d026f1cb6f51033ff2d0450c8ca4e423987b23a4f35e4a44",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/26741173299"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.10.10",
      "date": "2026-06-01T07:35:19.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "ef682c25596287aa1a9a6dcfded3f69960d694f5",
      "fileid": "4688376ff989d22e9ce9a4a2bbd2526523db538cadc378fe95c4dca4a1fe79a9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/26741173299"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.10.10",
      "date": "2026-06-01T07:35:18.000Z",
      "arch": "emscripten",
      "commit": "ef682c25596287aa1a9a6dcfded3f69960d694f5",
      "fileid": "b4e9a15e638900d2fa116e3f5cf76065be42f995a3ab537f7ba63eadfdeb5926",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/26741173299"
    }
  ]
}