253 lines
10 KiB
C++
253 lines
10 KiB
C++
// Generated by using Rcpp::compileAttributes() -> do not edit by hand
|
|
// Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393
|
|
|
|
#include "../inst/include/mvbernoulli.h"
|
|
#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
|
|
|
|
// ising_log_odds_sum
|
|
double ising_log_odds_sum(uint32_t y, const VechView& theta);
|
|
RcppExport SEXP _mvbernoulli_ising_log_odds_sum(SEXP ySEXP, SEXP thetaSEXP) {
|
|
BEGIN_RCPP
|
|
Rcpp::RObject rcpp_result_gen;
|
|
Rcpp::traits::input_parameter< uint32_t >::type y(ySEXP);
|
|
Rcpp::traits::input_parameter< const VechView& >::type theta(thetaSEXP);
|
|
rcpp_result_gen = Rcpp::wrap(ising_log_odds_sum(y, theta));
|
|
return rcpp_result_gen;
|
|
END_RCPP
|
|
}
|
|
// ising_prob0
|
|
double ising_prob0(const VechView& theta);
|
|
RcppExport SEXP _mvbernoulli_ising_prob0(SEXP thetaSEXP) {
|
|
BEGIN_RCPP
|
|
Rcpp::RObject rcpp_result_gen;
|
|
Rcpp::traits::input_parameter< const VechView& >::type theta(thetaSEXP);
|
|
rcpp_result_gen = Rcpp::wrap(ising_prob0(theta));
|
|
return rcpp_result_gen;
|
|
END_RCPP
|
|
}
|
|
// ising_probs
|
|
Rcpp::NumericVector ising_probs(const VechView& theta);
|
|
RcppExport SEXP _mvbernoulli_ising_probs(SEXP thetaSEXP) {
|
|
BEGIN_RCPP
|
|
Rcpp::RObject rcpp_result_gen;
|
|
Rcpp::traits::input_parameter< const VechView& >::type theta(thetaSEXP);
|
|
rcpp_result_gen = Rcpp::wrap(ising_probs(theta));
|
|
return rcpp_result_gen;
|
|
END_RCPP
|
|
}
|
|
// ising_cond_probs
|
|
Rcpp::NumericVector ising_cond_probs(const VechView& theta);
|
|
RcppExport SEXP _mvbernoulli_ising_cond_probs(SEXP thetaSEXP) {
|
|
BEGIN_RCPP
|
|
Rcpp::RObject rcpp_result_gen;
|
|
Rcpp::traits::input_parameter< const VechView& >::type theta(thetaSEXP);
|
|
rcpp_result_gen = Rcpp::wrap(ising_cond_probs(theta));
|
|
return rcpp_result_gen;
|
|
END_RCPP
|
|
}
|
|
// ising_expectation
|
|
Rcpp::NumericVector ising_expectation(const VechView& theta);
|
|
RcppExport SEXP _mvbernoulli_ising_expectation(SEXP thetaSEXP) {
|
|
BEGIN_RCPP
|
|
Rcpp::RObject rcpp_result_gen;
|
|
Rcpp::traits::input_parameter< const VechView& >::type theta(thetaSEXP);
|
|
rcpp_result_gen = Rcpp::wrap(ising_expectation(theta));
|
|
return rcpp_result_gen;
|
|
END_RCPP
|
|
}
|
|
// ising_cov
|
|
Rcpp::NumericMatrix ising_cov(const VechView& theta);
|
|
RcppExport SEXP _mvbernoulli_ising_cov(SEXP thetaSEXP) {
|
|
BEGIN_RCPP
|
|
Rcpp::RObject rcpp_result_gen;
|
|
Rcpp::traits::input_parameter< const VechView& >::type theta(thetaSEXP);
|
|
rcpp_result_gen = Rcpp::wrap(ising_cov(theta));
|
|
return rcpp_result_gen;
|
|
END_RCPP
|
|
}
|
|
// ising_marginal_probs
|
|
Rcpp::NumericVector ising_marginal_probs(const VechView& theta);
|
|
RcppExport SEXP _mvbernoulli_ising_marginal_probs(SEXP thetaSEXP) {
|
|
BEGIN_RCPP
|
|
Rcpp::RObject rcpp_result_gen;
|
|
Rcpp::traits::input_parameter< const VechView& >::type theta(thetaSEXP);
|
|
rcpp_result_gen = Rcpp::wrap(ising_marginal_probs(theta));
|
|
return rcpp_result_gen;
|
|
END_RCPP
|
|
}
|
|
// ising_theta_from_cond_prob
|
|
Rcpp::NumericVector ising_theta_from_cond_prob(const VechView& pi);
|
|
RcppExport SEXP _mvbernoulli_ising_theta_from_cond_prob(SEXP piSEXP) {
|
|
BEGIN_RCPP
|
|
Rcpp::RObject rcpp_result_gen;
|
|
Rcpp::traits::input_parameter< const VechView& >::type pi(piSEXP);
|
|
rcpp_result_gen = Rcpp::wrap(ising_theta_from_cond_prob(pi));
|
|
return rcpp_result_gen;
|
|
END_RCPP
|
|
}
|
|
// ising_log_likelihood
|
|
double ising_log_likelihood(const VechView& theta, const MVBinary& Y);
|
|
RcppExport SEXP _mvbernoulli_ising_log_likelihood(SEXP thetaSEXP, SEXP YSEXP) {
|
|
BEGIN_RCPP
|
|
Rcpp::RObject rcpp_result_gen;
|
|
Rcpp::traits::input_parameter< const VechView& >::type theta(thetaSEXP);
|
|
Rcpp::traits::input_parameter< const MVBinary& >::type Y(YSEXP);
|
|
rcpp_result_gen = Rcpp::wrap(ising_log_likelihood(theta, Y));
|
|
return rcpp_result_gen;
|
|
END_RCPP
|
|
}
|
|
// ising_score
|
|
Rcpp::NumericVector ising_score(const VechView& theta, const MVBinary& Y);
|
|
RcppExport SEXP _mvbernoulli_ising_score(SEXP thetaSEXP, SEXP YSEXP) {
|
|
BEGIN_RCPP
|
|
Rcpp::RObject rcpp_result_gen;
|
|
Rcpp::traits::input_parameter< const VechView& >::type theta(thetaSEXP);
|
|
Rcpp::traits::input_parameter< const MVBinary& >::type Y(YSEXP);
|
|
rcpp_result_gen = Rcpp::wrap(ising_score(theta, Y));
|
|
return rcpp_result_gen;
|
|
END_RCPP
|
|
}
|
|
// ising_conditional_log_likelihood
|
|
double ising_conditional_log_likelihood(const Rcpp::NumericMatrix& alpha, const Rcpp::NumericMatrix& X, const MVBinary& Y);
|
|
RcppExport SEXP _mvbernoulli_ising_conditional_log_likelihood(SEXP alphaSEXP, SEXP XSEXP, SEXP YSEXP) {
|
|
BEGIN_RCPP
|
|
Rcpp::RObject rcpp_result_gen;
|
|
Rcpp::traits::input_parameter< const Rcpp::NumericMatrix& >::type alpha(alphaSEXP);
|
|
Rcpp::traits::input_parameter< const Rcpp::NumericMatrix& >::type X(XSEXP);
|
|
Rcpp::traits::input_parameter< const MVBinary& >::type Y(YSEXP);
|
|
rcpp_result_gen = Rcpp::wrap(ising_conditional_log_likelihood(alpha, X, Y));
|
|
return rcpp_result_gen;
|
|
END_RCPP
|
|
}
|
|
// ising_conditional_score
|
|
Rcpp::NumericVector ising_conditional_score(const Rcpp::NumericMatrix& alpha, const Rcpp::NumericMatrix& X, const MVBinary& Y);
|
|
RcppExport SEXP _mvbernoulli_ising_conditional_score(SEXP alphaSEXP, SEXP XSEXP, SEXP YSEXP) {
|
|
BEGIN_RCPP
|
|
Rcpp::RObject rcpp_result_gen;
|
|
Rcpp::traits::input_parameter< const Rcpp::NumericMatrix& >::type alpha(alphaSEXP);
|
|
Rcpp::traits::input_parameter< const Rcpp::NumericMatrix& >::type X(XSEXP);
|
|
Rcpp::traits::input_parameter< const MVBinary& >::type Y(YSEXP);
|
|
rcpp_result_gen = Rcpp::wrap(ising_conditional_score(alpha, X, Y));
|
|
return rcpp_result_gen;
|
|
END_RCPP
|
|
}
|
|
// ising_fisher_info
|
|
Rcpp::NumericMatrix ising_fisher_info(const VechView& theta);
|
|
RcppExport SEXP _mvbernoulli_ising_fisher_info(SEXP thetaSEXP) {
|
|
BEGIN_RCPP
|
|
Rcpp::RObject rcpp_result_gen;
|
|
Rcpp::traits::input_parameter< const VechView& >::type theta(thetaSEXP);
|
|
rcpp_result_gen = Rcpp::wrap(ising_fisher_info(theta));
|
|
return rcpp_result_gen;
|
|
END_RCPP
|
|
}
|
|
// ising_sample
|
|
MVBinary ising_sample(const std::size_t n, const VechView& theta, const std::size_t warmup);
|
|
RcppExport SEXP _mvbernoulli_ising_sample(SEXP nSEXP, SEXP thetaSEXP, SEXP warmupSEXP) {
|
|
BEGIN_RCPP
|
|
Rcpp::RObject rcpp_result_gen;
|
|
Rcpp::RNGScope rcpp_rngScope_gen;
|
|
Rcpp::traits::input_parameter< const std::size_t >::type n(nSEXP);
|
|
Rcpp::traits::input_parameter< const VechView& >::type theta(thetaSEXP);
|
|
Rcpp::traits::input_parameter< const std::size_t >::type warmup(warmupSEXP);
|
|
rcpp_result_gen = Rcpp::wrap(ising_sample(n, theta, warmup));
|
|
return rcpp_result_gen;
|
|
END_RCPP
|
|
}
|
|
// print_mvbinary
|
|
void print_mvbinary(const MVBinary& binary, int nrLines);
|
|
RcppExport SEXP _mvbernoulli_print_mvbinary(SEXP binarySEXP, SEXP nrLinesSEXP) {
|
|
BEGIN_RCPP
|
|
Rcpp::traits::input_parameter< const MVBinary& >::type binary(binarySEXP);
|
|
Rcpp::traits::input_parameter< int >::type nrLines(nrLinesSEXP);
|
|
print_mvbinary(binary, nrLines);
|
|
return R_NilValue;
|
|
END_RCPP
|
|
}
|
|
// printBits
|
|
void printBits(const Rcpp::IntegerVector& ints);
|
|
RcppExport SEXP _mvbernoulli_printBits(SEXP intsSEXP) {
|
|
BEGIN_RCPP
|
|
Rcpp::traits::input_parameter< const Rcpp::IntegerVector& >::type ints(intsSEXP);
|
|
printBits(ints);
|
|
return R_NilValue;
|
|
END_RCPP
|
|
}
|
|
// as_mvbinary
|
|
MVBinary as_mvbinary(const MVBinary& Y);
|
|
RcppExport SEXP _mvbernoulli_as_mvbinary(SEXP YSEXP) {
|
|
BEGIN_RCPP
|
|
Rcpp::RObject rcpp_result_gen;
|
|
Rcpp::traits::input_parameter< const MVBinary& >::type Y(YSEXP);
|
|
rcpp_result_gen = Rcpp::wrap(as_mvbinary(Y));
|
|
return rcpp_result_gen;
|
|
END_RCPP
|
|
}
|
|
// as_mvbmatrix
|
|
Rcpp::LogicalMatrix as_mvbmatrix(const MVBinary& Y);
|
|
RcppExport SEXP _mvbernoulli_as_mvbmatrix(SEXP YSEXP) {
|
|
BEGIN_RCPP
|
|
Rcpp::RObject rcpp_result_gen;
|
|
Rcpp::traits::input_parameter< const MVBinary& >::type Y(YSEXP);
|
|
rcpp_result_gen = Rcpp::wrap(as_mvbmatrix(Y));
|
|
return rcpp_result_gen;
|
|
END_RCPP
|
|
}
|
|
// mean_mvbinary
|
|
Rcpp::NumericVector mean_mvbinary(const MVBinary& Y, const bool twoway);
|
|
RcppExport SEXP _mvbernoulli_mean_mvbinary(SEXP YSEXP, SEXP twowaySEXP) {
|
|
BEGIN_RCPP
|
|
Rcpp::RObject rcpp_result_gen;
|
|
Rcpp::traits::input_parameter< const MVBinary& >::type Y(YSEXP);
|
|
Rcpp::traits::input_parameter< const bool >::type twoway(twowaySEXP);
|
|
rcpp_result_gen = Rcpp::wrap(mean_mvbinary(Y, twoway));
|
|
return rcpp_result_gen;
|
|
END_RCPP
|
|
}
|
|
// cov_mvbinary
|
|
Rcpp::NumericMatrix cov_mvbinary(const MVBinary& Y);
|
|
RcppExport SEXP _mvbernoulli_cov_mvbinary(SEXP YSEXP) {
|
|
BEGIN_RCPP
|
|
Rcpp::RObject rcpp_result_gen;
|
|
Rcpp::traits::input_parameter< const MVBinary& >::type Y(YSEXP);
|
|
rcpp_result_gen = Rcpp::wrap(cov_mvbinary(Y));
|
|
return rcpp_result_gen;
|
|
END_RCPP
|
|
}
|
|
|
|
static const R_CallMethodDef CallEntries[] = {
|
|
{"_mvbernoulli_ising_log_odds_sum", (DL_FUNC) &_mvbernoulli_ising_log_odds_sum, 2},
|
|
{"_mvbernoulli_ising_prob0", (DL_FUNC) &_mvbernoulli_ising_prob0, 1},
|
|
{"_mvbernoulli_ising_probs", (DL_FUNC) &_mvbernoulli_ising_probs, 1},
|
|
{"_mvbernoulli_ising_cond_probs", (DL_FUNC) &_mvbernoulli_ising_cond_probs, 1},
|
|
{"_mvbernoulli_ising_expectation", (DL_FUNC) &_mvbernoulli_ising_expectation, 1},
|
|
{"_mvbernoulli_ising_cov", (DL_FUNC) &_mvbernoulli_ising_cov, 1},
|
|
{"_mvbernoulli_ising_marginal_probs", (DL_FUNC) &_mvbernoulli_ising_marginal_probs, 1},
|
|
{"_mvbernoulli_ising_theta_from_cond_prob", (DL_FUNC) &_mvbernoulli_ising_theta_from_cond_prob, 1},
|
|
{"_mvbernoulli_ising_log_likelihood", (DL_FUNC) &_mvbernoulli_ising_log_likelihood, 2},
|
|
{"_mvbernoulli_ising_score", (DL_FUNC) &_mvbernoulli_ising_score, 2},
|
|
{"_mvbernoulli_ising_conditional_log_likelihood", (DL_FUNC) &_mvbernoulli_ising_conditional_log_likelihood, 3},
|
|
{"_mvbernoulli_ising_conditional_score", (DL_FUNC) &_mvbernoulli_ising_conditional_score, 3},
|
|
{"_mvbernoulli_ising_fisher_info", (DL_FUNC) &_mvbernoulli_ising_fisher_info, 1},
|
|
{"_mvbernoulli_ising_sample", (DL_FUNC) &_mvbernoulli_ising_sample, 3},
|
|
{"_mvbernoulli_print_mvbinary", (DL_FUNC) &_mvbernoulli_print_mvbinary, 2},
|
|
{"_mvbernoulli_printBits", (DL_FUNC) &_mvbernoulli_printBits, 1},
|
|
{"_mvbernoulli_as_mvbinary", (DL_FUNC) &_mvbernoulli_as_mvbinary, 1},
|
|
{"_mvbernoulli_as_mvbmatrix", (DL_FUNC) &_mvbernoulli_as_mvbmatrix, 1},
|
|
{"_mvbernoulli_mean_mvbinary", (DL_FUNC) &_mvbernoulli_mean_mvbinary, 2},
|
|
{"_mvbernoulli_cov_mvbinary", (DL_FUNC) &_mvbernoulli_cov_mvbinary, 1},
|
|
{NULL, NULL, 0}
|
|
};
|
|
|
|
RcppExport void R_init_mvbernoulli(DllInfo *dll) {
|
|
R_registerRoutines(dll, NULL, CallEntries, NULL, NULL);
|
|
R_useDynamicSymbols(dll, FALSE);
|
|
}
|