useDynLib(pmclust)

import(methods, MASS, MixSim, rlecuyer, pbdMPI, pbdSLAP, pbdBASE, pbdDMAT)

# exportPattern("^[[:alpha:]]+")
# exportPattern("^[\\.]")

export(
  ### Readme function.
  "readme",

### SPMD functions.
  ### Global objects.
  "set.global",

  ### Initial functions.
  "initial.em",
  "initial.RndEM",
  "assign.N.sample",
  "initial.center",

  ### EM methods.
  "em.step",
  "aecm.step",
  "apecm.step",
  "apecma.step",
  "em.update.class",
  
  ### EM utility functions.
  "em.onestep",
  "e.step",
  "m.step",
  "indep.logL",

  ### K-means.
  "kmeans.step",
  "kmeans.update.class",

  ### Example functions.
  "generate.basic",
  "generate.MixSim",

  ### Utility functions.
  "get.N.CLASS",
  "mb.print",

### DMAT functions.
  ### Readme function.
  "readme.dmat",

  ### Global objects.
  "set.global.dmat",
  "as.dmat",

  ### Initial functions.
#  "initial.em.dmat",
#  "initial.RndEM.dmat",
  "initial.center.dmat",

  ### EM methods.
#  "em.step.dmat",
#  "aecm.step.dmat",
#  "apecm.step.dmat",
#  "apecma.step.dmat",
#  "em.update.class.dmat",
  
  ### K-means.
  "kmeans.step.dmat",
  "kmeans.update.class.dmat",

  ### Utility functions.
  "get.N.CLASS.dmat"
)

