useDynLib(GPCMlasso, .registration = TRUE)

importFrom(Rcpp, evalCpp)
importFrom(TeachingDemos, spread.labs)
importFrom(statmod, gauss.quad)
importFrom(cubature, pcubature)
import(ltm)
importFrom(mirt, mirt)
importFrom(caret, class2ind)
importFrom(mvtnorm, rmvnorm)

importFrom(utils, combn, head, tail)

importFrom(stats,
  dnorm,
  coef,
  model.matrix,
  model.frame,
  model.response,
  optim,
  qnorm,
  sd,
  integrate,
  nlminb,
  nlm,
  rbinom,
  rmultinom,
  rnorm,
  terms
)

importFrom(graphics,
  abline,
  lines,
  plot,
  par,
  segments,
  strheight,
  text
)

importFrom(methods, selectMethod)

importFrom(parallel,
  makeCluster,
  clusterExport,
  parLapply,
  stopCluster,
  parSapply,
  clusterCall
)

export(GPCMlasso)
export(ctrl_GPCMlasso)
export(trait.posterior)

S3method(plot, GPCMlasso)
S3method(print, GPCMlasso)
S3method(predict, GPCMlasso)
S3method(summary, GPCMlasso)
S3method(print, summary.GPCMlasso)

importFrom("stats", "delete.response")