## compiled code
useDynLib(vegan, .registration = TRUE)

## Export regular function names (no dots)

export(CCorA, MOStest, RsquareAdj, SSarrhenius, SSgitay, SSgleason, SSlomolino,
adipart, adonis2, anosim, beals, betadisper, betadistances, betadiver,
bgdispersal, bioenv, bioenvdist, bstick, cIndexKM, ca, calibrate, capscale,
cascadeKM, cca, chaodist, contribdiv, clamtest, commsim,
cutreeord, dbrda, decobackstand, decorana, decostand, designdist, designdist2,
dist2xy, coverscale, dispweight, dispindmorisita, distconnected,
diversity, downweight, drarefy, eigengrad, eigenvals, envfit,
estaccumR, estimateR, eventstar, factorfit, fisherfit, fitspecaccum,
gdispweight, goodness, hiersimu, indpower, inertcomp, initMDS,
intersetcor, isomapdist, isomap, linestack, mantel, meandist,
metaMDSdist, metaMDSiter, metaMDSredist, MDSaddpoints, MDSrotate, metaMDS,
monoMDS, mrpp, msoplot, mso, multipart, make.commsim, nestedbetajac,
nestedbetasor, nestedchecker,
nesteddisc, nestedn0, nestednodf, nestedtemp, nullmodel, oecosimu, smbind,
optspace,
ordiareatest, ordiR2step,
ordiarrows, ordiArrowMul, ordiArrowTextXY, ordibar, ordicloud,
ordicluster, ordiellipse, ordigrid,
ordihull, ordilabel, ordiplot, ordipointlabel, ordiresids,
ordisegments, ordispider, ordisplom, ordistep, ordisurf,
orditorp, ordixyplot, ordiYbar,
pca, pco, pcnm, permatfull, permatswap, permulattice, permustats, permutest,
poolaccum, postMDS, prc, prestondistr, prestonfit, procrustes,
protest, radfit, radlattice, rankindex, rarefy, rarecurve, rareslope,
raupcrick, rda, renyiaccum, renyi, rrarefy, scores,
showvarparts, simper, simpson.unb, spandepth, spantree, specaccum, specslope,
specnumber, specpool2vect, specpool, spenvcor, "sppscores<-", sppscores,
stepacross, stressplot, swan, tabasco, taxa2dist, taxondive, tolerance,
treedist, treedive, treeheight, tsallisaccum, tsallis, varpart,
vectorfit, vegandocs, vegdist, avgdist, vegemite, veiledspec, wascores,
wcmdscale, wisconsin)
## export pasteCall for 'permute'
export(pasteCall)
## export anova.cca for 'BiodiversityR': this should be fixed there
export(anova.cca)

## export regular functions with dot names

export(as.fisher, as.preston, as.rad, fieller.MOStest,
fisher.alpha, kendall.global, kendall.post, make.cepnames,
mantel.correlog, mantel.partial, no.shared, rad.lognormal, rad.null,
rad.preempt, rad.zipf, rad.zipfbrot, read.cep,
vif.cca)

## Export panel functions
export(panel.ordi, panel.ordiarrows, panel.ordi3d, prepanel.ordi3d)

## Export .Defunct functions (to be removed later)
export(commsimulator)
export(as.mlm)
export(orditkplot)
S3method(as.mlm, cca)

## Deprecated functions & methods
export(as.mcmc.oecosimu)
export(as.mcmc.permat)
export(adonis)

## do NOT export the following internal functions

## export(orderingKM, ordiArgAbsorber, ordiArrowMul,
## ordiGetData, ordimedian, ordiNAexclude, ordiNApredict,
## ordiParseFormula, ordiTerminfo, pregraphKM, simpleRDA2, varpart2,
## varpart3, varpart4, veganCovEllipse, veganMahatrans)

## Imports

## define S3 methods for these stats functions
importFrom(stats, AIC, TukeyHSD, add1, alias, anova, as.hclust, as.ts,
           biplot, coef, confint, cooks.distance, cophenetic, density,
           deviance, df.residual, drop1, extractAIC, fitted,
           hatvalues, logLik, model.frame, model.matrix, nobs,
           predict, profile, qqnorm, reorder, residuals, rstandard,
           rstudent, screeplot, sigma, simulate, SSD, update, vcov,
           weights)
