# Refer to all C/Fortran routines by their name prefixed by C_
#useDynLib(fda.usc, .registration = TRUE, .fixes = "C_")
useDynLib(fda.usc, .registration = TRUE)
#useDynLib(fda.usc)
#exportPattern("^[^\\.]")

import(fda)
import(splines)
import(MASS) 
import(mgcv)
import(rpart)
import(stats)
#import(pls)
import(nlme)
#importFrom("nlme","gls","predict.gls","getGroupsFormula","getCovariate","getGroups"
#,"getCovariateFormula","corMatrix","Initialize")
importFrom("grDevices", "adjustcolor", "dev.cur", "dev.interactive",
           "dev.new", "devAskNewPage", "gray", "palette")
importFrom("graphics", "abline", "boxplot", "contour", "curve",
           "filled.contour", "image", "legend", "lines", "matlines",
           "pairs", "par", "persp", "plot", "points", "polygon", "rug",
            "stars", "text", "title")
importFrom("methods", "callGeneric")
importFrom("utils", "combn", "setTxtProgressBar", "txtProgressBar")


# exportPattern("^[^\\.]")
#export(.checkMFClasses, .getXlevels, .MFclass)


export(
anova.hetero,anova.RPm,argvals,anova.onefactor,
AKer.norm,AKer.cos,AKer.epa,AKer.tri,AKer.quar,AKer.unif,
create.pc.basis,create.pls.basis,create.fdata.basis,classif.glm,classif.gsam,classif.gkam,classif.np,classif.knn,classif.kernel,
cond.F,cond.mode,cond.quantile,create.fdata.basis,CV.S, 
depth.FM,depth.mode, depth.RP,depth.RPD,depth.RT,dev.S,dis.cos.cor,fdata,fdata.bootstrap,dim.fdata,
fregre.basis.fr,
fdata.cen,fdata.deriv,fdata2fd,fdata2pc,fdata2pls,FDR,fregre.basis,fregre.basis.cv,fregre.bootstrap,fregre.glm,FDR,
fregre.gsam,fregre.gkam,fregre.lm,fregre.np,fregre.np.cv,fregre.pc,fregre.pc.cv,fregre.plm,fregre.pls,fregre.pls.cv,
func.mean.formula,func.mean,func.var,func.trim.FM,func.trim.mode,func.trim.RP,func.trim.RPD,func.med.FM,func.med.mode,func.med.RP,func.med.RPD,func.trimvar.FM,func.trimvar.mode,func.trimvar.RP,func.trimvar.RPD,
GCV.S,
h.default,
IKer.norm,IKer.cos,IKer.epa,IKer.tri,IKer.quar,IKer.unif,
influence.fdata,influence.quan,inprod.fdata,int.simpson,is.fdata,
Kernel,Ker.norm,Ker.cos,Ker.epa,Ker.tri,Ker.quar,Ker.unif,Kernel.asymmetric,Kernel.integrate,kmeans.fd,
metric.kl,metric.dist,metric.lp,min.basis,min.np,missing.fdata,
norm.fd,norm.fdata,ncol.fdata,nrow.fdata,
outliers.thres.lrt,outliers.lrt,outliers.depth.trim,outliers.depth.pond,omit.fdata,
plot.fdata,predict.classif,predict.fregre.fd,predict.fregre.glm,predict.fregre.gsam,
predict.fregre.fr,
predict.fregre.gkam,predict.fregre.lm,predict.fregre.plm,pvalue.FDR,
quantile.outliers.pond, quantile.outliers.trim,
rproc2fdata,rangeval,
S.basis,semimetric.basis,summary.classif,S.LLR,S.NW,S.KNN,
semimetric.hshift,semimetric.mplsr,semimetric.pca,semimetric.deriv,semimetric.fourier,
split.fdata,subset.fdata,
summary.fdata.comp,summary.fregre.fd,summary.fregre.gkam,summary.anova,
unlist.fdata,
Var.y,Var.e,
title.fdata,
flm.Ftest,flm.test,PCvM.statistic,Adot,
Ftest.statistic,dfv.statistic,dfv.test,
order.fdata,
fdata2ppc,fdata2ppls,
fregre.ppc,fregre.ppls,
fregre.ppc.cv,fregre.ppls.cv,
P.penalty,rwild,classif.depth,
classif.DD,predict.classif.DD,classif.tree,
depth.FMp,depth.modep, depth.RPp,
mdepth.LD,mdepth.HS,mdepth.SD,mdepth.RP,mdepth.MhD,mdepth.TD,
metric.hausdorff,na.omit.fdata,na.fail.fdata,
dcor.xy,dcor.dist,bcdcor.dist,dcor.test,plot.bifd,
# version 1.2.3
NROW.fdata,NCOL.fdata,length.fdata,gridfdata,rcombfdata,depth.FSD,depth.KFSD,
 # version 1.2.4
fregre.gls,fregre.igls,GCCV.S,predict.fregre.gls,predict.fregre.igls,
#is.square.fdata,is.symmetric.fdata,fdata.trace,
is.na.fdata,anyNA.fdata,count.na.fdata
#no se importan (funciones internas)
#corSigma,simul.arma, filter.arima, corUnstruc, cor.AR, cor.ARMA, corExpo, cor.Exp, corCloud
,LMDC.select,LMDC.regre
)
# Importar importFrom(nlme,......lista funciones)
#func.med.HD,func.med.PD,func.med.SD,func.med.MhD,func.trim.HD,func.trim.PD,func.trim.SD,func.trim.MhD,
#depth.MB,mdepth.MB,
#classif.boosting,classif.glm.cv,fregre.basis.func.cv,
#plot.bifd
#count.na, fda.usc.internal.Rd    DEPRECATED
#hshift:	semimetric.NPFDA.Rd
#intercambio,intercambio.l:  anova.RPm.Rd
#int.simpson2: int.simpson.Rd
#rkernel: Kernel.Rd
# auxiliares de fdata2pls.R
S3method(is.na,fdata)
S3method(anyNA,fdata)
S3method(anova,hetero)
S3method(anova,RPm)
S3method(anova,onefactor)
S3method(c,fdata)
S3method(dim, fdata)
S3method(influence,fdata)
S3method(influence,quan)
#S3method(is,fdata)
S3method(lines,fdata)
S3method(length,fdata)
S3method(Math, fdata)
S3method(missing,fdata)
S3method(min,basis)
S3method(min,np)
S3method(na.omit,fdata)
S3method(na.fail,fdata) 
#S3method(omit,fdata)
S3method(Ops,fdata)
S3method(order,fdata)
S3method(plot,fdata)
S3method(plot,bifd)
S3method(predict,classif.DD)
S3method(predict,classif)
S3method(predict,fregre.fr)
S3method(predict,fregre.fd)
S3method(predict,fregre.glm)
S3method(predict,fregre.gsam)
S3method(predict,fregre.gkam)
S3method(predict,fregre.gls)
S3method(predict,fregre.igls)
S3method(predict,fregre.lm)
S3method(predict,fregre.plm)
S3method(print,classif)
S3method(print,fregre.fd)
S3method(print,fregre.gkam)
S3method(quantile,outliers.pond)
S3method(quantile,outliers.trim)
S3method(NROW,fdata)
S3method(NCOL,fdata)
S3method(nrow,fdata)
S3method(ncol,fdata)
S3method(split,fdata)
S3method(subset,fdata)
S3method(Summary,fdata)
S3method(summary,anova)
S3method(summary,classif)
S3method(summary,fdata.comp)
S3method(summary,fregre.fd)
S3method(summary,fregre.gkam)
#S3method(title, fdata)
S3method(unlist,fdata)
S3method("[", fdata)
S3method("!=", fdata)
S3method("*", fdata)
S3method("+", fdata)
S3method("-", fdata)
S3method("/", fdata)
S3method("==", fdata)
S3method("^", fdata)

#S3method(predict,depth)
#exportPattern("\\.test$")

#version 1.4.0
export(rdir.pc)
export(rp.flm.statistic)
export(rp.flm.test)
#export(r.cfs.2003,r.hh.2006,r.bridge,r.gbm,r.ou)
export(r.ou)