# Refer to all C/Fortran routines by their name prefixed by C_
useDynLib(stats, .registration = TRUE, .fixes = "C_")

import(graphics)
importFrom(grDevices, as.graphicsAnnot, dev.cur, dev.flush, dev.hold,
           dev.interactive, dev.new, dev.set, devAskNewPage,
           extendrange, n2mfrow, palette, xy.coords)
importFrom('utils',
           count.fields, flush.console, modifyList, str,
           head, tail, .checkHT)

export(.checkMFClasses, .getXlevels, .MFclass, .nknots.smspl,
       acf, acf2AR, add.scope,
       add1, addmargins, aggregate,aggregate.ts, AIC, alias, anova,
       aov, approx, approxfun, ar, ar.burg, ar.mle, ar.ols, ar.yw,
       arima, arima.sim, arima0, arima0.diag, ARMAacf, ARMAtoMA,
       as.dendrogram, as.dist, as.formula, as.hclust, as.stepfun,
       as.ts, asOneSidedFormula, ave, bandwidth.kernel, BIC, binomial,
       biplot, Box.test, bw.bcv, bw.nrd, bw.nrd0, bw.SJ, bw.ucv, C,
       cancor, case.names, ccf, cmdscale, coef, coefficients,
       complete.cases, confint, confint.default, confint.lm, constrOptim,
       contr.SAS, contr.helmert, contr.poly, contr.sum,
       contr.treatment, contrasts, "contrasts<-", convolve,
       cooks.distance, cophenetic, cor, cov, cov.wt, cov2cor,
       covratio, cpgram, cutree, cycle,
       D, DF2formula,
       dbeta, dbinom, dcauchy,
       dchisq, decompose, delete.response, deltat, dendrapply,
       density, deriv, deriv3, deviance, dexp, df, df.kernel,
       df.residual, dfbeta, dfbetas, dffits, dgamma, dgeom, dhyper,
       diffinv, dist, dlnorm, dlogis, dmultinom, dnbinom, dnorm,
       dpois, drop.scope, drop.terms, drop1, dsignrank, dt,
       dummy.coef, dummy.coef.lm, dunif, dweibull, dwilcox, ecdf, eff.aovlist,
       effects, embed, estVar, end, expand.model.frame, extractAIC,
       factanal, factor.scope, family, fft, filter, fitted,
       fitted.values, fivenum, formula, frequency, ftable, Gamma,
       gaussian, get_all_vars, getCall, getInitial, glm, glm.control,
       glm.fit, hasTsp, hat, hatvalues, hclust, heatmap, HoltWinters,
       influence, influence.measures, integrate, interaction.plot,
       inverse.gaussian, IQR, is.empty.model, is.leaf, is.mts,
       is.stepfun, is.ts, is.tskernel, isoreg, KalmanForecast,
       KalmanLike, KalmanRun, KalmanSmooth, kernapply, kernel, kmeans,
       knots, ksmooth, lag, lag.plot, line, lm, lm.fit, .lm.fit,
       lm.influence, lm.wfit, loadings, loess, loess.control,
       loess.smooth, logLik, loglin, lowess, ls.diag, ls.print, lsfit,
       mad, mahalanobis, make.link, makeARIMA, makepredictcall,
       manova, mauchly.test, median, medpolish, model.extract,
       model.frame, model.matrix, model.offset, model.response,
       model.tables, model.weights, monthplot, mvfft, na.action,
       na.contiguous, na.exclude, na.fail, na.omit, na.pass,
       napredict, naprint, naresid, nextn, nlm, nlminb, nls,
       nls.control, NLSstAsymptotic, NLSstClosestX, NLSstLfAsymptote,
       NLSstRtAsymptote, nobs, numericDeriv, offset, optim, optimHess,
       optimise, optimize, order.dendrogram, Pair, p.adjust,
       p.adjust.methods, pacf, pairwise.table, pbeta, pbinom, pcauchy,
       pchisq, pexp, pf, pgamma, pgeom, phyper, plclust, plnorm,
       plogis, pnbinom, pnorm, poisson, poly, polym, power, ppoints,
       ppois, ppr, PP.test, prcomp, predict, preplot, .preformat.ts, princomp,
       printCoefmat, profile, proj, promax, psignrank, pt, ptukey,
       punif, pweibull, pwilcox, qbeta, qbinom, qcauchy, qchisq, qexp,
       qf, qgamma, qgeom, qhyper, qlnorm, qlogis, qnbinom, qnorm,
       qpois, qqline, qqnorm, qqplot, qsignrank, qt, qtukey, quantile,
       qr.influence,
       quasi, quasibinomial, quasipoisson, qunif, qweibull, qwilcox,
       r2dtable, rbeta, rbinom, rcauchy, rchisq, read.ftable,
       rect.hclust, reformulate, relevel, reorder, replications,
       reshape, resid, residuals, rexp, rf, rgamma, rgeom, rhyper,
       rlnorm, rlogis, rmultinom, rnbinom, rnorm, rpois, rsignrank,
       rstandard, rstudent, rt, runif, runmed, rweibull, rwilcox,
       rWishart, scatter.smooth, screeplot, sd, se.contrast,
       selfStart, setNames, sigma, simulate, smooth, smooth.spline,
       smoothEnds, sortedXyData, spec.ar, spec.pgram, spec.taper,
       spectrum, spline, splinefun, splinefunH, SSD, SSasymp,
       SSasympOff, SSasympOrig, SSbiexp, SSfol, SSfpl, SSgompertz,
       SSlogis, SSmicmen, SSweibull, start, stat.anova, step, stepfun,
       stl, StructTS, summary.manova, supsmu, symnum, termplot, terms,
       time, toeplitz, toeplitz2, ts, ts.intersect, ts.plot, ts.union, tsdiag,
       tsp, "tsp<-", tsSmooth, TukeyHSD, uniroot, update, var,
       variable.names, varimax, .vcov.aliased, vcov, weighted.mean,
       weighted.residuals, weights, window, "window<-", write.ftable,
       xtabs, pbirthday, qbirthday, psmirnov, qsmirnov, rsmirnov)

