### Imports
import(BB)
import(SQUAREM)
import(alabama)
import(nleqslv)

importFrom("graphics", "abline", "contour", "legend", "lines", "par", "plot", "points", "text")
importFrom("grDevices", "colorRampPalette", "dev.off", "png")
importFrom("stats", "optim", "qnorm", "rnorm", "runif")
importFrom("utils", "capture.output")
importFrom("methods", "is")

### Exports of main R functions
export(GNE, GNE.nseq, GNE.ceq, GNE.fpeq, GNE.minpb)
S3method(print, GNE)
S3method(summary, GNE)
S3method(print, summary.GNE)
export(bench.GNE.nseq, bench.GNE.ceq, bench.GNE.fpeq, bench.GNE.minpb)

#export(SE.nseq, SE.objleaders, SE.bestresponse)

### template functions
export(funSSR, jacSSR)
export(funCER, jacCER)
export(gapNIR, gradxgapNIR, gradygapNIR, fpNIR)
export(gapVIR, gradxgapVIR, gradygapVIR, fpVIR)

### aux - step functions
export(decrstep, decrstep5, decrstep10, decrstep20, purestep)

### aux - complementarity functions
export(compl.par)
S3method(print, compl.par)
S3method(summary, compl.par)
S3method(print, summary.compl.par)
export(phiFB, GrAphiFB, GrBphiFB, phiMin, GrAphiMin, GrBphiMin)
export(phiMan, GrAphiMan, GrBphiMan, phiLT, GrAphiLT, GrBphiLT)
export(phiKK, GrAphiKK, GrBphiKK, phipFB, GrAphipFB, GrBphipFB)

### aux - projection, rejection algo
export(projector, rejection)

### aux - complementarity functions
export(potential.ce, gradpotential.ce, psi.ce, gradpsi.ce)


### when debugging
#export(testargfunSSR, testargjacSSR)


### depreciated functions
#export(NewtonKKT, fixedpoint, minGap)
#export(Phi, JacPhi, GNE.nseq.old)


### test functions
#export(NewtonNext, LevenMarqNext)
#export(eqsolve, graphContourOneIter)
#export(graphContourMultIter)


### C code
useDynLib(GNE, .registration = TRUE, .fixes = "C_")
