{
  "_id": "6ae50bcc3d0f299392dd3ae4",
  "Package": "ast2ast",
  "Type": "Package",
  "Title": "Translates an R Function to a C++ Function",
  "Version": "1.1.2",
  "Date": "2026-10-28",
  "Authors@R": "c(person(given = \"Krämer\",\nfamily = \"Konrad\",\nrole = c(\"aut\", \"cre\"),\nemail = \"konrad_kraemer@yahoo.de\"))",
  "Maintainer": "Krämer Konrad <konrad_kraemer@yahoo.de>",
  "BugReports": "https://github.com/Konrad1991/ast2ast/issues",
  "URL": "https://github.com/Konrad1991/ast2ast",
  "Description": "Enable translation of a tiny subset of R to C++. The user\nhas to define a R function which gets translated. For a full\nlist of possible functions check the documentation. After\ntranslation an R function is returned which is a shallow\nwrapper around the C++ code. Alternatively an external pointer\nto the C++ function is returned to the user. The intention of\nthe package is to generate fast functions which can be used as\node-system or during optimization.",
  "License": "GPL (>= 2)",
  "SystemRequirements": "GNU make, C++20, Rtools (>= 4.5) on Windows",
  "NeedsCompilation": "yes",
  "VignetteBuilder": "knitr",
  "Encoding": "UTF-8",
  "Packaged": {
    "Date": "2026-10-30 21:12:58 UTC",
    "User": "root"
  },
  "Author": "Krämer Konrad [aut, cre]",
  "Config/pak/sysreqs": "make",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-10-30 19:32:44 UTC",
  "RemoteUrl": "https://github.com/cran/ast2ast",
  "RemoteRef": "HEAD",
  "RemoteSha": "bc58088e011a9cdc2800c8a3a2c1949ac099da1c",
  "_user": "cran",
  "_type": "src",
  "_file": "ast2ast_1.1.2.tar.gz",
  "_fileid": "https://r2.ropensci.org/514cd18e79835de7b2e3bd6c6bf0158918a73b88fef1ab6d1164f51528f6040d",
  "_filesize": 698088,
  "_sha256": "514cd18e79835de7b2e3bd6c6bf0158918a73b88fef1ab6d1164f51528f6040d",
  "_expires": "2027-02-07T21:27:38.000Z",
  "_created": "2026-10-30T21:12:58.000Z",
  "_published": "2026-10-30T21:27:40.620Z",
  "_upstream": "https://github.com/cran/ast2ast",
  "_status": "success",
  "_maintainer": {
    "name": "Krämer Konrad",
    "email": "konrad_kraemer@yahoo.de",
    "login": "konrad1991",
    "description": "PostDoc at KIT. Enthusiastic about R, C++, Data, DataScience, Shiny, ML, Automation and numerical Optimization",
    "uuid": 35558461
  },
  "_jobs": [
    {
      "job": 124317221157,
      "time": 322,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "13011564803"
    },
    {
      "job": 124317221048,
      "time": 342,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "13012807014"
    },
    {
      "job": 124317221085,
      "time": 313,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "13011679474"
    },
    {
      "job": 124317221290,
      "time": 352,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "13012144334"
    },
    {
      "job": 124312556920,
      "time": 624,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "13011584070"
    },
    {
      "job": 124317221079,
      "time": 232,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "13013305781"
    },
    {
      "job": 124317220933,
      "time": 536,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "13013236918"
    },
    {
      "job": 124317221021,
      "time": 375,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "13013101770"
    },
    {
      "job": 124317221022,
      "time": 548,
      "config": "windows-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "13013515458"
    },
    {
      "job": 124317221165,
      "time": 372,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "13011629587"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/41128291786",
  "_commit": {
    "id": "bc58088e011a9cdc2800c8a3a2c1949ac099da1c",
    "author": "Krämer Konrad <konrad_kraemer@yahoo.de>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 1.1.2\n",
    "time": 1793388764
  },
  "_distro": "resolute",
  "_host": "GitHub-Actions",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "RcppThread",
      "role": "LinkingTo"
    },
    {
      "package": "Rcpp",
      "version": ">= 1.0.4",
      "role": "Imports"
    },
    {
      "package": "R6",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "RcppThread",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "sundials",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "kableExtra",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "tinytest",
      "role": "Suggests"
    },
    {
      "package": "microbenchmark",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "RcppXPtrUtils",
      "role": "Suggests"
    },
    {
      "package": "pkgbuild",
      "role": "Suggests"
    },
    {
      "package": "nnls",
      "role": "Suggests"
    },
    {
      "package": "Matrix",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-38",
      "n": 1
    },
    {
      "week": "2026-41",
      "n": 1
    },
    {
      "week": "2026-44",
      "n": 2
    }
  ],
  "_tags": [
    {
      "name": "1.0",
      "date": "2026-09-14"
    },
    {
      "name": "1.0.2",
      "date": "2026-10-05"
    },
    {
      "name": "1.1.1",
      "date": "2026-10-26"
    },
    {
      "name": "1.1.2",
      "date": "2026-10-30"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "konrad1991",
      "count": 10,
      "uuid": 35558461
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 634,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 762,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/ast2ast"
  },
  "_devurl": "https://github.com/konrad1991/ast2ast",
  "_searchresults": 88,
  "_topics": [
    "openblas",
    "cpp"
  ],
  "_abi": {
    "exports": [
      {
        "key": "ast2ast/include",
        "hash": "bee5a47e0a017729"
      }
    ],
    "imports": [
      {
        "key": "Rcpp::Rcpp_precious_preserve()",
        "hash": "33a97ea62b293da6"
      },
      {
        "key": "Rcpp::Rcpp_precious_remove()",
        "hash": "63d26947ba7e1377"
      },
      {
        "key": "Rcpp::dataptr()",
        "hash": "54e69ad2e6668c83"
      },
      {
        "key": "Rcpp::demangle()",
        "hash": "b0cfd6754c5ebc4e"
      },
      {
        "key": "Rcpp::enterRNGScope()",
        "hash": "a04a299137cef947"
      },
      {
        "key": "Rcpp::exitRNGScope()",
        "hash": "a04a299137cef947"
      },
      {
        "key": "Rcpp::rcpp_get_stack_trace()",
        "hash": "c684a9bbe15cdc52"
      },
      {
        "key": "Rcpp::rcpp_set_stack_trace()",
        "hash": "33a97ea62b293da6"
      }
    ]
  },
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/ast2ast.html",
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt"
  ],
  "_homeurl": "https://github.com/konrad1991/ast2ast",
  "_realowner": "konrad1991",
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.1",
      "date": "2022-03-14"
    },
    {
      "version": "0.2",
      "date": "2022-09-15"
    },
    {
      "version": "0.2.1",
      "date": "2022-10-19"
    },
    {
      "version": "0.3.0",
      "date": "2023-02-28"
    },
    {
      "version": "0.3.1",
      "date": "2023-04-11"
    },
    {
      "version": "0.3.2",
      "date": "2023-12-09"
    },
    {
      "version": "1.0",
      "date": "2026-09-14"
    },
    {
      "version": "1.0.2",
      "date": "2026-10-05"
    },
    {
      "version": "1.1.1",
      "date": "2026-10-26"
    },
    {
      "version": "1.1.2",
      "date": "2026-10-30"
    }
  ],
  "_exports": [
    "make_package",
    "translate"
  ],
  "_help": [
    {
      "page": "make_package",
      "title": "Translate R files into the C++ code of an existing package",
      "topics": [
        "make_package"
      ]
    },
    {
      "page": "translate",
      "title": "Translate an R function into C++",
      "topics": [
        "translate"
      ]
    }
  ],
  "_rundeps": [
    "R6",
    "Rcpp",
    "RcppThread",
    "sundials"
  ],
  "_sysdeps": [
    {
      "shlib": "liblapack",
      "package": "libopenblas0-pthread",
      "source": "openblas",
      "version": "0.3.32+ds-5",
      "name": "openblas",
      "homepage": "https://www.openblas.net/",
      "description": "Optimized BLAS (linear algebra) library (shared lib, pthread)"
    },
    {
      "shlib": "libblas",
      "package": "libopenblas0-pthread",
      "source": "openblas",
      "version": "0.3.32+ds-5",
      "name": "openblas",
      "homepage": "https://www.openblas.net/",
      "description": "Optimized BLAS (linear algebra) library (shared lib, pthread)"
    },
    {
      "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": "TinyStates.Rmd",
      "filename": "TinyStates.html",
      "title": "Derivatives at Tiny States: Michaelis-Menten",
      "author": "Konrad Kraemer",
      "engine": "knitr::rmarkdown_notangle",
      "headings": [
        "The problem in one sentence",
        "Michaelis-Menten",
        "What goes wrong at tiny S",
        "What ast2ast reports",
        "The fix: multiply through",
        "Rule of thumb"
      ],
      "created": "2026-10-26 14:30:21",
      "modified": "2026-10-26 14:30:21",
      "commits": 1
    },
    {
      "source": "DetailedDocumentation.Rmd",
      "filename": "DetailedDocumentation.html",
      "title": "Detailed Documentation",
      "author": "Konrad Kraemer",
      "engine": "knitr::rmarkdown_notangle",
      "headings": [
        "Overview",
        "Type system in ast2ast",
        "Setting types for function arguments",
        "Default behavior",
        "Using argtypes()",
        "Borrowing, constness, and references",
        "Setting types for variables inside the function",
        "Static types vs. R's dynamic typing",
        "Derivatives",
        "Forward mode",
        "Reverse mode",
        "Design philosophy",
        "Inner functions",
        "Functionals",
        "Optimizers",
        "Custom types (new_type)",
        "Interpolation"
      ],
      "created": "2022-03-14 08:00:05",
      "modified": "2026-10-26 14:30:21",
      "commits": 5
    },
    {
      "source": "DifferencesToR.Rmd",
      "filename": "DifferencesToR.html",
      "title": "Differences to R",
      "author": "Konrad Kraemer",
      "engine": "knitr::rmarkdown_notangle",
      "headings": [
        "Overview",
        "No access to the enclosing environment",
        "No recycling",
        "Integer arguments",
        "Integer sum",
        "Inf, NaN and NA"
      ],
      "created": "2026-10-26 14:30:21",
      "modified": "2026-10-26 14:30:21",
      "commits": 1
    },
    {
      "source": "InformationForPackageAuthors.Rmd",
      "filename": "InformationForPackageAuthors.html",
      "title": "Information for package authors",
      "author": "Konrad Krämer",
      "engine": "knitr::rmarkdown_notangle",
      "headings": [
        "Guidance for Package Authors",
        "Compiling R files into a package: make_package",
        "Naming rationalization ast2ast",
        "Comparison of R and ETR code",
        "The XPtr interface",
        "First, one creates the external pointer of the R function.",
        "Afterwards the external pointer is used in an R package",
        "call the function from the R package"
      ],
      "created": "2022-03-14 08:00:05",
      "modified": "2026-10-26 14:30:21",
      "commits": 6
    },
    {
      "source": "InnerFunctionsAndTypes.Rmd",
      "filename": "InnerFunctionsAndTypes.html",
      "title": "Inner Functions and Custom Types",
      "author": "Konrad Kraemer",
      "engine": "knitr::rmarkdown_notangle",
      "headings": [
        "Defining a custom type",
        "An inner function operating on the type",
        "Translating and calling it"
      ],
      "created": "2026-09-14 19:29:32",
      "modified": "2026-10-26 14:30:21",
      "commits": 2
    },
    {
      "source": "Jacobians.Rmd",
      "filename": "Jacobians.html",
      "title": "Jacobians: Dense, Coloured, Sparse and Banded",
      "author": "Konrad Kraemer",
      "engine": "knitr::rmarkdown_notangle",
      "headings": [
        "Overview",
        "Example function",
        "Dense",
        "Colouring",
        "Sparse and banded",
        "Layouts",
        "Returned to R"
      ],
      "created": "2026-10-26 14:30:21",
      "modified": "2026-10-26 14:30:21",
      "commits": 1
    },
    {
      "source": "Layouts.Rmd",
      "filename": "Layouts.html",
      "title": "Named Vectors and Layouts",
      "author": "Konrad Kraemer",
      "engine": "knitr::rmarkdown_notangle",
      "headings": [
        "Overview",
        "Named vectors",
        "Matrices, arrays and collections"
      ],
      "created": "2026-10-26 14:30:21",
      "modified": "2026-10-26 14:30:21",
      "commits": 1
    },
    {
      "source": "MemoryModel.Rmd",
      "filename": "MemoryModel.html",
      "title": "The Memory Model: Copy, Borrow, Ref",
      "author": "Konrad Kraemer",
      "engine": "knitr::rmarkdown_notangle",
      "headings": [
        "Boundary 1 -- R calls the translated function",
        "Boundary 2 -- inside f, calling an inner fn()",
        "In one table",
        "The short version"
      ],
      "created": "2026-10-26 14:30:21",
      "modified": "2026-10-26 14:30:21",
      "commits": 1
    }
  ],
  "_score": 4.324693913861775,
  "_indexed": false,
  "_nocasepkg": "ast2ast",
  "_universes": [
    "cran"
  ],
  "_indexurl": "https://konrad1991.r-universe.dev/ast2ast",
  "_previous": "1.1.1",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.1.2",
      "date": "2026-10-30T21:17:40.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "bc58088e011a9cdc2800c8a3a2c1949ac099da1c",
      "fileid": "https://r2.ropensci.org/690cc27c465c72594d1114ff954411f7bdd5815ff0c2d35e39d6ea26b16aeb72",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41128291786"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.1.2",
      "date": "2026-10-30T21:17:34.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "bc58088e011a9cdc2800c8a3a2c1949ac099da1c",
      "fileid": "https://r2.ropensci.org/22625ffb5797362218004894fa9f50337431dbe289aebe3a1f8602021efd1b31",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41128291786"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.1.2",
      "date": "2026-10-30T21:17:45.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "bc58088e011a9cdc2800c8a3a2c1949ac099da1c",
      "fileid": "https://r2.ropensci.org/a6aa7a51cd317f7092cbf1eb20e30b7a42920850ad73f634e596b39e3496e4c1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41128291786"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.1.2",
      "date": "2026-10-30T21:17:35.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "bc58088e011a9cdc2800c8a3a2c1949ac099da1c",
      "fileid": "https://r2.ropensci.org/3b2dca9aa3d449b916de069538bc47a2a948f95bc7768b44979da1a3d33d9643",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41128291786"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.1.2",
      "date": "2026-10-30T21:17:37.000Z",
      "arch": "emscripten",
      "commit": "bc58088e011a9cdc2800c8a3a2c1949ac099da1c",
      "fileid": "https://r2.ropensci.org/06eeb07a164ceeee3c0b65bc6bd032e800051f45aa7540e73ab788d0f7ccd389",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41128291786"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.1.2",
      "date": "2026-10-30T21:18:34.000Z",
      "arch": "aarch64",
      "commit": "bc58088e011a9cdc2800c8a3a2c1949ac099da1c",
      "fileid": "https://r2.ropensci.org/e1de7514cf890d3eb630b99e44686c4f652d4b999c98745de912dcd383617c2c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41128291786"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.1.2",
      "date": "2026-10-30T21:16:43.000Z",
      "arch": "x86_64",
      "commit": "bc58088e011a9cdc2800c8a3a2c1949ac099da1c",
      "fileid": "https://r2.ropensci.org/77dfb476d177e025c6ce76e48474adedd3d37f6e279f7179c6b94db2abd01304",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41128291786"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.1.2",
      "date": "2026-10-30T21:18:51.000Z",
      "arch": "aarch64",
      "commit": "bc58088e011a9cdc2800c8a3a2c1949ac099da1c",
      "fileid": "https://r2.ropensci.org/0516a6db87e7a00260259fd846246ea5e7e6e66a6c31663e63d06f5715890cf0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41128291786"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.1.2",
      "date": "2026-10-30T21:16:45.000Z",
      "arch": "x86_64",
      "commit": "bc58088e011a9cdc2800c8a3a2c1949ac099da1c",
      "fileid": "https://r2.ropensci.org/41fc91973d4507d0cfea3cac37f5067c1dedc906e3d054bfe8fe5012c4232dce",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41128291786"
    }
  ]
}