Setup

git clone https://bitbucket.org/djhshih/dppmix
git submodule update --init
library(devtools)
document()
install()

Code architecture

The package is organized into two main layers:

R layer

Main files in R/:

There is also a submodule-like shared core under R/dppcore/, currently used for reusable covariance-related code.

C++ layer

Main files in src/:

The compiled interface follows the naming convention already used by the EM code:

Example:

Build/bindings

Rcpp bindings are generated into:

The package registers native routines through NAMESPACE with useDynLib(dppmix, .registration=TRUE).

Current porting status

Compiled MCMC helpers currently cover:

Tests in tests/testthat/test-mcmc-cpp-equivalence.R exercise deterministic equivalence, stochastic-kernel invariants, RJMCMC move validity, and short smoke-style regression checks.