// Generated by using Rcpp::compileAttributes() -> do not edit by hand
// Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393

#include <Rcpp.h>

using namespace Rcpp;

#ifdef RCPP_USE_GLOBAL_ROSTREAM
Rcpp::Rostream<true>&  Rcpp::Rcout = Rcpp::Rcpp_cout_get();
Rcpp::Rostream<false>& Rcpp::Rcerr = Rcpp::Rcpp_cerr_get();
#endif

// P_4pl
NumericVector P_4pl(NumericVector delta, double alpha, double theta, double la, double ua);
RcppExport SEXP _PP_P_4pl(SEXP deltaSEXP, SEXP alphaSEXP, SEXP thetaSEXP, SEXP laSEXP, SEXP uaSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type delta(deltaSEXP);
    Rcpp::traits::input_parameter< double >::type alpha(alphaSEXP);
    Rcpp::traits::input_parameter< double >::type theta(thetaSEXP);
    Rcpp::traits::input_parameter< double >::type la(laSEXP);
    Rcpp::traits::input_parameter< double >::type ua(uaSEXP);
    rcpp_result_gen = Rcpp::wrap(P_4pl(delta, alpha, theta, la, ua));
    return rcpp_result_gen;
END_RCPP
}
// P_4pl4wle
NumericVector P_4pl4wle(NumericVector delta, double alpha, double theta, double la, double ua);
RcppExport SEXP _PP_P_4pl4wle(SEXP deltaSEXP, SEXP alphaSEXP, SEXP thetaSEXP, SEXP laSEXP, SEXP uaSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type delta(deltaSEXP);
    Rcpp::traits::input_parameter< double >::type alpha(alphaSEXP);
    Rcpp::traits::input_parameter< double >::type theta(thetaSEXP);
    Rcpp::traits::input_parameter< double >::type la(laSEXP);
    Rcpp::traits::input_parameter< double >::type ua(uaSEXP);
    rcpp_result_gen = Rcpp::wrap(P_4pl4wle(delta, alpha, theta, la, ua));
    return rcpp_result_gen;
END_RCPP
}
// r_huber_4pl
double r_huber_4pl(NumericVector delta, double alpha, double theta, double la, double ua, double H);
RcppExport SEXP _PP_r_huber_4pl(SEXP deltaSEXP, SEXP alphaSEXP, SEXP thetaSEXP, SEXP laSEXP, SEXP uaSEXP, SEXP HSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type delta(deltaSEXP);
    Rcpp::traits::input_parameter< double >::type alpha(alphaSEXP);
    Rcpp::traits::input_parameter< double >::type theta(thetaSEXP);
    Rcpp::traits::input_parameter< double >::type la(laSEXP);
    Rcpp::traits::input_parameter< double >::type ua(uaSEXP);
    Rcpp::traits::input_parameter< double >::type H(HSEXP);
    rcpp_result_gen = Rcpp::wrap(r_huber_4pl(delta, alpha, theta, la, ua, H));
    return rcpp_result_gen;
END_RCPP
}
// L4pl
NumericMatrix L4pl(IntegerMatrix awm, NumericMatrix DELTA, NumericVector ALPHA, NumericVector LOWA, NumericVector UPPA, NumericVector THETA, bool map, NumericVector mu, NumericVector sigma2);
RcppExport SEXP _PP_L4pl(SEXP awmSEXP, SEXP DELTASEXP, SEXP ALPHASEXP, SEXP LOWASEXP, SEXP UPPASEXP, SEXP THETASEXP, SEXP mapSEXP, SEXP muSEXP, SEXP sigma2SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerMatrix >::type awm(awmSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type DELTA(DELTASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type ALPHA(ALPHASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type LOWA(LOWASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type UPPA(UPPASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type THETA(THETASEXP);
    Rcpp::traits::input_parameter< bool >::type map(mapSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type mu(muSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type sigma2(sigma2SEXP);
    rcpp_result_gen = Rcpp::wrap(L4pl(awm, DELTA, ALPHA, LOWA, UPPA, THETA, map, mu, sigma2));
    return rcpp_result_gen;
END_RCPP
}
// L4pl_wle
NumericMatrix L4pl_wle(IntegerMatrix awm, NumericMatrix DELTA, NumericVector ALPHA, NumericVector LOWA, NumericVector UPPA, NumericVector THETA);
RcppExport SEXP _PP_L4pl_wle(SEXP awmSEXP, SEXP DELTASEXP, SEXP ALPHASEXP, SEXP LOWASEXP, SEXP UPPASEXP, SEXP THETASEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerMatrix >::type awm(awmSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type DELTA(DELTASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type ALPHA(ALPHASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type LOWA(LOWASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type UPPA(UPPASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type THETA(THETASEXP);
    rcpp_result_gen = Rcpp::wrap(L4pl_wle(awm, DELTA, ALPHA, LOWA, UPPA, THETA));
    return rcpp_result_gen;
END_RCPP
}
// L4pl_robust
NumericMatrix L4pl_robust(IntegerMatrix awm, NumericMatrix DELTA, NumericVector ALPHA, NumericVector LOWA, NumericVector UPPA, NumericVector THETA, double H);
RcppExport SEXP _PP_L4pl_robust(SEXP awmSEXP, SEXP DELTASEXP, SEXP ALPHASEXP, SEXP LOWASEXP, SEXP UPPASEXP, SEXP THETASEXP, SEXP HSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerMatrix >::type awm(awmSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type DELTA(DELTASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type ALPHA(ALPHASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type LOWA(LOWASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type UPPA(UPPASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type THETA(THETASEXP);
    Rcpp::traits::input_parameter< double >::type H(HSEXP);
    rcpp_result_gen = Rcpp::wrap(L4pl_robust(awm, DELTA, ALPHA, LOWA, UPPA, THETA, H));
    return rcpp_result_gen;
END_RCPP
}
// NR_4PL
List NR_4PL(IntegerMatrix awm, NumericMatrix DELTA, NumericVector ALPHA, NumericVector LOWA, NumericVector UPPA, NumericVector THETA, String wm, int maxsteps, double exac, NumericVector mu, NumericVector sigma2, double H);
RcppExport SEXP _PP_NR_4PL(SEXP awmSEXP, SEXP DELTASEXP, SEXP ALPHASEXP, SEXP LOWASEXP, SEXP UPPASEXP, SEXP THETASEXP, SEXP wmSEXP, SEXP maxstepsSEXP, SEXP exacSEXP, SEXP muSEXP, SEXP sigma2SEXP, SEXP HSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerMatrix >::type awm(awmSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type DELTA(DELTASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type ALPHA(ALPHASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type LOWA(LOWASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type UPPA(UPPASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type THETA(THETASEXP);
    Rcpp::traits::input_parameter< String >::type wm(wmSEXP);
    Rcpp::traits::input_parameter< int >::type maxsteps(maxstepsSEXP);
    Rcpp::traits::input_parameter< double >::type exac(exacSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type mu(muSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type sigma2(sigma2SEXP);
    Rcpp::traits::input_parameter< double >::type H(HSEXP);
    rcpp_result_gen = Rcpp::wrap(NR_4PL(awm, DELTA, ALPHA, LOWA, UPPA, THETA, wm, maxsteps, exac, mu, sigma2, H));
    return rcpp_result_gen;
END_RCPP
}
// P_gpcm
double P_gpcm(NumericVector delta, double alpha, double theta, int resp);
RcppExport SEXP _PP_P_gpcm(SEXP deltaSEXP, SEXP alphaSEXP, SEXP thetaSEXP, SEXP respSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type delta(deltaSEXP);
    Rcpp::traits::input_parameter< double >::type alpha(alphaSEXP);
    Rcpp::traits::input_parameter< double >::type theta(thetaSEXP);
    Rcpp::traits::input_parameter< int >::type resp(respSEXP);
    rcpp_result_gen = Rcpp::wrap(P_gpcm(delta, alpha, theta, resp));
    return rcpp_result_gen;
END_RCPP
}
// r_huber_gpcm
double r_huber_gpcm(NumericVector delta, double alpha, double theta, double H);
RcppExport SEXP _PP_r_huber_gpcm(SEXP deltaSEXP, SEXP alphaSEXP, SEXP thetaSEXP, SEXP HSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type delta(deltaSEXP);
    Rcpp::traits::input_parameter< double >::type alpha(alphaSEXP);
    Rcpp::traits::input_parameter< double >::type theta(thetaSEXP);
    Rcpp::traits::input_parameter< double >::type H(HSEXP);
    rcpp_result_gen = Rcpp::wrap(r_huber_gpcm(delta, alpha, theta, H));
    return rcpp_result_gen;
END_RCPP
}
// L12gpcm
NumericMatrix L12gpcm(IntegerMatrix awm, NumericMatrix DELTA, NumericVector ALPHA, NumericVector THETA, NumericVector mu, NumericVector sigma2, bool map);
RcppExport SEXP _PP_L12gpcm(SEXP awmSEXP, SEXP DELTASEXP, SEXP ALPHASEXP, SEXP THETASEXP, SEXP muSEXP, SEXP sigma2SEXP, SEXP mapSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerMatrix >::type awm(awmSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type DELTA(DELTASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type ALPHA(ALPHASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type THETA(THETASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type mu(muSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type sigma2(sigma2SEXP);
    Rcpp::traits::input_parameter< bool >::type map(mapSEXP);
    rcpp_result_gen = Rcpp::wrap(L12gpcm(awm, DELTA, ALPHA, THETA, mu, sigma2, map));
    return rcpp_result_gen;
END_RCPP
}
// Pcorr1_gpcm
NumericVector Pcorr1_gpcm(NumericVector delta, double alpha, double theta);
RcppExport SEXP _PP_Pcorr1_gpcm(SEXP deltaSEXP, SEXP alphaSEXP, SEXP thetaSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type delta(deltaSEXP);
    Rcpp::traits::input_parameter< double >::type alpha(alphaSEXP);
    Rcpp::traits::input_parameter< double >::type theta(thetaSEXP);
    rcpp_result_gen = Rcpp::wrap(Pcorr1_gpcm(delta, alpha, theta));
    return rcpp_result_gen;
END_RCPP
}
// L12gpcm_wle
NumericMatrix L12gpcm_wle(IntegerMatrix awm, NumericMatrix DELTA, NumericVector ALPHA, NumericVector THETA);
RcppExport SEXP _PP_L12gpcm_wle(SEXP awmSEXP, SEXP DELTASEXP, SEXP ALPHASEXP, SEXP THETASEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerMatrix >::type awm(awmSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type DELTA(DELTASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type ALPHA(ALPHASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type THETA(THETASEXP);
    rcpp_result_gen = Rcpp::wrap(L12gpcm_wle(awm, DELTA, ALPHA, THETA));
    return rcpp_result_gen;
END_RCPP
}
// L12gpcm_robust
NumericMatrix L12gpcm_robust(IntegerMatrix awm, NumericMatrix DELTA, NumericVector ALPHA, NumericVector THETA, double H);
RcppExport SEXP _PP_L12gpcm_robust(SEXP awmSEXP, SEXP DELTASEXP, SEXP ALPHASEXP, SEXP THETASEXP, SEXP HSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerMatrix >::type awm(awmSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type DELTA(DELTASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type ALPHA(ALPHASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type THETA(THETASEXP);
    Rcpp::traits::input_parameter< double >::type H(HSEXP);
    rcpp_result_gen = Rcpp::wrap(L12gpcm_robust(awm, DELTA, ALPHA, THETA, H));
    return rcpp_result_gen;
END_RCPP
}
// NR_GPCM
List NR_GPCM(IntegerMatrix awm, NumericMatrix DELTA, NumericVector ALPHA, NumericVector THETA, String wm, int maxsteps, double exac, NumericVector mu, NumericVector sigma2, double H);
RcppExport SEXP _PP_NR_GPCM(SEXP awmSEXP, SEXP DELTASEXP, SEXP ALPHASEXP, SEXP THETASEXP, SEXP wmSEXP, SEXP maxstepsSEXP, SEXP exacSEXP, SEXP muSEXP, SEXP sigma2SEXP, SEXP HSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerMatrix >::type awm(awmSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type DELTA(DELTASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type ALPHA(ALPHASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type THETA(THETASEXP);
    Rcpp::traits::input_parameter< String >::type wm(wmSEXP);
    Rcpp::traits::input_parameter< int >::type maxsteps(maxstepsSEXP);
    Rcpp::traits::input_parameter< double >::type exac(exacSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type mu(muSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type sigma2(sigma2SEXP);
    Rcpp::traits::input_parameter< double >::type H(HSEXP);
    rcpp_result_gen = Rcpp::wrap(NR_GPCM(awm, DELTA, ALPHA, THETA, wm, maxsteps, exac, mu, sigma2, H));
    return rcpp_result_gen;
END_RCPP
}
// Lgpcm4pl_mle
NumericMatrix Lgpcm4pl_mle(IntegerMatrix awm, NumericMatrix DELTA, NumericVector ALPHA, NumericVector LOWA, NumericVector UPPA, NumericVector THETA, CharacterVector model, NumericVector mu, NumericVector sigma2, bool map);
RcppExport SEXP _PP_Lgpcm4pl_mle(SEXP awmSEXP, SEXP DELTASEXP, SEXP ALPHASEXP, SEXP LOWASEXP, SEXP UPPASEXP, SEXP THETASEXP, SEXP modelSEXP, SEXP muSEXP, SEXP sigma2SEXP, SEXP mapSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerMatrix >::type awm(awmSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type DELTA(DELTASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type ALPHA(ALPHASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type LOWA(LOWASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type UPPA(UPPASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type THETA(THETASEXP);
    Rcpp::traits::input_parameter< CharacterVector >::type model(modelSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type mu(muSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type sigma2(sigma2SEXP);
    Rcpp::traits::input_parameter< bool >::type map(mapSEXP);
    rcpp_result_gen = Rcpp::wrap(Lgpcm4pl_mle(awm, DELTA, ALPHA, LOWA, UPPA, THETA, model, mu, sigma2, map));
    return rcpp_result_gen;
END_RCPP
}
// Lgpcm4pl_wle
NumericMatrix Lgpcm4pl_wle(IntegerMatrix awm, NumericMatrix DELTA, NumericVector ALPHA, NumericVector LOWA, NumericVector UPPA, NumericVector THETA, CharacterVector model);
RcppExport SEXP _PP_Lgpcm4pl_wle(SEXP awmSEXP, SEXP DELTASEXP, SEXP ALPHASEXP, SEXP LOWASEXP, SEXP UPPASEXP, SEXP THETASEXP, SEXP modelSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerMatrix >::type awm(awmSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type DELTA(DELTASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type ALPHA(ALPHASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type LOWA(LOWASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type UPPA(UPPASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type THETA(THETASEXP);
    Rcpp::traits::input_parameter< CharacterVector >::type model(modelSEXP);
    rcpp_result_gen = Rcpp::wrap(Lgpcm4pl_wle(awm, DELTA, ALPHA, LOWA, UPPA, THETA, model));
    return rcpp_result_gen;
END_RCPP
}
// Lgpcm4pl_robust
NumericMatrix Lgpcm4pl_robust(IntegerMatrix awm, NumericMatrix DELTA, NumericVector ALPHA, NumericVector LOWA, NumericVector UPPA, NumericVector THETA, CharacterVector model, double H);
RcppExport SEXP _PP_Lgpcm4pl_robust(SEXP awmSEXP, SEXP DELTASEXP, SEXP ALPHASEXP, SEXP LOWASEXP, SEXP UPPASEXP, SEXP THETASEXP, SEXP modelSEXP, SEXP HSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerMatrix >::type awm(awmSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type DELTA(DELTASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type ALPHA(ALPHASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type LOWA(LOWASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type UPPA(UPPASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type THETA(THETASEXP);
    Rcpp::traits::input_parameter< CharacterVector >::type model(modelSEXP);
    Rcpp::traits::input_parameter< double >::type H(HSEXP);
    rcpp_result_gen = Rcpp::wrap(Lgpcm4pl_robust(awm, DELTA, ALPHA, LOWA, UPPA, THETA, model, H));
    return rcpp_result_gen;
END_RCPP
}
// NR_mixed
List NR_mixed(IntegerMatrix awm, NumericMatrix DELTA, NumericVector ALPHA, NumericVector LOWA, NumericVector UPPA, NumericVector THETA, CharacterVector model, String wm, int maxsteps, double exac, NumericVector mu, NumericVector sigma2, double H);
RcppExport SEXP _PP_NR_mixed(SEXP awmSEXP, SEXP DELTASEXP, SEXP ALPHASEXP, SEXP LOWASEXP, SEXP UPPASEXP, SEXP THETASEXP, SEXP modelSEXP, SEXP wmSEXP, SEXP maxstepsSEXP, SEXP exacSEXP, SEXP muSEXP, SEXP sigma2SEXP, SEXP HSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerMatrix >::type awm(awmSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type DELTA(DELTASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type ALPHA(ALPHASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type LOWA(LOWASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type UPPA(UPPASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type THETA(THETASEXP);
    Rcpp::traits::input_parameter< CharacterVector >::type model(modelSEXP);
    Rcpp::traits::input_parameter< String >::type wm(wmSEXP);
    Rcpp::traits::input_parameter< int >::type maxsteps(maxstepsSEXP);
    Rcpp::traits::input_parameter< double >::type exac(exacSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type mu(muSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type sigma2(sigma2SEXP);
    Rcpp::traits::input_parameter< double >::type H(HSEXP);
    rcpp_result_gen = Rcpp::wrap(NR_mixed(awm, DELTA, ALPHA, LOWA, UPPA, THETA, model, wm, maxsteps, exac, mu, sigma2, H));
    return rcpp_result_gen;
END_RCPP
}
// Likgpcm
NumericVector Likgpcm(IntegerVector awv, NumericMatrix DELTA, NumericVector ALPHA, NumericVector nodes);
RcppExport SEXP _PP_Likgpcm(SEXP awvSEXP, SEXP DELTASEXP, SEXP ALPHASEXP, SEXP nodesSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerVector >::type awv(awvSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type DELTA(DELTASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type ALPHA(ALPHASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type nodes(nodesSEXP);
    rcpp_result_gen = Rcpp::wrap(Likgpcm(awv, DELTA, ALPHA, nodes));
    return rcpp_result_gen;
END_RCPP
}
// sim_4pl
IntegerMatrix sim_4pl(NumericVector beta, NumericVector alpha, NumericVector lowerA, NumericVector upperA, NumericVector theta);
RcppExport SEXP _PP_sim_4pl(SEXP betaSEXP, SEXP alphaSEXP, SEXP lowerASEXP, SEXP upperASEXP, SEXP thetaSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type alpha(alphaSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type lowerA(lowerASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type upperA(upperASEXP);
    Rcpp::traits::input_parameter< NumericVector >::type theta(thetaSEXP);
    rcpp_result_gen = Rcpp::wrap(sim_4pl(beta, alpha, lowerA, upperA, theta));
    return rcpp_result_gen;
END_RCPP
}
// ansol
NumericMatrix ansol(IntegerMatrix awm, IntegerVector maxsc);
RcppExport SEXP _PP_ansol(SEXP awmSEXP, SEXP maxscSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerMatrix >::type awm(awmSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type maxsc(maxscSEXP);
    rcpp_result_gen = Rcpp::wrap(ansol(awm, maxsc));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_PP_P_4pl", (DL_FUNC) &_PP_P_4pl, 5},
    {"_PP_P_4pl4wle", (DL_FUNC) &_PP_P_4pl4wle, 5},
    {"_PP_r_huber_4pl", (DL_FUNC) &_PP_r_huber_4pl, 6},
    {"_PP_L4pl", (DL_FUNC) &_PP_L4pl, 9},
    {"_PP_L4pl_wle", (DL_FUNC) &_PP_L4pl_wle, 6},
    {"_PP_L4pl_robust", (DL_FUNC) &_PP_L4pl_robust, 7},
    {"_PP_NR_4PL", (DL_FUNC) &_PP_NR_4PL, 12},
    {"_PP_P_gpcm", (DL_FUNC) &_PP_P_gpcm, 4},
    {"_PP_r_huber_gpcm", (DL_FUNC) &_PP_r_huber_gpcm, 4},
    {"_PP_L12gpcm", (DL_FUNC) &_PP_L12gpcm, 7},
    {"_PP_Pcorr1_gpcm", (DL_FUNC) &_PP_Pcorr1_gpcm, 3},
    {"_PP_L12gpcm_wle", (DL_FUNC) &_PP_L12gpcm_wle, 4},
    {"_PP_L12gpcm_robust", (DL_FUNC) &_PP_L12gpcm_robust, 5},
    {"_PP_NR_GPCM", (DL_FUNC) &_PP_NR_GPCM, 10},
    {"_PP_Lgpcm4pl_mle", (DL_FUNC) &_PP_Lgpcm4pl_mle, 10},
    {"_PP_Lgpcm4pl_wle", (DL_FUNC) &_PP_Lgpcm4pl_wle, 7},
    {"_PP_Lgpcm4pl_robust", (DL_FUNC) &_PP_Lgpcm4pl_robust, 8},
    {"_PP_NR_mixed", (DL_FUNC) &_PP_NR_mixed, 13},
    {"_PP_Likgpcm", (DL_FUNC) &_PP_Likgpcm, 4},
    {"_PP_sim_4pl", (DL_FUNC) &_PP_sim_4pl, 5},
    {"_PP_ansol", (DL_FUNC) &_PP_ansol, 2},
    {NULL, NULL, 0}
};

RcppExport void R_init_PP(DllInfo *dll) {
    R_registerRoutines(dll, NULL, CallEntries, NULL, NULL);
    R_useDynamicSymbols(dll, FALSE);
}
