# Fake distance function object w/ minimum inputs for integration
d <- rep(1,4) %m%. # Only units needed, not values
obs <- factor(rep(c("obs1", "obs2"), 2))
beta <- c(3.5, -0.5)
w.hi <- 125
w.lo <- 20
ml <- list(
mf = model.frame(d ~ obs)
, par = beta
, likelihood = "halfnorm"
, w.lo = w.lo %#% "m"
, w.hi = w.hi %#% "m"
)
class(ml) <- "dfunc"
integrateHalfnormLines(ml)
# Check: Integral of exp(-x^2/(2*s^2)) from 0 to w.hi-w.lo
b <- exp(c(beta[1], beta[1] + beta[2]))
intgral <- (pnorm(w.hi, mean=w.lo, sd = b) - 0.5) * sqrt(2*pi)*b
intgral
Run the code above in your browser using DataLab