useDynLib(mclust)

# Export all names
# exportPattern(".")

# Import all packages listed as Imports or Depends
import(
         stats,
         utils
       )

# export(.mclust)
export(mclust.options, emControl)

export(hc,hcE,hcEEE,hcEII,hcV,hcVII,hcVVV)
export(hclass)
export(em,emE,emEEE,emEEI,emEEV,emEII,emEVI,
          emV,emVEI,emVEV,emVII,emVVI,emVVV)
export(me,meE,meEEE,meEEI,meEEV,meEII,meEVI,
          meV,meVEI,meVEV,meVII,meVVI,meVVV)
export(sim,simE,simEEE,simEEI,simEEV,simEII,simEVI,
           simV,simVEI,simVEV,simVII,simVVI,simVVV)
export(estep,estepE,estepEEE,estepEEI,estepEEV,estepEII,estepEVI,
             estepV,estepVEI,estepVEV,estepVII,estepVVI,estepVVV)
export(mstep,mstepE,mstepEEE,mstepEEI,mstepEEV,mstepEII,mstepEVI,
             mstepV,mstepVEI,mstepVEV,mstepVII,mstepVVI,mstepVVV)
export(mvn,mvnX,mvnXII,mvnXXI,mvnXXX)
export(cdens,cdensE,cdensEEE,cdensEEI,cdensEEV,cdensEII,cdensEVI,
             cdensV,cdensVEI,cdensVEV,cdensVII,cdensVVI,cdensVVV)

export(bic,pickBIC,nVarParams)

export(map,unmap,partconv,partuniq)

export(mclustModel,mclustModelNames,mclustVariance)

export(decomp2sigma,sigma2decomp)

export(imputeData,imputePairs)

export(mapClass,classError,adjustedRandIndex)

export(cv1EMtrain,bicEMtrain)

export(clPairs,mclust1Dplot,mclust2Dplot,mvn2plot,surfacePlot,uncerPlot)
export(coordProj,randProj)

export(priorControl,defaultPrior,hypvol)

export(mclustBIC, summaryMclustBIC, summaryMclustBICn)
S3method( "print", "mclustBIC")
S3method( "summary", "mclustBIC")
S3method( "print", "summary.mclustBIC")
S3method( "plot", "mclustBIC")

export(Mclust, print.Mclust, summary.Mclust, print.summary.Mclust, plot.Mclust, predict.Mclust, logLik.Mclust)
S3method( "print", "Mclust")
S3method( "summary", "Mclust")
S3method( "print", "summary.Mclust")
S3method( "plot", "Mclust")

export(densityMclust, plot.densityMclust, dens, predict.densityMclust, cdfMclust, densityMclust.diagnostic, plotDensityMclust1, plotDensityMclust2, plotDensityMclustd)
S3method( "plot", "densityMclust")

export(MclustDA, print.MclustDA, summary.MclustDA, print.summary.MclustDA, plot.MclustDA, predict.MclustDA, cv.MclustDA, getParameters.MclustDA, logLik.MclustDA)
S3method( "print", "MclustDA")
S3method( "summary", "MclustDA")
S3method( "print", "summary.MclustDA")
S3method( "plot", "MclustDA")
S3method( "predict", "MclustDA")

export(MclustDR, print.MclustDR, summary.MclustDR, print.summary.MclustDR, plot.MclustDR, plotEvalues.MclustDR, projpar.MclustDR, projdir.MclustDR)
S3method( "print", "MclustDR")
S3method( "summary", "MclustDR")
S3method( "print", "summary.MclustDR")
S3method( "plot", "MclustDR")

export(clustCombi, print.clustCombi, plot.clustCombi, combiPlot, entPlot, combMat)
S3method( "plot", "clustCombi")
S3method( "print", "clustCombi")

export(me.weighted)