## direct calls
importFrom(stats, .getXlevels, add.scope, aggregate, aov, approx,
           as.dendrogram, as.dist, as.formula, cmdscale, coefficients,
           complete.cases, cor, cov, cov.wt, cutree, delete.response,
           dendrapply, dist, dnorm, drop.scope, estVar, factor.scope,
           family, formula, glm, glm.fit, hclust, heatmap, integrate,
           is.ts, kmeans, lm, median, na.action, na.fail,
           na.pass, napredict, naprint, nlm, nls, optim, optimize, p.adjust,
           p.adjust.methods, pchisq, pf, plogis, pnorm, poisson,
           ppoints, prcomp, printCoefmat, pt, qchisq, qf, qlogis,
           qnorm, qt, quantile, quasipoisson, r2dtable, reformulate,
           rmultinom, rnorm, runif, sd, spline, summary.lm, terms, ts,
           uniroot, update.formula, var, weighted.mean)
## S3methods for these
importFrom(graphics, boxplot, identify, lines, pairs, persp, plot,
           points, text)
## direct calls
importFrom(graphics, abline, arrows, axis, barplot, box, contour,
           curve, grid, image, layout, legend, matlines, matplot,
           mtext, par, plot.new, plot.window, polygon, rect, rug,
           segments, strheight, strwidth, symbols, title)
import(permute) ## vegan depends on permute: import everything
importFrom(utils, news, vignette, combn, flush.console, modifyList,
           object.size, read.fortran, read.fwf, str)
importFrom(grDevices, bmp, check.options, chull, col2rgb, dev.hold, dev.flush,
           dev.off, heat.colors, jpeg, palette, pdf, png, postscript, rainbow,
           rgb, svg, tiff, xfig, xy.coords)
## import(grDevices) ## too many functions to be listed separately
## import(lattice) # vegan depends on lattice: import all
importFrom(lattice, densityplot, qqmath, bwplot, cloud, lpolygon, panel.abline,
           panel.arrows, panel.cloud, panel.densityplot, panel.lines,
           panel.number, panel.qqmath, panel.superpose, panel.text,
           panel.xyplot,prepanel.default.cloud, splom, xyplot,
           trellis.par.get)
importFrom(parallel, mclapply, makeCluster, stopCluster, clusterEvalQ,
           parApply, parLapply, parSapply, parRapply, parCapply,
           splitIndices)
importFrom(MASS, isoMDS, sammon, Shepard, mvrnorm, lda)
importFrom(cluster, daisy, ellipsoidhull)
## 's' must be imported in mgcv < 1.8-0 (not needed later)
importFrom(mgcv, gam, s, te, predict.gam, summary.gam)

