// This file was generated by Rcpp::compileAttributes
// Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393

#include <Rcpp.h>

using namespace Rcpp;

// checkList
bool checkList(Rcpp::List l, bool ss);
RcppExport SEXP bamsignals_checkList(SEXP lSEXP, SEXP ssSEXP) {
BEGIN_RCPP
    Rcpp::RObject __result;
    Rcpp::RNGScope __rngScope;
    Rcpp::traits::input_parameter< Rcpp::List >::type l(lSEXP);
    Rcpp::traits::input_parameter< bool >::type ss(ssSEXP);
    __result = Rcpp::wrap(checkList(l, ss));
    return __result;
END_RCPP
}
// fastWidth
Rcpp::IntegerVector fastWidth(Rcpp::List l, bool ss);
RcppExport SEXP bamsignals_fastWidth(SEXP lSEXP, SEXP ssSEXP) {
BEGIN_RCPP
    Rcpp::RObject __result;
    Rcpp::RNGScope __rngScope;
    Rcpp::traits::input_parameter< Rcpp::List >::type l(lSEXP);
    Rcpp::traits::input_parameter< bool >::type ss(ssSEXP);
    __result = Rcpp::wrap(fastWidth(l, ss));
    return __result;
END_RCPP
}
// pileup_core
List pileup_core(std::string bampath, RObject& gr, IntegerVector& tlen_filter, int mapqual, int binsize, int shift, bool ss, int requiredF, int filteredF, bool pe_mid, int maxgap);
RcppExport SEXP bamsignals_pileup_core(SEXP bampathSEXP, SEXP grSEXP, SEXP tlen_filterSEXP, SEXP mapqualSEXP, SEXP binsizeSEXP, SEXP shiftSEXP, SEXP ssSEXP, SEXP requiredFSEXP, SEXP filteredFSEXP, SEXP pe_midSEXP, SEXP maxgapSEXP) {
BEGIN_RCPP
    Rcpp::RObject __result;
    Rcpp::RNGScope __rngScope;
    Rcpp::traits::input_parameter< std::string >::type bampath(bampathSEXP);
    Rcpp::traits::input_parameter< RObject& >::type gr(grSEXP);
    Rcpp::traits::input_parameter< IntegerVector& >::type tlen_filter(tlen_filterSEXP);
    Rcpp::traits::input_parameter< int >::type mapqual(mapqualSEXP);
    Rcpp::traits::input_parameter< int >::type binsize(binsizeSEXP);
    Rcpp::traits::input_parameter< int >::type shift(shiftSEXP);
    Rcpp::traits::input_parameter< bool >::type ss(ssSEXP);
    Rcpp::traits::input_parameter< int >::type requiredF(requiredFSEXP);
    Rcpp::traits::input_parameter< int >::type filteredF(filteredFSEXP);
    Rcpp::traits::input_parameter< bool >::type pe_mid(pe_midSEXP);
    Rcpp::traits::input_parameter< int >::type maxgap(maxgapSEXP);
    __result = Rcpp::wrap(pileup_core(bampath, gr, tlen_filter, mapqual, binsize, shift, ss, requiredF, filteredF, pe_mid, maxgap));
    return __result;
END_RCPP
}
// coverage_core
List coverage_core(std::string bampath, RObject& gr, IntegerVector& tlen_filter, int mapqual, int requiredF, int filteredF, bool tspan, int maxgap);
RcppExport SEXP bamsignals_coverage_core(SEXP bampathSEXP, SEXP grSEXP, SEXP tlen_filterSEXP, SEXP mapqualSEXP, SEXP requiredFSEXP, SEXP filteredFSEXP, SEXP tspanSEXP, SEXP maxgapSEXP) {
BEGIN_RCPP
    Rcpp::RObject __result;
    Rcpp::RNGScope __rngScope;
    Rcpp::traits::input_parameter< std::string >::type bampath(bampathSEXP);
    Rcpp::traits::input_parameter< RObject& >::type gr(grSEXP);
    Rcpp::traits::input_parameter< IntegerVector& >::type tlen_filter(tlen_filterSEXP);
    Rcpp::traits::input_parameter< int >::type mapqual(mapqualSEXP);
    Rcpp::traits::input_parameter< int >::type requiredF(requiredFSEXP);
    Rcpp::traits::input_parameter< int >::type filteredF(filteredFSEXP);
    Rcpp::traits::input_parameter< bool >::type tspan(tspanSEXP);
    Rcpp::traits::input_parameter< int >::type maxgap(maxgapSEXP);
    __result = Rcpp::wrap(coverage_core(bampath, gr, tlen_filter, mapqual, requiredF, filteredF, tspan, maxgap));
    return __result;
END_RCPP
}
// writeSamAsBamAndIndex
bool writeSamAsBamAndIndex(const std::string& sampath, const std::string& bampath);
RcppExport SEXP bamsignals_writeSamAsBamAndIndex(SEXP sampathSEXP, SEXP bampathSEXP) {
BEGIN_RCPP
    Rcpp::RObject __result;
    Rcpp::RNGScope __rngScope;
    Rcpp::traits::input_parameter< const std::string& >::type sampath(sampathSEXP);
    Rcpp::traits::input_parameter< const std::string& >::type bampath(bampathSEXP);
    __result = Rcpp::wrap(writeSamAsBamAndIndex(sampath, bampath));
    return __result;
END_RCPP
}
