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

#include <RcppEigen.h>
#include <Rcpp.h>

using namespace Rcpp;

// vbnmf_update
Rcpp::List vbnmf_update(const Eigen::MatrixXd& X, const Rcpp::List& wh, const Rcpp::List& hyper, const Rcpp::NumericVector& fudge);
RcppExport SEXP _ccfindR_vbnmf_update(SEXP XSEXP, SEXP whSEXP, SEXP hyperSEXP, SEXP fudgeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const Eigen::MatrixXd& >::type X(XSEXP);
    Rcpp::traits::input_parameter< const Rcpp::List& >::type wh(whSEXP);
    Rcpp::traits::input_parameter< const Rcpp::List& >::type hyper(hyperSEXP);
    Rcpp::traits::input_parameter< const Rcpp::NumericVector& >::type fudge(fudgeSEXP);
    rcpp_result_gen = Rcpp::wrap(vbnmf_update(X, wh, hyper, fudge));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_ccfindR_vbnmf_update", (DL_FUNC) &_ccfindR_vbnmf_update, 4},
    {NULL, NULL, 0}
};

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