# set-up
p = 15
gr = stats::rnorm(p)
L = R = stats::rnorm(p)
missing.idx = sample.int(n = p, size = p/5)
L[missing.idx] = L[missing.idx] - stats::runif(length(missing.idx), 0, 1)
R[missing.idx] = R[missing.idx] + stats::runif(length(missing.idx), 0, 1)
# R solution
lik = prod(ifelse(
L == R,
stats::dnorm(L-gr),
stats::pnorm(R-gr) - stats::pnorm(L-gr)))
# Compare R to RcppParallel method
all.equal(lik, lik_GaussianPIC(L, R, gr, rep(1,p)))
Run the code above in your browser using DataLab