{
  "_id": "6abc2cf999f7aa8c6aa4a127",
  "Package": "numops",
  "Title": "Lightweight Numerical Operations",
  "Version": "1.0.0",
  "Authors@R": "person(given = c(\"Joao\", \"Claudio\"),\nfamily = \"Macosso\",\nemail = \"joaoclaudiomacosso@gmail.com\",\nrole = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0009-0006-5051-9312\"))",
  "URL": "https://github.com/Macosso/numops",
  "BugReports": "https://github.com/Macosso/numops/issues",
  "Description": "Provides dependency-free helpers for recurring numerical\ntasks on vectors, matrices, and arrays. Operations cover\nbounds, interpolation, remapping, division, Euclidean norms,\nnormalization, and adjacent differences. Multi-input operations\nuse strict scalar recycling, reject incompatible lengths, and\npreserve names, dimensions, and dimension names where\napplicable. Explicit handling of invalid intervals, zero\ndenominators, and zero norms gives consistent behavior for\ncommon edge cases.",
  "License": "GPL-3",
  "Encoding": "UTF-8",
  "VignetteBuilder": "knitr",
  "Roxygen": "list(markdown = TRUE)",
  "Config/roxygen2/version": "8.1.0",
  "Config/testthat/edition": "3",
  "Repository": "https://macosso.r-universe.dev",
  "Date/Publication": "2026-09-29 21:14:11 UTC",
  "RemoteUrl": "https://github.com/macosso/numops",
  "RemoteRef": "HEAD",
  "RemoteSha": "d78f66c62d44dd1d6a4db012f5852ef476a8cb6b",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-09-29 21:18:46 UTC",
    "User": "root"
  },
  "Author": "Joao Claudio Macosso [aut, cre] (ORCID:\n<https://orcid.org/0009-0006-5051-9312>)",
  "Maintainer": "Joao Claudio Macosso <joaoclaudiomacosso@gmail.com>",
  "_user": "macosso",
  "_type": "src",
  "_file": "numops_1.0.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/c39f183b012d639fce7d5d16f394dde0d9107d3050cf3bc74772be5f237172a1",
  "_filesize": 220640,
  "_sha256": "c39f183b012d639fce7d5d16f394dde0d9107d3050cf3bc74772be5f237172a1",
  "_expires": "2027-01-07T21:26:15.000Z",
  "_created": "2026-09-29T21:18:46.000Z",
  "_published": "2026-09-29T21:26:17.576Z",
  "_jobs": [
    {
      "job": 109624760907,
      "time": 170,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11063320977"
    },
    {
      "job": 109624760806,
      "time": 132,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11063550749"
    },
    {
      "job": 109624760915,
      "time": 83,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11063761624"
    },
    {
      "job": 109624760732,
      "time": 81,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11063486317"
    },
    {
      "job": 109623593368,
      "time": 184,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11063725441"
    },
    {
      "job": 109624760815,
      "time": 110,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11062609774"
    },
    {
      "job": 109624760984,
      "time": 62,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11063260720"
    },
    {
      "job": 109624760832,
      "time": 66,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11063695682"
    },
    {
      "job": 109624760817,
      "time": 68,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11062514797"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/macosso/actions/runs/36632063978",
  "_status": "success",
  "_upstream": "https://github.com/macosso/numops",
  "_commit": {
    "id": "d78f66c62d44dd1d6a4db012f5852ef476a8cb6b",
    "author": "João Cláudio Macosso <63609513+Macosso@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #4 from Macosso/add-numops-logo\n\nAdd numops package logo",
    "time": 1790716451
  },
  "_maintainer": {
    "name": "Joao Claudio Macosso",
    "email": "joaoclaudiomacosso@gmail.com",
    "login": "macosso",
    "linkedin": "in/joão-cláudio-macosso-b99155a6",
    "description": "quant programmer",
    "uuid": 63609513,
    "orcid": "0009-0006-5051-9312"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "macosso",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-35",
      "n": 4
    },
    {
      "week": "2026-40",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "v1.0.0",
      "date": "2026-08-26"
    }
  ],
  "_stars": 1,
  "_contributors": [
    {
      "user": "macosso",
      "count": 19,
      "uuid": 63609513
    }
  ],
  "_userbio": {
    "uuid": 63609513,
    "type": "user",
    "name": "João Cláudio Macosso",
    "followers": 2,
    "description": "quant programmer"
  },
  "_downloads": {
    "count": 249,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/numops"
  },
  "_devurl": "https://github.com/macosso/numops",
  "_searchresults": 5,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/numops.html",
    "extra/readme.html",
    "extra/readme.md"
  ],
  "_homeurl": "https://github.com/macosso/numops",
  "_realowner": "macosso",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0.0",
      "date": "2026-09-08"
    }
  ],
  "_exports": [
    "adjacent_difference",
    "clamp",
    "clamp01",
    "divide_or",
    "in_range",
    "inv_lerp",
    "l2_norm",
    "lerp",
    "midpoint",
    "normalize_l2",
    "remap",
    "wrap"
  ],
  "_help": [
    {
      "page": "adjacent_difference",
      "title": "Adjacent differences with preserved length",
      "topics": [
        "adjacent_difference"
      ]
    },
    {
      "page": "clamp",
      "title": "Clamp values to an interval",
      "topics": [
        "clamp"
      ]
    },
    {
      "page": "clamp01",
      "title": "Clamp values to the unit interval",
      "topics": [
        "clamp01"
      ]
    },
    {
      "page": "divide_or",
      "title": "Divide with a fallback value",
      "topics": [
        "divide_or"
      ]
    },
    {
      "page": "in_range",
      "title": "Test whether values are in an interval",
      "topics": [
        "in_range"
      ]
    },
    {
      "page": "inv_lerp",
      "title": "Inverse linear interpolation",
      "topics": [
        "inv_lerp"
      ]
    },
    {
      "page": "l2_norm",
      "title": "Euclidean norm",
      "topics": [
        "l2_norm"
      ]
    },
    {
      "page": "lerp",
      "title": "Linear interpolation",
      "topics": [
        "lerp"
      ]
    },
    {
      "page": "midpoint",
      "title": "Midpoint between values",
      "topics": [
        "midpoint"
      ]
    },
    {
      "page": "normalize_l2",
      "title": "Normalize to unit Euclidean length",
      "topics": [
        "normalize_l2"
      ]
    },
    {
      "page": "remap",
      "title": "Remap values between intervals",
      "topics": [
        "remap"
      ]
    },
    {
      "page": "wrap",
      "title": "Wrap values to a periodic interval",
      "topics": [
        "wrap"
      ]
    }
  ],
  "_pkglogo": "https://github.com/macosso/numops/raw/HEAD/man/figures/logo.svg",
  "_readme": "https://github.com/macosso/numops/raw/HEAD/README.md",
  "_rundeps": [],
  "_vignettes": [
    {
      "source": "clamp-test-wrap-numeric-values.Rmd",
      "filename": "clamp-test-wrap-numeric-values.html",
      "title": "Clamp, Test, and Wrap Numeric Values in R",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Choose the right operation",
        "Clamp values in R",
        "Clamp values to a numeric interval",
        "Preserve matrix and array shape",
        "Clamp probabilities to zero and one",
        "Test whether values are within a range",
        "Wrap angles and periodic values in R",
        "Wrap angles to one rotation",
        "Wrap clock times and phases",
        "Visualize periodic wrapping",
        "Scalar recycling and vectorized bounds",
        "Missing and infinite values",
        "A validation-and-correction workflow",
        "Interval semantics at a glance"
      ],
      "created": "2026-08-26 13:22:49",
      "modified": "2026-08-26 13:22:49",
      "commits": 1
    },
    {
      "source": "numerical-operations-in-r.Rmd",
      "filename": "numerical-operations-in-r.html",
      "title": "Common Numerical Operations in R with numops",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Why use numops?",
        "Quick reference",
        "Clamp and wrap values in R",
        "Clamp values to an interval",
        "Test whether values are within a range",
        "Wrap angles and periodic values",
        "Linear interpolation and range remapping in R",
        "Interpolate between endpoints",
        "Remap one interval to another",
        "Calculate midpoints safely",
        "Handle division by zero in R",
        "Normalize vectors, matrices, and arrays",
        "Calculate the L2 norm of a vector",
        "Normalize a vector to unit length",
        "Normalize matrix rows and columns",
        "Handle zero-length slices",
        "Calculate adjacent differences",
        "Recycling and output shape",
        "A complete data-preparation example",
        "Summary"
      ],
      "created": "2026-08-26 13:22:49",
      "modified": "2026-08-26 13:22:49",
      "commits": 1
    }
  ],
  "_score": 4.301029995663981,
  "_indexed": true,
  "_nocasepkg": "numops",
  "_universes": [
    "macosso"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.0",
      "date": "2026-09-29T21:21:36.000Z",
      "distro": "resolute",
      "commit": "d78f66c62d44dd1d6a4db012f5852ef476a8cb6b",
      "fileid": "https://r2.ropensci.org/82004365d75224a4bad3b588ab7f59ce52c5c34308de780b4fa8733cca6f46dd",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/macosso/actions/runs/36632063978"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.0.0",
      "date": "2026-09-29T21:21:00.000Z",
      "distro": "resolute",
      "commit": "d78f66c62d44dd1d6a4db012f5852ef476a8cb6b",
      "fileid": "https://r2.ropensci.org/e212cfdc51fbdc81acb6a411284893e9d6f533805d4c5bfb851a35270db5cc51",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/macosso/actions/runs/36632063978"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.0",
      "date": "2026-09-29T21:25:43.000Z",
      "commit": "d78f66c62d44dd1d6a4db012f5852ef476a8cb6b",
      "fileid": "https://r2.ropensci.org/11ce7db5955b3b0a5dde6cdfa2142f03b6fc2a6fa9d2d72d2993a4d24dbf5d4a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/macosso/actions/runs/36632063978"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.0.0",
      "date": "2026-09-29T21:24:42.000Z",
      "commit": "d78f66c62d44dd1d6a4db012f5852ef476a8cb6b",
      "fileid": "https://r2.ropensci.org/eb5b56bfc67fc205fa6650954be15963e11bb16d5dd131a0c5b416dfd441509f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/macosso/actions/runs/36632063978"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.0",
      "date": "2026-09-29T21:20:49.000Z",
      "commit": "d78f66c62d44dd1d6a4db012f5852ef476a8cb6b",
      "fileid": "https://r2.ropensci.org/5e14915de20061a9f71da900472e79fc427c41ba3ce8aeb69cfa5d56ccbcac3e",
      "status": "success",
      "buildurl": "https://github.com/r-universe/macosso/actions/runs/36632063978"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.0",
      "date": "2026-09-29T21:19:46.000Z",
      "commit": "d78f66c62d44dd1d6a4db012f5852ef476a8cb6b",
      "fileid": "https://r2.ropensci.org/975422754b8ea886f9f3851dcf2ba8c4fe3868a5e916ee28b58dbbba5bfdfb2d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/macosso/actions/runs/36632063978"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.0.0",
      "date": "2026-09-29T21:19:49.000Z",
      "commit": "d78f66c62d44dd1d6a4db012f5852ef476a8cb6b",
      "fileid": "https://r2.ropensci.org/58c47a945445771c4f23c43c94257f51256b05bad94e08e48c8b838de495b7e0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/macosso/actions/runs/36632063978"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.0.0",
      "date": "2026-09-29T21:19:50.000Z",
      "commit": "d78f66c62d44dd1d6a4db012f5852ef476a8cb6b",
      "fileid": "https://r2.ropensci.org/3d02dffa4465ba2aef539fdd5b6acc97c5717e43a39dd7a171eb166ae6cce500",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/macosso/actions/runs/36632063978"
    }
  ]
}