## Registration of S3 methods defined in vegan
# adipart: vegan
S3method(adipart, default)
S3method(adipart, formula)
# AIC: stats
S3method(AIC, fitspecaccum)
S3method(AIC, radfit)
S3method(AIC, radfit.frame)
# RsquareAdj: vegan
S3method(RsquareAdj, cca)
S3method(RsquareAdj, default)
S3method(RsquareAdj, glm)
S3method(RsquareAdj, lm)
S3method(RsquareAdj, rda)
# TukeyHSD: stats
S3method(TukeyHSD, betadisper)
# add1: stats
S3method(add1, cca)
# alias: stats
S3method(alias, cca)
# anova: stats
S3method(anova, betadisper)
S3method(anova, cca)
S3method(anova, prc)
# as.hclust: stats
S3method(as.hclust, spantree)
## toCoda (used to be unexported & dysfunctional as.mcmc)
export(toCoda)
S3method(toCoda, oecosimu)
S3method(toCoda, permat)
# as.ts: stats
S3method(as.ts, oecosimu)
S3method(as.ts, permat)
# bioenv: vegan
S3method(bioenv, default)
S3method(bioenv, formula)
# biplot: stats
S3method(biplot, CCorA)
S3method(biplot, cca)
S3method(biplot, rda)
# boxplot: graphics
S3method(boxplot, betadisper)
S3method(boxplot, permustats)
S3method(boxplot, specaccum)
# bstick: vegan
S3method(bstick, cca)
S3method(bstick, decorana)
S3method(bstick, default)
S3method(bstick, prcomp)
S3method(bstick, princomp)
## c: base
S3method(c, permustats)
# calibrate: vegan
S3method(calibrate, cca)
S3method(calibrate, ordisurf)
# cca: vegan
S3method(cca, default)
S3method(cca, formula)
# coef: stats
S3method(coef, cca)
S3method(coef, radfit)
S3method(coef, radfit.frame)
S3method(coef, rda)
# confint: stats -- also uses MASS:::confint.glm & MASS:::profile.glm
# does this work with namespaces??
S3method(confint, MOStest)
# cooks.distance: stats
S3method(cooks.distance, cca)
# cophenetic: stats
S3method(cophenetic, spantree)
# density: stats
S3method(density, permustats)
# densityplot: lattice
S3method(densityplot, permustats)
# deviance: stats
S3method(deviance, cca)
S3method(deviance, rda)
S3method(deviance, radfit)
S3method(deviance, radfit.frame)
S3method(deviance, fitspecaccum)
# df.residual: stats
S3method(df.residual, cca)
# drop1: stats
S3method(drop1, cca)
# eigenvals: vegan
S3method(eigenvals, betadisper)
S3method(eigenvals, cca)
S3method(eigenvals, decorana)
S3method(eigenvals, default)
S3method(eigenvals, dudi)
S3method(eigenvals, pca)
S3method(eigenvals, pcnm)
S3method(eigenvals, pco)
S3method(eigenvals, prcomp)
S3method(eigenvals, princomp)
S3method(eigenvals, wcmdscale)
# envfit: vegan
S3method(envfit, default)
S3method(envfit, formula)
# estimateR: vegan
S3method(estimateR, data.frame)
S3method(estimateR, default)
S3method(estimateR, matrix)
# extractAIC: stats
S3method(extractAIC, cca)
# fitted: stats
S3method(fitted, capscale)
S3method(fitted, cca)
S3method(fitted, dbrda)
S3method(fitted, procrustes)
S3method(fitted, radfit)
S3method(fitted, radfit.frame)
S3method(fitted, rda)
# goodness: vegan
S3method(goodness, cca)
S3method(goodness, metaMDS)
S3method(goodness, monoMDS)
# hatvalues: stats
S3method(hatvalues, cca)
S3method(hatvalues, rda)
# hiersimu: vegan
S3method(hiersimu, default)
S3method(hiersimu, formula)
# methods for hclust object in base R: these would be better in R
S3method(reorder, hclust)
S3method(rev, hclust)
# identify: graphics
S3method(identify, ordiplot)
# labels: base
S3method(labels, cca)
S3method(labels, envfit)
S3method(labels, ordipointlabel)
# lines: graphics
S3method(lines, fitspecaccum)
S3method(lines, permat)
S3method(lines, preston)
S3method(lines, prestonfit)
S3method(lines, procrustes)
S3method(lines, radline)
S3method(lines, radfit)
S3method(lines, spantree)
S3method(lines, specaccum)
## logLik: stats
S3method(logLik, fitspecaccum)
S3method(logLik, radfit)
S3method(logLik, radfit.frame)
# model.frame, model.matrix: stats
S3method(model.frame, cca)
S3method(model.matrix, cca)
S3method(model.matrix, rda)
# multipart: vegan
S3method(multipart, default)
S3method(multipart, formula)
# nobs: stats
S3method(nobs, CCorA)
S3method(nobs, anova.cca)
S3method(nobs, betadisper)
S3method(nobs, cca)
S3method(nobs, decorana)
S3method(nobs, fitspecaccum)
S3method(nobs, isomap)
S3method(nobs, metaMDS)
S3method(nobs, pcnm)
S3method(nobs, procrustes)
S3method(nobs, rad)
S3method(nobs, varpart)
S3method(nobs, wcmdscale)
# ordisurf: vegan
S3method(ordisurf, default)
S3method(ordisurf, formula)
# pairs: graphics
S3method(pairs, permustats)
## permustats methods
S3method(permustats, anosim)
S3method(permustats, mantel)
S3method(permustats, mrpp)
S3method(permustats, oecosimu)
S3method(permustats, ordiareatest)
S3method(permustats, permutest.betadisper)
S3method(permustats, permutest.cca)
S3method(permustats, protest)
S3method(permustats, anova.cca)
## these return an error: no permutation data
S3method(permustats, CCorA)
S3method(permustats, envfit)
S3method(permustats, factorfit)
S3method(permustats, vectorfit)
S3method(permustats, mso)

