Package: cppally 1.1.0.9000

Image

Nick Christofides

cppally: A 'C++20' API for R

A header-only 'C++20' API for manipulating R data structures from 'C++'. Provides 'C++20' concepts specific to R, custom scalar and vector classes with built-in NA handling, automatic object protection, 'SIMD' (single-instruction-multiple-data), parallelisation, and a streamlined system for registering 'C++' functions, including templates, to R. Full API reference and documentation are available at <https://nicchr.github.io/cppally/>.

Authors:Nick Christofides [aut, cre, cph], Martin Leitner-Ankerl [cph], Malte Skarupke [cph], Ryo Suzuki [cph], Posit Software, PBC [cph]

cppally_1.1.0.9000.tar.gz
cppally_1.1.0.9000.zip(r-4.7-any)cppally_1.1.0.9000.zip(r-4.6-any)cppally_1.1.0.9000.zip(r-4.5-any)
cppally_1.1.0.9000.tgz(r-4.6-any)cppally_1.1.0.9000.tgz(r-4.5-any)
cppally_1.1.0.9000.tar.gz(r-4.7-any)cppally_1.1.0.9000.tar.gz(r-4.6-any)
cppally_1.1.0.9000.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
cppally/json (API)

# Install 'cppally' in R:
install.packages('cppally', repos = c('https://nicchr.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/nicchr/cppally/issues

Pkgdown/docs site:https://nicchr.github.io

On CRAN:

Conda:

6.97 score 2 stars 2 packages 7 scripts 182 downloads 12 exports 0 dependencies

Last updated from:d8c620129e. Checks:9 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-develOK143
source / vignettesOK414
linux-releaseOK142
macos-releaseOK93
macos-oldrelOK70
windows-develOK71
windows-releaseOK69
windows-oldrelOK79
wasm-releaseOK103

Exports:cpp_evalcpp_registercpp_sourcedocumentload_alluse_check_data_framesuse_check_factorsuse_copy_on_modifyuse_cppallyuse_openmpuse_preserve_altrep_flaguse_template_dispatch_candidates

Dependencies:

Getting started with cppally
Setup | Registering C++ functions (to R) | Registering C++ functions outside of a package context | Registering C++ functions inside a cppally-linked package | General steps to using cppally in a package | C++ types | Scalars | logical scalar - r_lgl | NA values | C++ NA values and their R C API equivalents | Checking equality | Scalar operators | Scalar arithmetic operators | Scalar relational operators | Vectors | inline vectors | Scalar math | Coercion | Strings | Dates and date-times | Adding days, months, and years | Accessing date components | Date rounding | Difference between two dates | Fractional months | Symbols | Cached strings & symbols | Lists | Factors | Calling R functions | Value matching | Subsetting | Concepts and Templates | How it works | Templates without function arguments | Attributes | Regular sequences | Sugar functions | Annex | Symbols in R-registered templates | All core cppally concepts | Accessing the underlying types and values

Last update: 2026-09-06
Started: 2026-04-23

Random number generation
Creating a stream | Reusing one stream | Explicit seeds | index() | Example: efficient sample with replacement | Using distributions | Calling R C API RNG functions | Bootstrapping | Comparison to R - benchmark | A flexible and fast bootstrapper | Engine

Last update: 2026-08-12
Started: 2026-08-04

Functional Programming with cppally
reduce | pmap | Lagged operations | In-place functionals | Vectorised math

Last update: 2026-06-28
Started: 2026-06-28

Automatic Protection
Motivation and design | Protection benchmark: cpp11 vs cppally | cppally views: A solution to the protection overhead problem | r_str_view | view() | Using views safely

Last update: 2026-06-02
Started: 2026-04-11

Vector Names Hashing
Performance of indexing by location versus name | Generated R code | Generated C++ code | The cost of first lookup | The cost of many lookups | Future development

Last update: 2026-05-26
Started: 2026-05-14

  • Image