useDynLib(fastmatrix, .registration = TRUE)

## from "stats" package:
importFrom("stats",
           .getXlevels, coef, complete.cases, cov, cov2cor, logLik, median, 
           model.matrix, model.response, na.fail, na.omit, pchisq, pt, pnorm,
           qnorm, quantile, terms, var)

## Our exports:
export(array.mult, asSymmetric, 
       bezier, bracket.prod,
       ccc, cg, cholupdate, circulant, comm.info, comm.prod, commutation, constructX, corAR1, corCS, cov.MSSD, cov.weighted, 
       dchi, dupl.cross, dupl.info, dupl.prod, duplication, 
       equilibrate, extractL, extractU, 
       floyd, frank, 
       geomean, 
       hadamard, hankel, harris.test, helmert, house, house.prod, 
       JarqueBera.test, 
       kurtosis, krylov, 
       is.lu, is.lower.tri, is.upper.tri, 
       jacobi, 
       kronecker.prod, 
       ldl, lu, lu2inv, 
       Mahalanobis, matrix.fun, matrix.inner, matrix.norm, matrix.polynomial, matrix.sqrt, mardia.test, mchol, mediancenter, minkowski, moments, 
       ols, ols.fit, ols.fit.cg, ols.fit.chol, ols.fit.qr, ols.fit.svd, ols.fit.sweep, 
       pchi, power.method, 
       qchi, 
       rank1.update, rball, rchi, ridge, rmnorm, rsphere, 
       scaled.condition, schur, seidel, sherman.morrison, skewness, sweep.operator, symm.info, symm.prod, symmetrizer, 
       vec, vech, 
       WH.normal, whitening, wilson.hilferty)

# Exported S3 methods
export(lu.default, solve.lu)

## Register S3 methods
S3method(deviance, ols)
S3method(logLik, ols)
S3method(lu, default)
S3method(print, ccc)
S3method(print, Harris.test)
S3method(print, JarqueBera.test)
S3method(print, Mardia.test)
S3method(print, ols)
S3method(print, ridge)
S3method(print, summary.ols)
S3method(solve, lu)
S3method(summary, ols)
