useDynLib(CopulaDiagn,.registration = TRUE)

import(cubature)
import(VineCopula)
import(statmod)

importFrom("graphics", "abline", "matplot")
importFrom("stats", "cor", "dbeta", "dgamma", "integrate", "pbeta",
           "pgamma", "qbeta", "qgamma", "qnorm", "rchisq", "rgamma",
           "rnorm", "sd")

export(condMeas)
export(CIcondMeas)
export(plotCondMeas) 

export(GpermAsymC)  # requires library(cubature), library(statmod)
export(GpermAsym)  
export(GreflAsym)  
export(GreflAsymC) 
export(pskewcop,dskewcop) 

export(zetaDep)  
export(zetaDepC)  # could require library(statmod) for Gauss-Legendre
export(rhoS)  

# gamma factor model
export(rGammaFactor)
export(pmGF)  # multivariate cdf
export(dmGF)  # multivariate density with numerical integration
export(dmGF_gl)  # multivariate density with Gaus-Legendre quadrature
export(pbGF)  # bivariate cdf
export(dbGF)  # bivariate density
export(dbGF_gl)
export(pbGFcop)  # bivariate copula cdf
export(dbGFcop)  # bivariate copula density
export(dbGFcop_gl)
export(pcond1bGFcop)  # conditional cdf of copula given variable 1
export(pcond2bGFcop)  # conditional cdf of copula given variable 2
export(pmGFcop)  # multivariate copula cdf
export(dmGFcop)  # multivariate copula density
export(dmGFcop_gl)

export(pcondGFkgiveni)  # F_{k|i}
export(pcondGFjkgiveni) # F_{jk|i}
export(dcondGFjkgiveni) # f_{jk|i}
export(pcopGFjkgiveni)  # C_{jk;i}
export(pcoprGFjkgiveni) # reflected C_{jk;i}
export(dcopGFjkgiveni)  # c_{jk;i}

export(condcorGFgiveni) # cor for F_{jk|i}
export(gridGFgiveni)
export(pcondGFkgivenij)  # F_{k|ij|
export(condcorGFgivenij) # cor for F_{kl|ij}
export(gridGFgivenij)

export(bvnSemiCor)
export(semiCor)     # lower and upper semi-correlations
export(semiCorTable)
export(nscore)  # normal score transform  N(0,1) scale
export(uscore)  # uniform score transform U(0,1) scale
export(rmvn)
export(rmvt)

# loglikfunc.R
export(VuongLoglik)
export(bGFcop_nllk)  # bivariate GF copula negative log-likelihood
export(bGFcop_llkv)  # bivariate GF copula log-likelihood vector
export(mGFcop_nllk)  # multivariate GF copula negative log-likelihood
export(mGFcop_llkv)
export(bivcop_nllk)  # bivariate copula negative log-likelihood

# imitlefA.R  Archimedian copula based on integrated Mittag-Leffler Laplace transform
export(pimitlefA)  # copula cdf (permutation symmetrix)
export(pimitlefAr)  # reflected copula cdf
export(pcondimitlefA) # conditional cdf of imitmetA copula
export(pcondimitlefAr) # conditional cdf of reflected imitmetA copula
export(dimitlefA, dimitlefAr) # copula density
export(qcondimitlefA) # inverse conditional cdf of imitmetA copula
export(imitlefA_cpar2tau) # Kendall tau

# pseudo observation for trees 2 and higher
export(RVineCopSelect_pseudo) # output includes pseudo observations for each edge
export(vinearrayPerm)  # vine array permutation