## from ctest
export(ansari.test, bartlett.test, binom.test, chisq.test, cor.test,
       fisher.test, fligner.test, friedman.test, kruskal.test,
       ks.test, mantelhaen.test, mauchly.test, mcnemar.test,
       mood.test, oneway.test, pairwise.prop.test, pairwise.t.test,
       pairwise.wilcox.test, poisson.test, power.anova.test,
       power.prop.test, power.t.test, prop.test, prop.trend.test,
       quade.test, shapiro.test, t.test, var.test, wilcox.test)

export(plot.spec.coherency, plot.spec.phase)


## methods used by R itself.
export(density.default, model.frame.default, plot.ecdf, plot.stepfun,
       summary.aov, summary.lm, summary.stepfun, update.formula)

## historical
export(aggregate.data.frame, median.default, model.matrix.default,
       model.matrix.lm, plot.ts, predict.glm, predict.lm,
       residuals.glm, residuals.lm, summary.glm, terms.formula,
       update.default)

## model.matrix.lm: robustbase
## residuals.glm: DAMisc, car, haplo.stats, lasso2, plsRbeta, plsRglm, rms, spgwr
## residuals.lm: CADFest, robustbase
## update.default: MuMIn, spatstat


## register all the methods for generics elsewhere in case namespace is
## loaded but not currently attached.
S3method("[", acf)
S3method("[", formula)
S3method("[", terms)
S3method("[", ts)
S3method("[", tskernel)
S3method("[<-", ts)
S3method("[[", dendrogram)
S3method(add1, default)
S3method(add1, glm)
S3method(add1, lm)
S3method(add1, mlm)
S3method(aggregate, data.frame)
S3method(aggregate, default)
S3method(aggregate, "formula")
S3method(aggregate, ts)
S3method(AIC, default)
S3method(AIC, logLik)
S3method(alias, formula)
S3method(alias, lm)
S3method(ansari.test, default)
S3method(ansari.test, formula)
S3method(ar.burg, default)
S3method(ar.burg, mts)
S3method(ar.yw, default)
S3method(ar.yw, mts)
S3method(as.data.frame, aovproj)
S3method(as.data.frame, ftable)
S3method(as.data.frame, logLik)
S3method(as.dendrogram, dendrogram)
S3method(as.dendrogram, hclust)
S3method(as.dist, default)
S3method(as.hclust, dendrogram)
S3method(as.hclust, default)
S3method(as.hclust, twins)
S3method(as.matrix, dist)
S3method(as.matrix, ftable)
S3method(as.stepfun, default)
S3method(as.stepfun, isoreg)
S3method(as.table, ftable)
S3method(as.ts, default)
S3method(anova, glm)
S3method(anova, glmlist)
S3method(anova, lm)
S3method(anova, lmlist)
S3method(anova, loess)
S3method(anova, mlm)
S3method(anova, mlmlist)
S3method(anova, nls)
S3method(bartlett.test, default)
S3method(bartlett.test, formula)
S3method(BIC, default)
S3method(BIC, logLik)
S3method(biplot, default)
S3method(biplot, princomp)
S3method(biplot, prcomp)
S3method(case.names, default)
S3method(case.names, lm)
S3method(cbind, ts)
S3method(coef, aov)
S3method(coef, Arima)
S3method(coef, default)
S3method(coef, listof)
S3method(coef, maov)
S3method(coef, nls)
S3method(confint, default)
S3method(confint, glm)
S3method(confint, profile.glm)
S3method(confint, lm)
S3method(confint, nls)
S3method(confint, profile.nls)
S3method(cooks.distance, glm)
S3method(cooks.distance, lm)
S3method(cophenetic, default)
S3method(cophenetic, dendrogram)
S3method(cor.test, default)
S3method(cor.test, formula)
S3method(cut, dendrogram)
S3method(cycle, default)
S3method(cycle, ts)
S3method(deltat, default)
S3method(density, default)
S3method(deriv, default)
S3method(deriv, formula)
S3method(deriv3, default)
S3method(deriv3, formula)
S3method(deviance, default)
S3method(deviance, glm)
S3method(deviance, lm)
S3method(deviance, mlm)
S3method(deviance, nls)
S3method(diffinv, default)
S3method(diffinv, ts)
S3method(diffinv, vector)
S3method(df.residual, default)
S3method(df.residual, nls)
S3method(dfbeta, lm)
S3method(dfbetas, lm)
S3method(diff, ts)
S3method(drop1, default)
S3method(drop1, glm)
S3method(drop1, lm)
S3method(drop1, mlm)
S3method(dummy.coef, aovlist)
S3method(dummy.coef, lm)
S3method(effects, glm)
S3method(effects, lm)
S3method(end, default)
S3method(estVar, SSD)
S3method(estVar, mlm)
S3method(extractAIC, aov)
S3method(extractAIC, coxph)
S3method(extractAIC, glm)
S3method(extractAIC, lm)
S3method(extractAIC, negbin)
S3method(extractAIC, survreg)
S3method(family, glm)
S3method(family, lm)
S3method(fitted, default)
S3method(fitted, isoreg)
S3method(fitted, kmeans)
S3method(fitted, nls)
S3method(fitted, smooth.spline)
S3method(fligner.test, default)
S3method(fligner.test, formula)
S3method(format, dist)
S3method(format, ftable)
S3method(formula, character)
S3method(formula, data.frame)
S3method(formula, default)
S3method(formula, formula)
S3method(formula, glm)
S3method(formula, lm)
S3method(formula, nls)
S3method(formula, terms)
S3method(frequency, default)
S3method(friedman.test, default)
S3method(friedman.test, formula)
S3method(ftable, default)
S3method(ftable, formula)
S3method(getCall, default)
S3method(getInitial, default)
S3method(getInitial, formula)
S3method(getInitial, selfStart)
S3method(hatvalues, lm)
S3method(hatvalues, smooth.spline)
S3method(head, ts)
S3method(identify, hclust)
S3method(influence, glm)
S3method(influence, lm)
S3method(kernapply, default)
S3method(kernapply, ts)
S3method(kernapply, tskernel)
S3method(kernapply, vector)
S3method(knots, stepfun)
S3method(kruskal.test, default)
S3method(kruskal.test, formula)
S3method(ks.test, default)
S3method(ks.test, formula)
S3method(labels, dendrogram)
S3method(labels, dist)
S3method(labels, lm)
S3method(labels, terms)
S3method(lag, default)
S3method(lines, isoreg)
S3method(lines, stepfun)
S3method(lines, ts)
S3method(logLik, Arima)
S3method(logLik, glm)
S3method(logLik, lm)
S3method(logLik, logLik)
S3method(logLik, nls)
S3method(makepredictcall, default)
S3method(makepredictcall, poly)
S3method(mauchly.test, SSD)
S3method(mauchly.test, mlm)
S3method(median, default)
S3method(merge, dendrogram)
S3method(model.frame, aovlist)
S3method(model.frame, default)
S3method(model.frame, glm)
S3method(model.frame, lm)
S3method(model.matrix, default)
S3method(model.matrix, lm)
S3method(model.tables, aov)
S3method(model.tables, aovlist)
S3method(monthplot, default)
S3method(monthplot, stl)
S3method(monthplot, StructTS)
S3method(monthplot, ts)
S3method(mood.test, default)
S3method(mood.test, formula)
S3method(na.action, default)
S3method(na.contiguous, default)
S3method(na.exclude, data.frame)
S3method(na.exclude, default)
S3method(na.fail, default)
S3method(na.omit, data.frame)
S3method(na.omit, default)
S3method(na.omit, ts)
S3method(napredict, default)
S3method(napredict, exclude)
S3method(naprint, default)
S3method(naprint, exclude)
S3method(naprint, omit)
S3method(naresid, default)
S3method(naresid, exclude)
S3method(NLSstAsymptotic, sortedXyData)
S3method(NLSstClosestX, sortedXyData)
S3method(NLSstLfAsymptote, sortedXyData)
S3method(NLSstRtAsymptote, sortedXyData)
S3method(nobs, default)
S3method(nobs, dendrogram)
S3method(nobs, glm)
S3method(nobs, lm)
S3method(nobs, logLik)
S3method(nobs, nls)
S3method(Ops, ts)
S3method(pacf, default)
S3method(pairs, profile)
S3method(plot, acf)
S3method(plot, decomposed.ts)
S3method(plot, dendrogram)
S3method(plot, density)
S3method(plot, ecdf)
S3method(plot, hclust)
S3method(plot, HoltWinters)
S3method(plot, isoreg)
S3method(plot, lm)
S3method(plot, medpolish)
S3method(plot, mlm)
S3method(plot, ppr)
S3method(plot, prcomp)
S3method(plot, princomp)
S3method(plot, profile.nls)
S3method(plot, profile)
S3method(plot, spec)
S3method(plot, stepfun)
S3method(plot, stl)
S3method(plot, ts)
S3method(plot, tskernel)
S3method(plot, TukeyHSD)
S3method(ppr, default)
S3method(ppr, formula)
S3method(prcomp, default)
S3method(prcomp, formula)
S3method(predict, ar)
S3method(predict, Arima)
S3method(predict, arima0)
S3method(predict, glm)
S3method(predict, HoltWinters)
S3method(predict, lm)
S3method(predict, loess)
S3method(predict, mlm)
S3method(predict, poly)
S3method(predict, ppr)
S3method(predict, nls)
S3method(predict, prcomp)
S3method(predict, princomp)
S3method(predict, smooth.spline)
S3method(predict, smooth.spline.fit)
S3method(predict, StructTS)
S3method(princomp, default)
S3method(princomp, formula)
S3method(print, acf)
S3method(print, anova)
S3method(print, aov)
S3method(print, aovlist)
S3method(print, ar)
S3method(print, Arima)
S3method(print, arima0)
S3method(print, dendrogram)
S3method(print, density)
S3method(print, dist)
S3method(print, dummy_coef)
S3method(print, dummy_coef_list)
S3method(print, ecdf)
S3method(print, factanal)
S3method(print, family)
S3method(print, formula)
S3method(print, ftable)
S3method(print, glm)
S3method(print, hclust)
S3method(print, HoltWinters)
S3method(print, htest)
S3method(print, infl)
S3method(print, integrate)
S3method(print, isoreg)
S3method(print, kmeans)
S3method(print, lm)
S3method(print, loadings)
S3method(print, loess)
S3method(print, logLik)
S3method(print, medpolish)
S3method(print, mtable)
S3method(print, nls)
S3method(print, pairwise.htest)
S3method(print, power.htest)
S3method(print, ppr)
S3method(print, prcomp)
S3method(print, princomp)
S3method(print, smooth.spline)
S3method(print, stepfun)
S3method(print, stl)
S3method(print, StructTS)
S3method(print, summary.aov)
S3method(print, summary.aovlist)
S3method(print, summary.ecdf)
S3method(print, summary.glm)
S3method(print, summary.lm)
S3method(print, summary.loess)
S3method(print, summary.manova)
S3method(print, summary.nls)
S3method(print, summary.ppr)
S3method(print, summary.prcomp)
S3method(print, summary.princomp)
S3method(print, tables_aov)
S3method(print, TukeyHSD)
S3method(print, terms)
S3method(print, ts)
S3method(print, tskernel)
S3method(print, tukeyline)
S3method(print, tukeysmooth)
S3method(print, xtabs)
S3method(profile, nls)
S3method(profile, glm)
S3method(profiler, nls)
S3method(proj, aov)
S3method(proj, aovlist)
S3method(proj, default)
S3method(proj, lm)
S3method(quade.test, default)
S3method(quade.test, formula)
S3method(qqnorm, default)
S3method(qr, lm)
S3method(quantile, default)
S3method(quantile, ecdf)
S3method(quantile, POSIXt)
S3method(relevel, default)
S3method(relevel, factor)
S3method(relevel, ordered)
S3method(reorder, default)
S3method(reorder, dendrogram)
S3method(residuals, default)
S3method(residuals, glm)
S3method(residuals, isoreg)
S3method(residuals, HoltWinters)
S3method(residuals, lm)
S3method(residuals, nls)
S3method(residuals, smooth.spline)
S3method(residuals, tukeyline)
S3method(rev, dendrogram)
S3method(rstandard, glm)
S3method(rstandard, lm)
S3method(rstudent, glm)
S3method(rstudent, lm)
S3method(screeplot, default)
S3method(se.contrast, aov)
S3method(se.contrast, aovlist)
S3method(selfStart, default)
S3method(selfStart, formula)
S3method(sigma, default)
S3method(sigma, mlm)
S3method(sigma, glm)
S3method(simulate, lm)
S3method(sortedXyData, default)
S3method(str, dendrogram)
S3method(summary, aov)
S3method(summary, aovlist)
S3method(summary, ecdf)
S3method(summary, glm)
S3method(summary, infl)
S3method(summary, lm)
S3method(summary, loess)
S3method(summary, manova)
S3method(summary, mlm)
S3method(summary, nls)
S3method(summary, ppr)
S3method(summary, prcomp)
S3method(summary, princomp)
S3method(summary, stepfun)
S3method(summary, stl)
S3method(summary, tukeysmooth)
S3method(SSD, mlm)
S3method(start, default)
S3method(str, logLik)
S3method(t, ts)
S3method(t.test, default)
S3method(t.test, formula)
S3method(tail, ts)
S3method(terms, aovlist)
S3method(terms, default)
S3method(terms, formula)
S3method(terms, terms)
S3method(time, default)
S3method(time, ts)
S3method(tsdiag, Arima)
S3method(tsdiag, arima0)
S3method(tsdiag, StructTS)
S3method(tsSmooth, StructTS)
S3method(TukeyHSD, aov)
S3method(update, default)
S3method(update, formula)
S3method(var.test, default)
S3method(var.test, formula)
S3method(variable.names, default)
S3method(variable.names, lm)
S3method(vcov, Arima)
S3method(vcov, aov)
S3method(vcov, glm)
S3method(vcov, lm)
S3method(vcov, summary.lm)
S3method(vcov, summary.glm)
S3method(vcov, mlm)
S3method(vcov, nls)
S3method(weighted.mean, Date)
S3method(weighted.mean, default)
S3method(weighted.mean, difftime)
S3method(weighted.mean, POSIXct)
S3method(weighted.mean, POSIXlt)
S3method(weights, default)
S3method(weights, glm)
S3method(weights, nls)
S3method(wilcox.test, default)
S3method(wilcox.test, formula)
S3method(window, default)
S3method(window, ts)
S3method("window<-", ts)

## Cannot register in utils ...
S3method("update", "packageStatus")
