text: // Generated by using Rcpp::compileAttributes() -> do not edit by hand
  // Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393
  
  #include <RcppArmadillo.h>
  #include <Rcpp.h>
  
  using namespace Rcpp;
  
  // p_omega_f_norm_ut_impl_cpp
  double p_omega_f_norm_ut_impl_cpp(const arma::mat& U, const arma::rowvec& d, const arma::mat& V, const arma::vec& row, const arma::vec& col);
  RcppExport SEXP _fastadi_p_omega_f_norm_ut_impl_cpp(SEXP USEXP, SEXP dSEXP, SEXP VSEXP, SEXP rowSEXP, SEXP colSEXP) {
  BEGIN_RCPP
      Rcpp::RObject rcpp_result_gen;
      Rcpp::RNGScope rcpp_rngScope_gen;
      Rcpp::traits::input_parameter< const arma::mat& >::type U(USEXP);
      Rcpp::traits::input_parameter< const arma::rowvec& >::type d(dSEXP);
      Rcpp::traits::input_parameter< const arma::mat& >::type V(VSEXP);
      Rcpp::traits::input_parameter< const arma::vec& >::type row(rowSEXP);
      Rcpp::traits::input_parameter< const arma::vec& >::type col(colSEXP);
      rcpp_result_gen = Rcpp::wrap(p_omega_f_norm_ut_impl_cpp(U, d, V, row, col));
      return rcpp_result_gen;
  END_RCPP
  }
  // p_u_tilde_ztx_impl
  arma::vec p_u_tilde_ztx_impl(const arma::mat& U, const arma::rowvec& d, const arma::mat& V, const arma::vec& row, const arma::vec& col, const arma::vec& x, const int num_threads);
  RcppExport SEXP _fastadi_p_u_tilde_ztx_impl(SEXP USEXP, SEXP dSEXP, SEXP VSEXP, SEXP rowSEXP, SEXP colSEXP, SEXP xSEXP, SEXP num_threadsSEXP) {
  BEGIN_RCPP
      Rcpp::RObject rcpp_result_gen;
      Rcpp::RNGScope rcpp_rngScope_gen;
      Rcpp::traits::input_parameter< const arma::mat& >::type U(USEXP);
      Rcpp::traits::input_parameter< const arma::rowvec& >::type d(dSEXP);
      Rcpp::traits::input_parameter< const arma::mat& >::type V(VSEXP);
      Rcpp::traits::input_parameter< const arma::vec& >::type row(rowSEXP);
      Rcpp::traits::input_parameter< const arma::vec& >::type col(colSEXP);
      Rcpp::traits::input_parameter< const arma::vec& >::type x(xSEXP);
      Rcpp::traits::input_parameter< const int >::type num_threads(num_threadsSEXP);
      rcpp_result_gen = Rcpp::wrap(p_u_tilde_ztx_impl(U, d, V, row, col, x, num_threads));
      return rcpp_result_gen;
  END_RCPP
  }
  // p_u_tilde_zx_impl
  arma::vec p_u_tilde_zx_impl(const arma::mat& U, const arma::rowvec& d, const arma::mat& V, const arma::vec& row, const arma::vec& col, const arma::vec& x, const int num_threads);
  RcppExport SEXP _fastadi_p_u_tilde_zx_impl(SEXP USEXP, SEXP dSEXP, SEXP VSEXP, SEXP rowSEXP, SEXP colSEXP, SEXP xSEXP, SEXP num_threadsSEXP) {
  BEGIN_RCPP
      Rcpp::RObject rcpp_result_gen;
      Rcpp::RNGScope rcpp_rngScope_gen;
      Rcpp::traits::input_parameter< const arma::mat& >::type U(USEXP);
      Rcpp::traits::input_parameter< const arma::rowvec& >::type d(dSEXP);
      Rcpp::traits::input_parameter< const arma::mat& >::type V(VSEXP);
      Rcpp::traits::input_parameter< const arma::vec& >::type row(rowSEXP);
      Rcpp::traits::input_parameter< const arma::vec& >::type col(colSEXP);
      Rcpp::traits::input_parameter< const arma::vec& >::type x(xSEXP);
      Rcpp::traits::input_parameter< const int >::type num_threads(num_threadsSEXP);
      rcpp_result_gen = Rcpp::wrap(p_u_tilde_zx_impl(U, d, V, row, col, x, num_threads));
      return rcpp_result_gen;
  END_RCPP
  }
  // p_u_ztx_impl_cpp
  arma::vec p_u_ztx_impl_cpp(const arma::mat& U, const arma::vec& d, const arma::mat& V, const arma::vec& x);
  RcppExport SEXP _fastadi_p_u_ztx_impl_cpp(SEXP USEXP, SEXP dSEXP, SEXP VSEXP, SEXP xSEXP) {
  BEGIN_RCPP
      Rcpp::RObject rcpp_result_gen;
      Rcpp::RNGScope rcpp_rngScope_gen;
      Rcpp::traits::input_parameter< const arma::mat& >::type U(USEXP);
      Rcpp::traits::input_parameter< const arma::vec& >::type d(dSEXP);
      Rcpp::traits::input_parameter< const arma::mat& >::type V(VSEXP);
      Rcpp::traits::input_parameter< const arma::vec& >::type x(xSEXP);
      rcpp_result_gen = Rcpp::wrap(p_u_ztx_impl_cpp(U, d, V, x));
      return rcpp_result_gen;
  END_RCPP
  }
  // p_u_zx_impl_cpp
  arma::vec p_u_zx_impl_cpp(const arma::mat& U, const arma::vec& d, const arma::mat& V, const arma::vec& x);
  RcppExport SEXP _fastadi_p_u_zx_impl_cpp(SEXP USEXP, SEXP dSEXP, SEXP VSEXP, SEXP xSEXP) {
  BEGIN_RCPP
      Rcpp::RObject rcpp_result_gen;
      Rcpp::RNGScope rcpp_rngScope_gen;
      Rcpp::traits::input_parameter< const arma::mat& >::type U(USEXP);
      Rcpp::traits::input_parameter< const arma::vec& >::type d(dSEXP);
      Rcpp::traits::input_parameter< const arma::mat& >::type V(VSEXP);
      Rcpp::traits::input_parameter< const arma::vec& >::type x(xSEXP);
      rcpp_result_gen = Rcpp::wrap(p_u_zx_impl_cpp(U, d, V, x));
      return rcpp_result_gen;
  END_RCPP
  }
  // relative_f_norm_change_impl_cpp
  double relative_f_norm_change_impl_cpp(const arma::mat& new_U, const arma::rowvec& new_d, const arma::mat& new_V, const arma::mat& U, const arma::rowvec& d, const arma::mat& V);
  RcppExport SEXP _fastadi_relative_f_norm_change_impl_cpp(SEXP new_USEXP, SEXP new_dSEXP, SEXP new_VSEXP, SEXP USEXP, SEXP dSEXP, SEXP VSEXP) {
  BEGIN_RCPP
      Rcpp::RObject rcpp_result_gen;
      Rcpp::RNGScope rcpp_rngScope_gen;
      Rcpp::traits::input_parameter< const arma::mat& >::type new_U(new_USEXP);
      Rcpp::traits::input_parameter< const arma::rowvec& >::type new_d(new_dSEXP);
      Rcpp::traits::input_parameter< const arma::mat& >::type new_V(new_VSEXP);
      Rcpp::traits::input_parameter< const arma::mat& >::type U(USEXP);
      Rcpp::traits::input_parameter< const arma::rowvec& >::type d(dSEXP);
      Rcpp::traits::input_parameter< const arma::mat& >::type V(VSEXP);
      rcpp_result_gen = Rcpp::wrap(relative_f_norm_change_impl_cpp(new_U, new_d, new_V, U, d, V));
      return rcpp_result_gen;
  END_RCPP
  }
  
  static const R_CallMethodDef CallEntries[] = {
      {"_fastadi_p_omega_f_norm_ut_impl_cpp", (DL_FUNC) &_fastadi_p_omega_f_norm_ut_impl_cpp, 5},
      {"_fastadi_p_u_tilde_ztx_impl", (DL_FUNC) &_fastadi_p_u_tilde_ztx_impl, 7},
      {"_fastadi_p_u_tilde_zx_impl", (DL_FUNC) &_fastadi_p_u_tilde_zx_impl, 7},
      {"_fastadi_p_u_ztx_impl_cpp", (DL_FUNC) &_fastadi_p_u_ztx_impl_cpp, 4},
      {"_fastadi_p_u_zx_impl_cpp", (DL_FUNC) &_fastadi_p_u_zx_impl_cpp, 4},
      {"_fastadi_relative_f_norm_change_impl_cpp", (DL_FUNC) &_fastadi_relative_f_norm_change_impl_cpp, 6},
      {NULL, NULL, 0}
  };
  
  RcppExport void R_init_fastadi(DllInfo *dll) {
      R_registerRoutines(dll, NULL, CallEntries, NULL, NULL);
      R_useDynamicSymbols(dll, FALSE);
  }
  