useDynLib(mixture, .registration=TRUE)
importFrom(Rcpp, evalCpp)
importFrom(lattice, levelplot)
importFrom(lattice, trellis.focus)
importFrom(lattice, trellis.unfocus)
importFrom(grid, grid.text)
importFrom("grDevices", "colorRampPalette")
importFrom("stats", "cov.wt", "kmeans", "runif", "weights")
importFrom("utils", "tail")
importFrom("stats", "aggregate")
importFrom("stats", "rexp")
importFrom("methods", "is")

export(main_loop)
export(main_loop_vg)
export(main_loop_gh)
export(main_loop_st)
export(main_loop_t)
export(gpcm)
export(get_best_model)
export(vgpcm)
export(ghpcm)
export(stpcm)
export(tpcm)
export(e_step)
export(z_ig_random_soft)
export(z_ig_random_hard)
export(z_ig_kmeans)
export(MAP)
export(ARI)
export(pcm)


S3method(print, pcm)
S3method(summary, pcm)


S3method(print, gpcm)
S3method(plot, gpcm)
S3method(summary, gpcm)
S3method(print, gpcm_best)

S3method(print, vgpcm)
S3method(plot, vgpcm)
S3method(summary, vgpcm)
S3method(print, vgpcm_best)


S3method(print, ghpcm)
S3method(plot, ghpcm)
S3method(summary, ghpcm)
S3method(print, ghpcm_best)

S3method(print, stpcm)
S3method(plot, stpcm)
S3method(summary, stpcm)
S3method(print, stpcm_best)


S3method(print, tpcm)
S3method(plot, tpcm)
S3method(summary, tpcm)
S3method(print, tpcm_best)


