useDynLib("distrEx")

import("distr")
import("startupmsg")

exportClasses("DistrList", 
              "UnivarDistrList")
exportClasses("Condition", "EuclCondition") 
exportClasses("LMParameter",   
              "GumbelParameter")
exportClasses("MultivariateDistribution", 
              "DiscreteMVDistribution",
              "UnivariateCondDistribution",
              "DiscreteCondDistribution", 
              "AbscontCondDistribution",
              "Gumbel", "PrognCondition")

exportMethods("initialize", 
              "show", 
              "plot", 
              "coerce", 
              "dim") 
exportMethods("ConvexContamination", 
              "ContaminationSize", 
              "TotalVarDist", 
              "KolmogorovDist", 
              "HellingerDist") 
exportMethods("support", 
              "cond", 
              "Range",
              "loc", "loc<-", 
              "scale", "scale<-", 
              "name", "name<-", 
              "E", "var", "IQR", 
              "sd", "median", "mad",
              "m1df", "m2df",
              "liesInSupport")
exportMethods("illustrateCLT")

export("DistrList", "UnivarDistrList") 
export("EuclCondition") 
export("LMParameter")
export("DiscreteDistribution", 
       "DiscreteMVDistribution",
       "LMCondDistribution", 
       "Gumbel")
export("EuclideanSpace", 
       "Reals", 
       "Naturals") 
export("ConvexContamination")
export("GLIntegrate",
       "distrExIntegrate") 
export("distrExOptions", 
       "GLIntegrateTruncQuantile",
       "GLIntegrateOrder",  
       "ElowerTruncQuantile", 
       "EupperTruncQuantile", 
       "ErelativeTolerance",  
       "m1dfLowerTruncQuantile", 
       "m1dfRelativeTolerance", 
       "m2dfLowerTruncQuantile", 
       "m2dfRelativeTolerance")
export("make01","PrognCondDistribution","PrognCondition")
