# Load the shared object
useDynLib(RobustGaSP)

# Exports
export(rgasp,ppgasp, higdon.1.data, borehole, dettepepel.3.data, limetal.2.data, 
environ.4.data,friedman.5.data, as.S3prediction, as.S4prediction.predict, findInertInputs,
leave_one_out_rgasp, matern_5_2_funct, matern_3_2_funct, pow_exp_funct,    matern_5_2_deriv, matern_3_2_deriv, pow_exp_deriv, separable_kernel, separable_multi_kernel, periodic_gauss_funct, periodic_exp_funct, periodic_gauss_deriv, periodic_exp_deriv,euclidean_distance, log_approx_ref_prior,log_approx_ref_prior_deriv, log_profile_lik, log_marginal_lik, log_marginal_lik_deriv, log_profile_lik_deriv, log_ref_marginal_post,Sample,neg_log_marginal_post_ref,
log_marginal_lik_ppgasp, log_profile_lik_ppgasp, log_marginal_lik_deriv_ppgasp, log_profile_lik_deriv_ppgasp, log_ref_marginal_post_ppgasp,neg_log_marginal_post_ref_ppgasp,neg_log_marginal_post_approx_ref_ppgasp,neg_log_marginal_post_approx_ref_deriv_ppgasp, predict.rgasp, predict.ppgasp,construct_ppgasp,pred_rgasp)

# Imports
import("Rcpp","methods")
importFrom("Rcpp", "evalCpp")
importFrom("graphics", "plot")
importFrom("stats", "optim","optimize","qt","qnorm","rchisq", "rnorm","qqline", "qqnorm","runif")
importFrom("graphics", "lines", "par")

## S4
exportClasses(rgasp,predrgasp,ppgasp,predppgasp) #,rgasp.RobustGaSP,summary.RobustGaSP,predict.RobustGaSP)
exportMethods(show,predict,simulate,plot)#,Sample)
#export(rgasp)
#export(ppgasp)
S3method(predict,rgasp)
S3method(predict,ppgasp)
S3method(plot,rgasp)
S3method(simulate,rgasp)
#S3method(Sample,rgasp)