S3method(print, permustats)
S3method(summary, permustats)
S3method(print, summary.permustats)

# permutest: vegan
S3method(permutest, betadisper)
S3method(permutest, cca)
S3method(permutest, default)
# persp: graphics
S3method(persp, renyiaccum)
S3method(persp, tsallisaccum)
# plot: graphics
S3method(plot, MOStest)
S3method(plot, anosim)
S3method(plot, betadisper)
S3method(plot, betadiver)
S3method(plot, cascadeKM)
S3method(plot, cca)
S3method(plot, contribdiv)
S3method(plot, clamtest)
S3method(plot, decorana)
S3method(plot, envfit)
S3method(plot, fisher)
S3method(plot, fisherfit)
S3method(plot, fitspecaccum)
S3method(plot, isomap)
S3method(plot, mantel.correlog)
S3method(plot, meandist)
S3method(plot, metaMDS)
S3method(plot, monoMDS)
S3method(plot, nestednodf)
S3method(plot, nestedtemp)
S3method(plot, ordisurf)
S3method(plot, ordipointlabel)
S3method(plot, permat)
S3method(plot, poolaccum)
S3method(plot, prc)
S3method(plot, preston)
S3method(plot, prestonfit)
S3method(plot, procrustes)
S3method(plot, rad)
S3method(plot, radfit)
S3method(plot, radfit.frame)
S3method(plot, radline)
S3method(plot, rda)
S3method(plot, renyi)
S3method(plot, renyiaccum)
S3method(plot, spantree)
S3method(plot, specaccum)
S3method(plot, taxondive)
S3method(plot, varpart)
S3method(plot, varpart234)
S3method(plot, wcmdscale)
# points: graphics
S3method(points, cca)
S3method(points, decorana)
S3method(points, metaMDS)
S3method(points, monoMDS)
S3method(points, ordiplot)
S3method(points, procrustes)
S3method(points, radline)
S3method(points, radfit)
# predict: stats
S3method(predict, cca)
S3method(predict, decorana)
S3method(predict, dbrda)
S3method(predict, fitspecaccum)
S3method(predict, procrustes)
S3method(predict, radline)
S3method(predict, radfit)
S3method(predict, radfit.frame)
S3method(predict, rda)
S3method(predict, specaccum)
# print: base
S3method(print, CCorA)
S3method(print, MOStest)
S3method(print, anosim)
S3method(print, rad)
S3method(print, betadisper)
S3method(print, bioenv)
S3method(print, cca)
S3method(print, commsim)
S3method(print, decorana)
S3method(print, eigenvals)
S3method(print, envfit)
S3method(print, factorfit)
S3method(print, fisherfit)
S3method(print, isomap)
S3method(print, mantel)
S3method(print, mantel.correlog)
S3method(print, metaMDS)
S3method(print, monoMDS)
S3method(print, mrpp)
S3method(print, mso)
S3method(print, nestedchecker)
S3method(print, nesteddisc)
S3method(print, nestedn0)
S3method(print, nestednodf)
S3method(print, nestedtemp)
S3method(print, nullmodel)
S3method(print, oecosimu)
S3method(print, ordiareatest)
S3method(print, permat)
S3method(print, permutest.betadisper)
S3method(print, permutest.cca)
S3method(print, poolaccum)
S3method(print, prestonfit)
S3method(print, procrustes)
S3method(print, protest)
S3method(print, radfit)
S3method(print, radfit.frame)
S3method(print, radline)
S3method(print, rda)
S3method(print, specaccum)
S3method(print, simmat)
S3method(print, simper)
S3method(print, summary.bioenv)
S3method(print, summary.cca)
S3method(print, summary.clamtest)
S3method(print, summary.dispweight)
S3method(print, summary.eigenvals)
S3method(print, summary.isomap)
S3method(print, summary.meandist)
S3method(print, summary.permat)
S3method(print, summary.prc)
S3method(print, summary.procrustes)
S3method(print, summary.simper)
S3method(print, summary.taxondive)
S3method(print, summary.varpart)
S3method(print, taxondive)
S3method(print, tolerance.cca)
S3method(print, varpart)
S3method(print, varpart234)
S3method(print, vectorfit)
S3method(print, wcmdscale)
# profile: stats
# see note on 'confint'
S3method(profile, MOStest)
## qqmath: lattice
S3method(qqmath, permustats)
## qqnorm: stats
S3method(qqnorm, permustats)
## qr: base
S3method(qr, cca)
# radfit: vegan
S3method(radfit, data.frame)
S3method(radfit, default)
S3method(radfit, matrix)
# rda: vegan
S3method(rda, default)
S3method(rda, formula)
# residuals: stats
S3method(residuals, cca)
S3method(residuals, procrustes)
# rstandard, rstudent: stats
S3method(rstandard, cca)
S3method(rstudent, cca)
# scores: vegan
S3method(scores, betadisper)
S3method(scores, betadiver)
S3method(scores, cca)
S3method(scores, decorana)
S3method(scores, default)
S3method(scores, envfit)
S3method(scores, hclust)
S3method(scores, lda)
S3method(scores, metaMDS)
S3method(scores, monoMDS)
S3method(scores, ordihull)
S3method(scores, ordiplot)
S3method(scores, pcnm)
S3method(scores, rda)
S3method(scores, wascores)
S3method(scores, wcmdscale)
# screeplot: stats
S3method(screeplot, cca)
S3method(screeplot, decorana)
S3method(screeplot, prcomp)
S3method(screeplot, princomp)
# sigma: stats
S3method(sigma, cca)
# simulate: stats
S3method(simulate, capscale)
S3method(simulate, cca)
S3method(simulate, dbrda)
S3method(simulate, rda)
S3method(simulate, nullmodel)
# specslope: vegan
S3method(specslope, specaccum)
S3method(specslope, fitspecaccum)
## sppscores<-: vegan
S3method("sppscores<-", capscale)
S3method("sppscores<-", dbrda)
S3method("sppscores<-", metaMDS)
S3method("sppscores<-", monoMDS)
S3method("sppscores<-", wcmdscale)
# SSD: stats
S3method(SSD, cca)
# str: utils
S3method(str, nullmodel)
# stressplot: vegan
S3method(stressplot, default)
S3method(stressplot, monoMDS)
S3method(stressplot, wcmdscale)
S3method(stressplot, capscale)
S3method(stressplot, dbrda)
S3method(stressplot, cca)
S3method(stressplot, rda)
S3method(stressplot, prcomp)
S3method(stressplot, princomp)
# summary: base
S3method(summary, anosim)
S3method(summary, bioenv)
S3method(summary, cca)
S3method(summary, clamtest)
S3method(summary, decorana)
S3method(summary, dispweight)
S3method(summary, eigenvals)
S3method(summary, isomap)
S3method(summary, mantel)
S3method(summary, meandist)
S3method(summary, mrpp)
S3method(summary, oecosimu)
S3method(summary, ordiareatest)
S3method(summary, ordiellipse)
S3method(summary, ordihull)
S3method(summary, permat)
S3method(summary, poolaccum)
S3method(summary, prc)
S3method(summary, procrustes)
S3method(summary, radfit.frame)
S3method(summary, simper)
S3method(summary, specaccum)
S3method(summary, taxondive)
S3method(summary, varpart)
# text: graphics
S3method(text, cca)
S3method(text, decorana)
S3method(text, metaMDS)
S3method(text, monoMDS)
S3method(text, ordiplot)
S3method(text, procrustes)
# tolerance
S3method(tolerance, cca)
S3method(tolerance, decorana)
# update: stats
S3method(update, nullmodel)
# vif: car -- but not used as a S3method within vegan
# because of car definition: could be defined as exported 'vif' generic
# in vegan with namespace
#S3method(vif, cca)
# vcov: stats
S3method(vcov, cca)
# weights: stats
S3method(weights, cca)
S3method(weights, decorana)
S3method(weights, rda)
