import(methods)

importFrom("grDevices", "heat.colors", "dev.off", "pdf", "rgb")
importFrom("graphics", "contour", "image", "legend", "par", "plot", "polygon", "rect", "segments", "strheight", "strwidth", "text")
importFrom("stats", "pchisq", "quantile", "rnorm", "kmeans", "glm", "binomial")
importFrom("utils", "read.table", "write.table")
importFrom("Rcpp", "evalCpp") # just to avoid << function 'enterRNGScope' not provided by package 'Rcpp' >> error
importFrom("RcppParallel", "setThreadOptions", "defaultNumThreads")

useDynLib(gaston)

exportClasses(bed.matrix)
exportMethods(head,  as.matrix, "[", "%*%", dim, p, 'p<-', mu, 'mu<-', sigma, 'sigma<-', standardize, 'standardize<-', cbind, rbind)

export(as.bed.matrix)
export(GRM, reshape.GRM)
export(set.stats, set.stats.ped, set.stats.snps, set.hwe, set.genomic.sex)
export(bed.loadings, LD, LD.plot, LD.thin)
export(select.inds, select.snps)
export(read.bed.matrix, write.bed.matrix, read.vcf)
export(random.pm, lmm.simu, lmm.aireml, logistic.mm.aireml, lmm.diago, lmm.diago.likelihood, lik.contour)
export(association.test)
export(score.variance.linear, score.variance.logistic, score.fixed.linear, score.fixed.logistic)
