// 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

// count_unique_geno
IntegerVector count_unique_geno(StringMatrix g);
RcppExport SEXP _qtl2convert_count_unique_geno(SEXP gSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< StringMatrix >::type g(gSEXP);
    rcpp_result_gen = Rcpp::wrap(count_unique_geno(g));
    return rcpp_result_gen;
END_RCPP
}
// encode_geno
StringMatrix encode_geno(const StringMatrix& g, const StringMatrix& old_values, const StringVector& new_values);
RcppExport SEXP _qtl2convert_encode_geno(SEXP gSEXP, SEXP old_valuesSEXP, SEXP new_valuesSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const StringMatrix& >::type g(gSEXP);
    Rcpp::traits::input_parameter< const StringMatrix& >::type old_values(old_valuesSEXP);
    Rcpp::traits::input_parameter< const StringVector& >::type new_values(new_valuesSEXP);
    rcpp_result_gen = Rcpp::wrap(encode_geno(g, old_values, new_values));
    return rcpp_result_gen;
END_RCPP
}
// find_consensus_geno
StringVector find_consensus_geno(StringMatrix g);
RcppExport SEXP _qtl2convert_find_consensus_geno(SEXP gSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< StringMatrix >::type g(gSEXP);
    rcpp_result_gen = Rcpp::wrap(find_consensus_geno(g));
    return rcpp_result_gen;
END_RCPP
}
// find_unique_geno
StringMatrix find_unique_geno(StringMatrix g);
RcppExport SEXP _qtl2convert_find_unique_geno(SEXP gSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< StringMatrix >::type g(gSEXP);
    rcpp_result_gen = Rcpp::wrap(find_unique_geno(g));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_qtl2convert_count_unique_geno", (DL_FUNC) &_qtl2convert_count_unique_geno, 1},
    {"_qtl2convert_encode_geno", (DL_FUNC) &_qtl2convert_encode_geno, 3},
    {"_qtl2convert_find_consensus_geno", (DL_FUNC) &_qtl2convert_find_consensus_geno, 1},
    {"_qtl2convert_find_unique_geno", (DL_FUNC) &_qtl2convert_find_unique_geno, 1},
    {NULL, NULL, 0}
};

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