/**
 * @file nmathopencl_capi.h
 * @brief C-callable API for GPU nmath/stats routines in nmathopencl.
 *
 * Installed for LinkingTo: nmathopencl (#include <nmathopencl/nmathopencl_capi.h>).
 * Generated by tools/generate_nmathopencl_capi.R — do not edit by hand.
 *
 * Requires Imports: nmathopencl (and opencltools at runtime for kernel loading).
 * LinkingTo: nmathopencl supplies -I only; no PKG_LIBS needed for C API use.
 */

#ifndef NMATHOPENCL_CAPI_H
#define NMATHOPENCL_CAPI_H

#include <R_ext/Rdynload.h>
#include <R_ext/Error.h>
#include <R.h>

/*
 * nmathopencl C-callable API (mirrors opencltools_capi.h layout).
 * All distribution/special routines use SEXP for R ABI stability.
 * Call nmathopencl_api_version() before relying on symbol sets.
 */

#ifdef __cplusplus
extern "C" {
#endif

  typedef int (*nmathopencl_api_version_t)(void);
  typedef int (*nmathopencl_has_opencl_t)(void);

  static inline DL_FUNC nmathopencl_capi_resolve_(const char* name) {
    DL_FUNC p = R_GetCCallable("nmathopencl", name);
    if (!p) {
      Rf_error(
        "nmathopencl C-callable '%s' not found; check package version/load order.",
        name);
    }
    return p;
  }

  static inline nmathopencl_api_version_t nmathopencl_api_version_fn(void) {
    static nmathopencl_api_version_t fn = NULL;
    if (!fn) fn = (nmathopencl_api_version_t)
        nmathopencl_capi_resolve_("nmathopencl_api_version");
    return fn;
  }

  static inline int nmathopencl_api_version(void) {
    return nmathopencl_api_version_fn()();
  }

  static inline nmathopencl_has_opencl_t nmathopencl_has_opencl_fn(void) {
    static nmathopencl_has_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_has_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_has_opencl");
    return fn;
  }

  static inline int nmathopencl_has_opencl(void) {
    return nmathopencl_has_opencl_fn()();
  }

  typedef SEXP (*nmathopencl_bessel_i_ex_opencl_t)(SEXP x, SEXP nu, SEXP expo, SEXP verbose);

  static inline nmathopencl_bessel_i_ex_opencl_t nmathopencl_bessel_i_ex_opencl_fn(void) {
    static nmathopencl_bessel_i_ex_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_bessel_i_ex_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_bessel_i_ex_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_bessel_i_ex_opencl(
      SEXP x, SEXP nu, SEXP expo, SEXP verbose
  ) {
    return nmathopencl_bessel_i_ex_opencl_fn()(x, nu, expo, verbose);
  }

  typedef SEXP (*nmathopencl_bessel_i_opencl_t)(SEXP x, SEXP nu, SEXP expo_scaled, SEXP verbose);

  static inline nmathopencl_bessel_i_opencl_t nmathopencl_bessel_i_opencl_fn(void) {
    static nmathopencl_bessel_i_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_bessel_i_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_bessel_i_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_bessel_i_opencl(
      SEXP x, SEXP nu, SEXP expo_scaled, SEXP verbose
  ) {
    return nmathopencl_bessel_i_opencl_fn()(x, nu, expo_scaled, verbose);
  }

  typedef SEXP (*nmathopencl_bessel_j_ex_opencl_t)(SEXP x, SEXP nu, SEXP verbose);

  static inline nmathopencl_bessel_j_ex_opencl_t nmathopencl_bessel_j_ex_opencl_fn(void) {
    static nmathopencl_bessel_j_ex_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_bessel_j_ex_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_bessel_j_ex_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_bessel_j_ex_opencl(
      SEXP x, SEXP nu, SEXP verbose
  ) {
    return nmathopencl_bessel_j_ex_opencl_fn()(x, nu, verbose);
  }

  typedef SEXP (*nmathopencl_bessel_j_opencl_t)(SEXP x, SEXP nu, SEXP verbose);

  static inline nmathopencl_bessel_j_opencl_t nmathopencl_bessel_j_opencl_fn(void) {
    static nmathopencl_bessel_j_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_bessel_j_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_bessel_j_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_bessel_j_opencl(
      SEXP x, SEXP nu, SEXP verbose
  ) {
    return nmathopencl_bessel_j_opencl_fn()(x, nu, verbose);
  }

  typedef SEXP (*nmathopencl_bessel_k_ex_opencl_t)(SEXP x, SEXP nu, SEXP expo, SEXP verbose);

  static inline nmathopencl_bessel_k_ex_opencl_t nmathopencl_bessel_k_ex_opencl_fn(void) {
    static nmathopencl_bessel_k_ex_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_bessel_k_ex_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_bessel_k_ex_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_bessel_k_ex_opencl(
      SEXP x, SEXP nu, SEXP expo, SEXP verbose
  ) {
    return nmathopencl_bessel_k_ex_opencl_fn()(x, nu, expo, verbose);
  }

  typedef SEXP (*nmathopencl_bessel_k_opencl_t)(SEXP x, SEXP nu, SEXP expo_scaled, SEXP verbose);

  static inline nmathopencl_bessel_k_opencl_t nmathopencl_bessel_k_opencl_fn(void) {
    static nmathopencl_bessel_k_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_bessel_k_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_bessel_k_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_bessel_k_opencl(
      SEXP x, SEXP nu, SEXP expo_scaled, SEXP verbose
  ) {
    return nmathopencl_bessel_k_opencl_fn()(x, nu, expo_scaled, verbose);
  }

  typedef SEXP (*nmathopencl_bessel_y_ex_opencl_t)(SEXP x, SEXP nu, SEXP verbose);

  static inline nmathopencl_bessel_y_ex_opencl_t nmathopencl_bessel_y_ex_opencl_fn(void) {
    static nmathopencl_bessel_y_ex_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_bessel_y_ex_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_bessel_y_ex_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_bessel_y_ex_opencl(
      SEXP x, SEXP nu, SEXP verbose
  ) {
    return nmathopencl_bessel_y_ex_opencl_fn()(x, nu, verbose);
  }

  typedef SEXP (*nmathopencl_bessel_y_opencl_t)(SEXP x, SEXP nu, SEXP verbose);

  static inline nmathopencl_bessel_y_opencl_t nmathopencl_bessel_y_opencl_fn(void) {
    static nmathopencl_bessel_y_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_bessel_y_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_bessel_y_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_bessel_y_opencl(
      SEXP x, SEXP nu, SEXP verbose
  ) {
    return nmathopencl_bessel_y_opencl_fn()(x, nu, verbose);
  }

  typedef SEXP (*nmathopencl_beta_opencl_t)(SEXP a, SEXP b, SEXP verbose);

  static inline nmathopencl_beta_opencl_t nmathopencl_beta_opencl_fn(void) {
    static nmathopencl_beta_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_beta_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_beta_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_beta_opencl(
      SEXP a, SEXP b, SEXP verbose
  ) {
    return nmathopencl_beta_opencl_fn()(a, b, verbose);
  }

  typedef SEXP (*nmathopencl_choose_opencl_t)(SEXP n_val, SEXP k, SEXP verbose);

  static inline nmathopencl_choose_opencl_t nmathopencl_choose_opencl_fn(void) {
    static nmathopencl_choose_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_choose_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_choose_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_choose_opencl(
      SEXP n_val, SEXP k, SEXP verbose
  ) {
    return nmathopencl_choose_opencl_fn()(n_val, k, verbose);
  }

  typedef SEXP (*nmathopencl_dbeta_opencl_t)(SEXP x, SEXP shape1, SEXP shape2, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dbeta_opencl_t nmathopencl_dbeta_opencl_fn(void) {
    static nmathopencl_dbeta_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dbeta_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dbeta_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dbeta_opencl(
      SEXP x, SEXP shape1, SEXP shape2, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dbeta_opencl_fn()(x, shape1, shape2, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_dbinom_opencl_t)(SEXP x, SEXP size, SEXP prob, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dbinom_opencl_t nmathopencl_dbinom_opencl_fn(void) {
    static nmathopencl_dbinom_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dbinom_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dbinom_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dbinom_opencl(
      SEXP x, SEXP size, SEXP prob, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dbinom_opencl_fn()(x, size, prob, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_dbinom_raw_opencl_t)(SEXP x, SEXP n_size, SEXP prob, SEXP qprob, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dbinom_raw_opencl_t nmathopencl_dbinom_raw_opencl_fn(void) {
    static nmathopencl_dbinom_raw_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dbinom_raw_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dbinom_raw_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dbinom_raw_opencl(
      SEXP x, SEXP n_size, SEXP prob, SEXP qprob, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dbinom_raw_opencl_fn()(x, n_size, prob, qprob, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_dcauchy_opencl_t)(SEXP x, SEXP location, SEXP scale, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dcauchy_opencl_t nmathopencl_dcauchy_opencl_fn(void) {
    static nmathopencl_dcauchy_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dcauchy_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dcauchy_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dcauchy_opencl(
      SEXP x, SEXP location, SEXP scale, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dcauchy_opencl_fn()(x, location, scale, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_dchisq_opencl_t)(SEXP x, SEXP df, SEXP ncp, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dchisq_opencl_t nmathopencl_dchisq_opencl_fn(void) {
    static nmathopencl_dchisq_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dchisq_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dchisq_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dchisq_opencl(
      SEXP x, SEXP df, SEXP ncp, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dchisq_opencl_fn()(x, df, ncp, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_dexp_opencl_t)(SEXP x, SEXP rate, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dexp_opencl_t nmathopencl_dexp_opencl_fn(void) {
    static nmathopencl_dexp_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dexp_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dexp_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dexp_opencl(
      SEXP x, SEXP rate, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dexp_opencl_fn()(x, rate, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_df_opencl_t)(SEXP x, SEXP df1, SEXP df2, SEXP ncp, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_df_opencl_t nmathopencl_df_opencl_fn(void) {
    static nmathopencl_df_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_df_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_df_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_df_opencl(
      SEXP x, SEXP df1, SEXP df2, SEXP ncp, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_df_opencl_fn()(x, df1, df2, ncp, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_dgamma_opencl_t)(SEXP x, SEXP shape, SEXP scale, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dgamma_opencl_t nmathopencl_dgamma_opencl_fn(void) {
    static nmathopencl_dgamma_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dgamma_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dgamma_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dgamma_opencl(
      SEXP x, SEXP shape, SEXP scale, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dgamma_opencl_fn()(x, shape, scale, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_dgeom_opencl_t)(SEXP x, SEXP prob, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dgeom_opencl_t nmathopencl_dgeom_opencl_fn(void) {
    static nmathopencl_dgeom_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dgeom_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dgeom_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dgeom_opencl(
      SEXP x, SEXP prob, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dgeom_opencl_fn()(x, prob, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_dhyper_opencl_t)(SEXP x, SEXP r, SEXP b, SEXP n1, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dhyper_opencl_t nmathopencl_dhyper_opencl_fn(void) {
    static nmathopencl_dhyper_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dhyper_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dhyper_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dhyper_opencl(
      SEXP x, SEXP r, SEXP b, SEXP n1, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dhyper_opencl_fn()(x, r, b, n1, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_digamma_opencl_t)(SEXP x, SEXP verbose);

  static inline nmathopencl_digamma_opencl_t nmathopencl_digamma_opencl_fn(void) {
    static nmathopencl_digamma_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_digamma_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_digamma_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_digamma_opencl(
      SEXP x, SEXP verbose
  ) {
    return nmathopencl_digamma_opencl_fn()(x, verbose);
  }

  typedef SEXP (*nmathopencl_dlnorm_opencl_t)(SEXP x, SEXP meanlog, SEXP sdlog, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dlnorm_opencl_t nmathopencl_dlnorm_opencl_fn(void) {
    static nmathopencl_dlnorm_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dlnorm_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dlnorm_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dlnorm_opencl(
      SEXP x, SEXP meanlog, SEXP sdlog, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dlnorm_opencl_fn()(x, meanlog, sdlog, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_dlogis_opencl_t)(SEXP x, SEXP location, SEXP scale, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dlogis_opencl_t nmathopencl_dlogis_opencl_fn(void) {
    static nmathopencl_dlogis_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dlogis_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dlogis_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dlogis_opencl(
      SEXP x, SEXP location, SEXP scale, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dlogis_opencl_fn()(x, location, scale, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_dnbeta_opencl_t)(SEXP x, SEXP shape1, SEXP shape2, SEXP ncp, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dnbeta_opencl_t nmathopencl_dnbeta_opencl_fn(void) {
    static nmathopencl_dnbeta_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dnbeta_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dnbeta_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dnbeta_opencl(
      SEXP x, SEXP shape1, SEXP shape2, SEXP ncp, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dnbeta_opencl_fn()(x, shape1, shape2, ncp, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_dnbinom_mu_opencl_t)(SEXP x, SEXP size, SEXP mu, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dnbinom_mu_opencl_t nmathopencl_dnbinom_mu_opencl_fn(void) {
    static nmathopencl_dnbinom_mu_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dnbinom_mu_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dnbinom_mu_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dnbinom_mu_opencl(
      SEXP x, SEXP size, SEXP mu, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dnbinom_mu_opencl_fn()(x, size, mu, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_dnbinom_opencl_t)(SEXP x, SEXP size, SEXP prob, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dnbinom_opencl_t nmathopencl_dnbinom_opencl_fn(void) {
    static nmathopencl_dnbinom_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dnbinom_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dnbinom_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dnbinom_opencl(
      SEXP x, SEXP size, SEXP prob, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dnbinom_opencl_fn()(x, size, prob, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_dnorm_opencl_t)(SEXP x, SEXP mean, SEXP sd, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dnorm_opencl_t nmathopencl_dnorm_opencl_fn(void) {
    static nmathopencl_dnorm_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dnorm_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dnorm_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dnorm_opencl(
      SEXP x, SEXP mean, SEXP sd, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dnorm_opencl_fn()(x, mean, sd, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_dpois_opencl_t)(SEXP x, SEXP lambda, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dpois_opencl_t nmathopencl_dpois_opencl_fn(void) {
    static nmathopencl_dpois_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dpois_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dpois_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dpois_opencl(
      SEXP x, SEXP lambda, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dpois_opencl_fn()(x, lambda, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_dpois_raw_opencl_t)(SEXP x, SEXP lambda, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dpois_raw_opencl_t nmathopencl_dpois_raw_opencl_fn(void) {
    static nmathopencl_dpois_raw_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dpois_raw_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dpois_raw_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dpois_raw_opencl(
      SEXP x, SEXP lambda, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dpois_raw_opencl_fn()(x, lambda, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_dpsifn_opencl_t)(SEXP x, SEXP n_deriv, SEXP kode, SEXP m, SEXP verbose);

  static inline nmathopencl_dpsifn_opencl_t nmathopencl_dpsifn_opencl_fn(void) {
    static nmathopencl_dpsifn_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dpsifn_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dpsifn_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dpsifn_opencl(
      SEXP x, SEXP n_deriv, SEXP kode, SEXP m, SEXP verbose
  ) {
    return nmathopencl_dpsifn_opencl_fn()(x, n_deriv, kode, m, verbose);
  }

  typedef SEXP (*nmathopencl_dsignrank_opencl_t)(SEXP x, SEXP nsize, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dsignrank_opencl_t nmathopencl_dsignrank_opencl_fn(void) {
    static nmathopencl_dsignrank_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dsignrank_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dsignrank_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dsignrank_opencl(
      SEXP x, SEXP nsize, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dsignrank_opencl_fn()(x, nsize, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_dt_opencl_t)(SEXP x, SEXP df, SEXP ncp, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dt_opencl_t nmathopencl_dt_opencl_fn(void) {
    static nmathopencl_dt_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dt_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dt_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dt_opencl(
      SEXP x, SEXP df, SEXP ncp, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dt_opencl_fn()(x, df, ncp, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_dunif_opencl_t)(SEXP x, SEXP min, SEXP max, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dunif_opencl_t nmathopencl_dunif_opencl_fn(void) {
    static nmathopencl_dunif_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dunif_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dunif_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dunif_opencl(
      SEXP x, SEXP min, SEXP max, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dunif_opencl_fn()(x, min, max, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_dweibull_opencl_t)(SEXP x, SEXP shape, SEXP scale, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dweibull_opencl_t nmathopencl_dweibull_opencl_fn(void) {
    static nmathopencl_dweibull_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dweibull_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dweibull_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dweibull_opencl(
      SEXP x, SEXP shape, SEXP scale, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dweibull_opencl_fn()(x, shape, scale, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_dwilcox_opencl_t)(SEXP x, SEXP m, SEXP n2, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_dwilcox_opencl_t nmathopencl_dwilcox_opencl_fn(void) {
    static nmathopencl_dwilcox_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_dwilcox_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_dwilcox_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_dwilcox_opencl(
      SEXP x, SEXP m, SEXP n2, SEXP give_log, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_dwilcox_opencl_fn()(x, m, n2, give_log, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_exp_rand_opencl_t)(SEXP n, SEXP verbose);

  static inline nmathopencl_exp_rand_opencl_t nmathopencl_exp_rand_opencl_fn(void) {
    static nmathopencl_exp_rand_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_exp_rand_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_exp_rand_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_exp_rand_opencl(
      SEXP n, SEXP verbose
  ) {
    return nmathopencl_exp_rand_opencl_fn()(n, verbose);
  }

  typedef SEXP (*nmathopencl_fmax2_opencl_t)(SEXP x, SEXP y, SEXP verbose);

  static inline nmathopencl_fmax2_opencl_t nmathopencl_fmax2_opencl_fn(void) {
    static nmathopencl_fmax2_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_fmax2_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_fmax2_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_fmax2_opencl(
      SEXP x, SEXP y, SEXP verbose
  ) {
    return nmathopencl_fmax2_opencl_fn()(x, y, verbose);
  }

  typedef SEXP (*nmathopencl_fmin2_opencl_t)(SEXP x, SEXP y, SEXP verbose);

  static inline nmathopencl_fmin2_opencl_t nmathopencl_fmin2_opencl_fn(void) {
    static nmathopencl_fmin2_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_fmin2_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_fmin2_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_fmin2_opencl(
      SEXP x, SEXP y, SEXP verbose
  ) {
    return nmathopencl_fmin2_opencl_fn()(x, y, verbose);
  }

  typedef SEXP (*nmathopencl_fprec_opencl_t)(SEXP x, SEXP digits, SEXP verbose);

  static inline nmathopencl_fprec_opencl_t nmathopencl_fprec_opencl_fn(void) {
    static nmathopencl_fprec_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_fprec_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_fprec_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_fprec_opencl(
      SEXP x, SEXP digits, SEXP verbose
  ) {
    return nmathopencl_fprec_opencl_fn()(x, digits, verbose);
  }

  typedef SEXP (*nmathopencl_fround_opencl_t)(SEXP x, SEXP digits, SEXP verbose);

  static inline nmathopencl_fround_opencl_t nmathopencl_fround_opencl_fn(void) {
    static nmathopencl_fround_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_fround_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_fround_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_fround_opencl(
      SEXP x, SEXP digits, SEXP verbose
  ) {
    return nmathopencl_fround_opencl_fn()(x, digits, verbose);
  }

  typedef SEXP (*nmathopencl_fsign_opencl_t)(SEXP x, SEXP y, SEXP verbose);

  static inline nmathopencl_fsign_opencl_t nmathopencl_fsign_opencl_fn(void) {
    static nmathopencl_fsign_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_fsign_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_fsign_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_fsign_opencl(
      SEXP x, SEXP y, SEXP verbose
  ) {
    return nmathopencl_fsign_opencl_fn()(x, y, verbose);
  }

  typedef SEXP (*nmathopencl_ftrunc_opencl_t)(SEXP x, SEXP verbose);

  static inline nmathopencl_ftrunc_opencl_t nmathopencl_ftrunc_opencl_fn(void) {
    static nmathopencl_ftrunc_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_ftrunc_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_ftrunc_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_ftrunc_opencl(
      SEXP x, SEXP verbose
  ) {
    return nmathopencl_ftrunc_opencl_fn()(x, verbose);
  }

  typedef SEXP (*nmathopencl_gammafn_opencl_t)(SEXP x, SEXP verbose);

  static inline nmathopencl_gammafn_opencl_t nmathopencl_gammafn_opencl_fn(void) {
    static nmathopencl_gammafn_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_gammafn_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_gammafn_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_gammafn_opencl(
      SEXP x, SEXP verbose
  ) {
    return nmathopencl_gammafn_opencl_fn()(x, verbose);
  }

  typedef SEXP (*nmathopencl_imax2_opencl_t)(SEXP x, SEXP y, SEXP verbose);

  static inline nmathopencl_imax2_opencl_t nmathopencl_imax2_opencl_fn(void) {
    static nmathopencl_imax2_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_imax2_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_imax2_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_imax2_opencl(
      SEXP x, SEXP y, SEXP verbose
  ) {
    return nmathopencl_imax2_opencl_fn()(x, y, verbose);
  }

  typedef SEXP (*nmathopencl_imin2_opencl_t)(SEXP x, SEXP y, SEXP verbose);

  static inline nmathopencl_imin2_opencl_t nmathopencl_imin2_opencl_fn(void) {
    static nmathopencl_imin2_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_imin2_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_imin2_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_imin2_opencl(
      SEXP x, SEXP y, SEXP verbose
  ) {
    return nmathopencl_imin2_opencl_fn()(x, y, verbose);
  }

  typedef SEXP (*nmathopencl_lbeta_opencl_t)(SEXP a, SEXP b, SEXP verbose);

  static inline nmathopencl_lbeta_opencl_t nmathopencl_lbeta_opencl_fn(void) {
    static nmathopencl_lbeta_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_lbeta_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_lbeta_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_lbeta_opencl(
      SEXP a, SEXP b, SEXP verbose
  ) {
    return nmathopencl_lbeta_opencl_fn()(a, b, verbose);
  }

  typedef SEXP (*nmathopencl_lchoose_opencl_t)(SEXP n_val, SEXP k, SEXP verbose);

  static inline nmathopencl_lchoose_opencl_t nmathopencl_lchoose_opencl_fn(void) {
    static nmathopencl_lchoose_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_lchoose_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_lchoose_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_lchoose_opencl(
      SEXP n_val, SEXP k, SEXP verbose
  ) {
    return nmathopencl_lchoose_opencl_fn()(n_val, k, verbose);
  }

  typedef SEXP (*nmathopencl_lgamma1p_opencl_t)(SEXP x, SEXP verbose);

  static inline nmathopencl_lgamma1p_opencl_t nmathopencl_lgamma1p_opencl_fn(void) {
    static nmathopencl_lgamma1p_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_lgamma1p_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_lgamma1p_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_lgamma1p_opencl(
      SEXP x, SEXP verbose
  ) {
    return nmathopencl_lgamma1p_opencl_fn()(x, verbose);
  }

  typedef SEXP (*nmathopencl_lgammafn_opencl_t)(SEXP x, SEXP verbose);

  static inline nmathopencl_lgammafn_opencl_t nmathopencl_lgammafn_opencl_fn(void) {
    static nmathopencl_lgammafn_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_lgammafn_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_lgammafn_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_lgammafn_opencl(
      SEXP x, SEXP verbose
  ) {
    return nmathopencl_lgammafn_opencl_fn()(x, verbose);
  }

  typedef SEXP (*nmathopencl_lgammafn_sign_opencl_t)(SEXP x, SEXP verbose);

  static inline nmathopencl_lgammafn_sign_opencl_t nmathopencl_lgammafn_sign_opencl_fn(void) {
    static nmathopencl_lgammafn_sign_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_lgammafn_sign_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_lgammafn_sign_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_lgammafn_sign_opencl(
      SEXP x, SEXP verbose
  ) {
    return nmathopencl_lgammafn_sign_opencl_fn()(x, verbose);
  }

  typedef SEXP (*nmathopencl_log1mexp_opencl_t)(SEXP x, SEXP verbose);

  static inline nmathopencl_log1mexp_opencl_t nmathopencl_log1mexp_opencl_fn(void) {
    static nmathopencl_log1mexp_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_log1mexp_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_log1mexp_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_log1mexp_opencl(
      SEXP x, SEXP verbose
  ) {
    return nmathopencl_log1mexp_opencl_fn()(x, verbose);
  }

  typedef SEXP (*nmathopencl_log1pexp_opencl_t)(SEXP x, SEXP verbose);

  static inline nmathopencl_log1pexp_opencl_t nmathopencl_log1pexp_opencl_fn(void) {
    static nmathopencl_log1pexp_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_log1pexp_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_log1pexp_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_log1pexp_opencl(
      SEXP x, SEXP verbose
  ) {
    return nmathopencl_log1pexp_opencl_fn()(x, verbose);
  }

  typedef SEXP (*nmathopencl_log1pmx_opencl_t)(SEXP x, SEXP verbose);

  static inline nmathopencl_log1pmx_opencl_t nmathopencl_log1pmx_opencl_fn(void) {
    static nmathopencl_log1pmx_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_log1pmx_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_log1pmx_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_log1pmx_opencl(
      SEXP x, SEXP verbose
  ) {
    return nmathopencl_log1pmx_opencl_fn()(x, verbose);
  }

  typedef SEXP (*nmathopencl_logspace_add_opencl_t)(SEXP logx, SEXP logy, SEXP verbose);

  static inline nmathopencl_logspace_add_opencl_t nmathopencl_logspace_add_opencl_fn(void) {
    static nmathopencl_logspace_add_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_logspace_add_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_logspace_add_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_logspace_add_opencl(
      SEXP logx, SEXP logy, SEXP verbose
  ) {
    return nmathopencl_logspace_add_opencl_fn()(logx, logy, verbose);
  }

  typedef SEXP (*nmathopencl_logspace_sub_opencl_t)(SEXP logx, SEXP logy, SEXP verbose);

  static inline nmathopencl_logspace_sub_opencl_t nmathopencl_logspace_sub_opencl_fn(void) {
    static nmathopencl_logspace_sub_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_logspace_sub_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_logspace_sub_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_logspace_sub_opencl(
      SEXP logx, SEXP logy, SEXP verbose
  ) {
    return nmathopencl_logspace_sub_opencl_fn()(logx, logy, verbose);
  }

  typedef SEXP (*nmathopencl_logspace_sum_opencl_t)(SEXP logx, SEXP logy, SEXP verbose);

  static inline nmathopencl_logspace_sum_opencl_t nmathopencl_logspace_sum_opencl_fn(void) {
    static nmathopencl_logspace_sum_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_logspace_sum_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_logspace_sum_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_logspace_sum_opencl(
      SEXP logx, SEXP logy, SEXP verbose
  ) {
    return nmathopencl_logspace_sum_opencl_fn()(logx, logy, verbose);
  }

  typedef SEXP (*nmathopencl_norm_rand_opencl_t)(SEXP n, SEXP verbose);

  static inline nmathopencl_norm_rand_opencl_t nmathopencl_norm_rand_opencl_fn(void) {
    static nmathopencl_norm_rand_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_norm_rand_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_norm_rand_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_norm_rand_opencl(
      SEXP n, SEXP verbose
  ) {
    return nmathopencl_norm_rand_opencl_fn()(n, verbose);
  }

  typedef SEXP (*nmathopencl_pbeta_opencl_t)(SEXP q, SEXP shape1, SEXP shape2, SEXP ncp, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_pbeta_opencl_t nmathopencl_pbeta_opencl_fn(void) {
    static nmathopencl_pbeta_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_pbeta_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_pbeta_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_pbeta_opencl(
      SEXP q, SEXP shape1, SEXP shape2, SEXP ncp, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_pbeta_opencl_fn()(q, shape1, shape2, ncp, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_pbinom_opencl_t)(SEXP q, SEXP size, SEXP prob, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_pbinom_opencl_t nmathopencl_pbinom_opencl_fn(void) {
    static nmathopencl_pbinom_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_pbinom_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_pbinom_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_pbinom_opencl(
      SEXP q, SEXP size, SEXP prob, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_pbinom_opencl_fn()(q, size, prob, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_pcauchy_opencl_t)(SEXP q, SEXP location, SEXP scale, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_pcauchy_opencl_t nmathopencl_pcauchy_opencl_fn(void) {
    static nmathopencl_pcauchy_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_pcauchy_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_pcauchy_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_pcauchy_opencl(
      SEXP q, SEXP location, SEXP scale, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_pcauchy_opencl_fn()(q, location, scale, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_pchisq_opencl_t)(SEXP q, SEXP df, SEXP ncp, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_pchisq_opencl_t nmathopencl_pchisq_opencl_fn(void) {
    static nmathopencl_pchisq_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_pchisq_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_pchisq_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_pchisq_opencl(
      SEXP q, SEXP df, SEXP ncp, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_pchisq_opencl_fn()(q, df, ncp, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_pentagamma_opencl_t)(SEXP x, SEXP verbose);

  static inline nmathopencl_pentagamma_opencl_t nmathopencl_pentagamma_opencl_fn(void) {
    static nmathopencl_pentagamma_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_pentagamma_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_pentagamma_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_pentagamma_opencl(
      SEXP x, SEXP verbose
  ) {
    return nmathopencl_pentagamma_opencl_fn()(x, verbose);
  }

  typedef SEXP (*nmathopencl_pexp_opencl_t)(SEXP q, SEXP rate, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_pexp_opencl_t nmathopencl_pexp_opencl_fn(void) {
    static nmathopencl_pexp_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_pexp_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_pexp_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_pexp_opencl(
      SEXP q, SEXP rate, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_pexp_opencl_fn()(q, rate, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_pf_opencl_t)(SEXP q, SEXP df1, SEXP df2, SEXP ncp, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_pf_opencl_t nmathopencl_pf_opencl_fn(void) {
    static nmathopencl_pf_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_pf_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_pf_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_pf_opencl(
      SEXP q, SEXP df1, SEXP df2, SEXP ncp, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_pf_opencl_fn()(q, df1, df2, ncp, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_pgamma_opencl_t)(SEXP q, SEXP shape, SEXP scale, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_pgamma_opencl_t nmathopencl_pgamma_opencl_fn(void) {
    static nmathopencl_pgamma_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_pgamma_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_pgamma_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_pgamma_opencl(
      SEXP q, SEXP shape, SEXP scale, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_pgamma_opencl_fn()(q, shape, scale, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_pgeom_opencl_t)(SEXP q, SEXP prob, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_pgeom_opencl_t nmathopencl_pgeom_opencl_fn(void) {
    static nmathopencl_pgeom_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_pgeom_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_pgeom_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_pgeom_opencl(
      SEXP q, SEXP prob, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_pgeom_opencl_fn()(q, prob, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_phyper_opencl_t)(SEXP q, SEXP m, SEXP n_black, SEXP k, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_phyper_opencl_t nmathopencl_phyper_opencl_fn(void) {
    static nmathopencl_phyper_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_phyper_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_phyper_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_phyper_opencl(
      SEXP q, SEXP m, SEXP n_black, SEXP k, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_phyper_opencl_fn()(q, m, n_black, k, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_plnorm_opencl_t)(SEXP q, SEXP meanlog, SEXP sdlog, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_plnorm_opencl_t nmathopencl_plnorm_opencl_fn(void) {
    static nmathopencl_plnorm_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_plnorm_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_plnorm_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_plnorm_opencl(
      SEXP q, SEXP meanlog, SEXP sdlog, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_plnorm_opencl_fn()(q, meanlog, sdlog, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_plogis_opencl_t)(SEXP q, SEXP location, SEXP scale, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_plogis_opencl_t nmathopencl_plogis_opencl_fn(void) {
    static nmathopencl_plogis_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_plogis_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_plogis_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_plogis_opencl(
      SEXP q, SEXP location, SEXP scale, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_plogis_opencl_fn()(q, location, scale, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_pnbinom_mu_opencl_t)(SEXP q, SEXP size, SEXP mu, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_pnbinom_mu_opencl_t nmathopencl_pnbinom_mu_opencl_fn(void) {
    static nmathopencl_pnbinom_mu_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_pnbinom_mu_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_pnbinom_mu_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_pnbinom_mu_opencl(
      SEXP q, SEXP size, SEXP mu, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_pnbinom_mu_opencl_fn()(q, size, mu, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_pnbinom_opencl_t)(SEXP q, SEXP size, SEXP prob, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_pnbinom_opencl_t nmathopencl_pnbinom_opencl_fn(void) {
    static nmathopencl_pnbinom_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_pnbinom_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_pnbinom_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_pnbinom_opencl(
      SEXP q, SEXP size, SEXP prob, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_pnbinom_opencl_fn()(q, size, prob, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_pnorm_opencl_t)(SEXP q, SEXP mean, SEXP sd, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_pnorm_opencl_t nmathopencl_pnorm_opencl_fn(void) {
    static nmathopencl_pnorm_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_pnorm_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_pnorm_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_pnorm_opencl(
      SEXP q, SEXP mean, SEXP sd, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_pnorm_opencl_fn()(q, mean, sd, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_pow1p_opencl_t)(SEXP x, SEXP y, SEXP verbose);

  static inline nmathopencl_pow1p_opencl_t nmathopencl_pow1p_opencl_fn(void) {
    static nmathopencl_pow1p_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_pow1p_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_pow1p_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_pow1p_opencl(
      SEXP x, SEXP y, SEXP verbose
  ) {
    return nmathopencl_pow1p_opencl_fn()(x, y, verbose);
  }

  typedef SEXP (*nmathopencl_ppois_opencl_t)(SEXP q, SEXP lambda, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_ppois_opencl_t nmathopencl_ppois_opencl_fn(void) {
    static nmathopencl_ppois_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_ppois_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_ppois_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_ppois_opencl(
      SEXP q, SEXP lambda, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_ppois_opencl_fn()(q, lambda, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_psigamma_opencl_t)(SEXP x, SEXP deriv, SEXP verbose);

  static inline nmathopencl_psigamma_opencl_t nmathopencl_psigamma_opencl_fn(void) {
    static nmathopencl_psigamma_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_psigamma_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_psigamma_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_psigamma_opencl(
      SEXP x, SEXP deriv, SEXP verbose
  ) {
    return nmathopencl_psigamma_opencl_fn()(x, deriv, verbose);
  }

  typedef SEXP (*nmathopencl_psignrank_opencl_t)(SEXP q, SEXP nsize, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_psignrank_opencl_t nmathopencl_psignrank_opencl_fn(void) {
    static nmathopencl_psignrank_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_psignrank_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_psignrank_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_psignrank_opencl(
      SEXP q, SEXP nsize, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_psignrank_opencl_fn()(q, nsize, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_pt_opencl_t)(SEXP q, SEXP df, SEXP ncp, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_pt_opencl_t nmathopencl_pt_opencl_fn(void) {
    static nmathopencl_pt_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_pt_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_pt_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_pt_opencl(
      SEXP q, SEXP df, SEXP ncp, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_pt_opencl_fn()(q, df, ncp, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_ptukey_opencl_t)(SEXP q, SEXP nmeans, SEXP df, SEXP nranges, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_ptukey_opencl_t nmathopencl_ptukey_opencl_fn(void) {
    static nmathopencl_ptukey_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_ptukey_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_ptukey_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_ptukey_opencl(
      SEXP q, SEXP nmeans, SEXP df, SEXP nranges, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_ptukey_opencl_fn()(q, nmeans, df, nranges, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_punif_opencl_t)(SEXP q, SEXP min, SEXP max, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_punif_opencl_t nmathopencl_punif_opencl_fn(void) {
    static nmathopencl_punif_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_punif_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_punif_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_punif_opencl(
      SEXP q, SEXP min, SEXP max, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_punif_opencl_fn()(q, min, max, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_pweibull_opencl_t)(SEXP q, SEXP shape, SEXP scale, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_pweibull_opencl_t nmathopencl_pweibull_opencl_fn(void) {
    static nmathopencl_pweibull_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_pweibull_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_pweibull_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_pweibull_opencl(
      SEXP q, SEXP shape, SEXP scale, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_pweibull_opencl_fn()(q, shape, scale, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_pwilcox_opencl_t)(SEXP q, SEXP m, SEXP n2, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_pwilcox_opencl_t nmathopencl_pwilcox_opencl_fn(void) {
    static nmathopencl_pwilcox_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_pwilcox_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_pwilcox_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_pwilcox_opencl(
      SEXP q, SEXP m, SEXP n2, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_pwilcox_opencl_fn()(q, m, n2, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qbeta_opencl_t)(SEXP p, SEXP shape1, SEXP shape2, SEXP ncp, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qbeta_opencl_t nmathopencl_qbeta_opencl_fn(void) {
    static nmathopencl_qbeta_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qbeta_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qbeta_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qbeta_opencl(
      SEXP p, SEXP shape1, SEXP shape2, SEXP ncp, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qbeta_opencl_fn()(p, shape1, shape2, ncp, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qbinom_opencl_t)(SEXP p, SEXP size, SEXP prob, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qbinom_opencl_t nmathopencl_qbinom_opencl_fn(void) {
    static nmathopencl_qbinom_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qbinom_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qbinom_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qbinom_opencl(
      SEXP p, SEXP size, SEXP prob, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qbinom_opencl_fn()(p, size, prob, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qcauchy_opencl_t)(SEXP p, SEXP location, SEXP scale, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qcauchy_opencl_t nmathopencl_qcauchy_opencl_fn(void) {
    static nmathopencl_qcauchy_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qcauchy_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qcauchy_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qcauchy_opencl(
      SEXP p, SEXP location, SEXP scale, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qcauchy_opencl_fn()(p, location, scale, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qchisq_opencl_t)(SEXP p, SEXP df, SEXP ncp, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qchisq_opencl_t nmathopencl_qchisq_opencl_fn(void) {
    static nmathopencl_qchisq_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qchisq_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qchisq_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qchisq_opencl(
      SEXP p, SEXP df, SEXP ncp, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qchisq_opencl_fn()(p, df, ncp, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qexp_opencl_t)(SEXP p, SEXP rate, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qexp_opencl_t nmathopencl_qexp_opencl_fn(void) {
    static nmathopencl_qexp_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qexp_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qexp_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qexp_opencl(
      SEXP p, SEXP rate, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qexp_opencl_fn()(p, rate, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qf_opencl_t)(SEXP p, SEXP df1, SEXP df2, SEXP ncp, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qf_opencl_t nmathopencl_qf_opencl_fn(void) {
    static nmathopencl_qf_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qf_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qf_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qf_opencl(
      SEXP p, SEXP df1, SEXP df2, SEXP ncp, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qf_opencl_fn()(p, df1, df2, ncp, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qgamma_opencl_t)(SEXP p, SEXP shape, SEXP scale, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qgamma_opencl_t nmathopencl_qgamma_opencl_fn(void) {
    static nmathopencl_qgamma_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qgamma_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qgamma_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qgamma_opencl(
      SEXP p, SEXP shape, SEXP scale, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qgamma_opencl_fn()(p, shape, scale, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qgeom_opencl_t)(SEXP p, SEXP prob, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qgeom_opencl_t nmathopencl_qgeom_opencl_fn(void) {
    static nmathopencl_qgeom_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qgeom_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qgeom_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qgeom_opencl(
      SEXP p, SEXP prob, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qgeom_opencl_fn()(p, prob, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qhyper_opencl_t)(SEXP p, SEXP r, SEXP b, SEXP n1, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qhyper_opencl_t nmathopencl_qhyper_opencl_fn(void) {
    static nmathopencl_qhyper_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qhyper_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qhyper_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qhyper_opencl(
      SEXP p, SEXP r, SEXP b, SEXP n1, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qhyper_opencl_fn()(p, r, b, n1, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qlnorm_opencl_t)(SEXP p, SEXP meanlog, SEXP sdlog, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qlnorm_opencl_t nmathopencl_qlnorm_opencl_fn(void) {
    static nmathopencl_qlnorm_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qlnorm_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qlnorm_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qlnorm_opencl(
      SEXP p, SEXP meanlog, SEXP sdlog, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qlnorm_opencl_fn()(p, meanlog, sdlog, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qlogis_opencl_t)(SEXP p, SEXP location, SEXP scale, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qlogis_opencl_t nmathopencl_qlogis_opencl_fn(void) {
    static nmathopencl_qlogis_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qlogis_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qlogis_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qlogis_opencl(
      SEXP p, SEXP location, SEXP scale, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qlogis_opencl_fn()(p, location, scale, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qnbinom_mu_opencl_t)(SEXP p, SEXP size, SEXP mu, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qnbinom_mu_opencl_t nmathopencl_qnbinom_mu_opencl_fn(void) {
    static nmathopencl_qnbinom_mu_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qnbinom_mu_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qnbinom_mu_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qnbinom_mu_opencl(
      SEXP p, SEXP size, SEXP mu, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qnbinom_mu_opencl_fn()(p, size, mu, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qnbinom_opencl_t)(SEXP p, SEXP size, SEXP prob, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qnbinom_opencl_t nmathopencl_qnbinom_opencl_fn(void) {
    static nmathopencl_qnbinom_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qnbinom_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qnbinom_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qnbinom_opencl(
      SEXP p, SEXP size, SEXP prob, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qnbinom_opencl_fn()(p, size, prob, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qnorm_opencl_t)(SEXP p, SEXP mean, SEXP sd, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qnorm_opencl_t nmathopencl_qnorm_opencl_fn(void) {
    static nmathopencl_qnorm_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qnorm_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qnorm_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qnorm_opencl(
      SEXP p, SEXP mean, SEXP sd, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qnorm_opencl_fn()(p, mean, sd, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qpois_opencl_t)(SEXP p, SEXP lambda, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qpois_opencl_t nmathopencl_qpois_opencl_fn(void) {
    static nmathopencl_qpois_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qpois_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qpois_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qpois_opencl(
      SEXP p, SEXP lambda, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qpois_opencl_fn()(p, lambda, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qsignrank_opencl_t)(SEXP p, SEXP nsize, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qsignrank_opencl_t nmathopencl_qsignrank_opencl_fn(void) {
    static nmathopencl_qsignrank_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qsignrank_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qsignrank_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qsignrank_opencl(
      SEXP p, SEXP nsize, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qsignrank_opencl_fn()(p, nsize, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qt_opencl_t)(SEXP p, SEXP df, SEXP ncp, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qt_opencl_t nmathopencl_qt_opencl_fn(void) {
    static nmathopencl_qt_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qt_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qt_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qt_opencl(
      SEXP p, SEXP df, SEXP ncp, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qt_opencl_fn()(p, df, ncp, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qtukey_opencl_t)(SEXP p, SEXP nmeans, SEXP df, SEXP nranges, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qtukey_opencl_t nmathopencl_qtukey_opencl_fn(void) {
    static nmathopencl_qtukey_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qtukey_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qtukey_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qtukey_opencl(
      SEXP p, SEXP nmeans, SEXP df, SEXP nranges, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qtukey_opencl_fn()(p, nmeans, df, nranges, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qunif_opencl_t)(SEXP p, SEXP min, SEXP max, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qunif_opencl_t nmathopencl_qunif_opencl_fn(void) {
    static nmathopencl_qunif_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qunif_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qunif_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qunif_opencl(
      SEXP p, SEXP min, SEXP max, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qunif_opencl_fn()(p, min, max, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qweibull_opencl_t)(SEXP p, SEXP shape, SEXP scale, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qweibull_opencl_t nmathopencl_qweibull_opencl_fn(void) {
    static nmathopencl_qweibull_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qweibull_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qweibull_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qweibull_opencl(
      SEXP p, SEXP shape, SEXP scale, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qweibull_opencl_fn()(p, shape, scale, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_qwilcox_opencl_t)(SEXP p, SEXP m, SEXP n2, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose);

  static inline nmathopencl_qwilcox_opencl_t nmathopencl_qwilcox_opencl_fn(void) {
    static nmathopencl_qwilcox_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_qwilcox_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_qwilcox_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_qwilcox_opencl(
      SEXP p, SEXP m, SEXP n2, SEXP lower_tail, SEXP log_p, SEXP opencl_parallel_code, SEXP verbose
  ) {
    return nmathopencl_qwilcox_opencl_fn()(p, m, n2, lower_tail, log_p, opencl_parallel_code, verbose);
  }

  typedef SEXP (*nmathopencl_r_check_stack_opencl_t)(SEXP n, SEXP verbose);

  static inline nmathopencl_r_check_stack_opencl_t nmathopencl_r_check_stack_opencl_fn(void) {
    static nmathopencl_r_check_stack_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_r_check_stack_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_r_check_stack_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_r_check_stack_opencl(
      SEXP n, SEXP verbose
  ) {
    return nmathopencl_r_check_stack_opencl_fn()(n, verbose);
  }

  typedef SEXP (*nmathopencl_r_check_user_interrupt_opencl_t)(SEXP n, SEXP verbose);

  static inline nmathopencl_r_check_user_interrupt_opencl_t nmathopencl_r_check_user_interrupt_opencl_fn(void) {
    static nmathopencl_r_check_user_interrupt_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_r_check_user_interrupt_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_r_check_user_interrupt_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_r_check_user_interrupt_opencl(
      SEXP n, SEXP verbose
  ) {
    return nmathopencl_r_check_user_interrupt_opencl_fn()(n, verbose);
  }

  typedef SEXP (*nmathopencl_r_pow_di_opencl_t)(SEXP x, SEXP n_exp, SEXP verbose);

  static inline nmathopencl_r_pow_di_opencl_t nmathopencl_r_pow_di_opencl_fn(void) {
    static nmathopencl_r_pow_di_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_r_pow_di_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_r_pow_di_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_r_pow_di_opencl(
      SEXP x, SEXP n_exp, SEXP verbose
  ) {
    return nmathopencl_r_pow_di_opencl_fn()(x, n_exp, verbose);
  }

  typedef SEXP (*nmathopencl_r_pow_opencl_t)(SEXP x, SEXP y, SEXP verbose);

  static inline nmathopencl_r_pow_opencl_t nmathopencl_r_pow_opencl_fn(void) {
    static nmathopencl_r_pow_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_r_pow_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_r_pow_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_r_pow_opencl(
      SEXP x, SEXP y, SEXP verbose
  ) {
    return nmathopencl_r_pow_opencl_fn()(x, y, verbose);
  }

  typedef SEXP (*nmathopencl_r_unif_index_opencl_t)(SEXP n, SEXP dn, SEXP verbose);

  static inline nmathopencl_r_unif_index_opencl_t nmathopencl_r_unif_index_opencl_fn(void) {
    static nmathopencl_r_unif_index_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_r_unif_index_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_r_unif_index_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_r_unif_index_opencl(
      SEXP n, SEXP dn, SEXP verbose
  ) {
    return nmathopencl_r_unif_index_opencl_fn()(n, dn, verbose);
  }

  typedef SEXP (*nmathopencl_rbeta_opencl_t)(SEXP n, SEXP a, SEXP b, SEXP verbose);

  static inline nmathopencl_rbeta_opencl_t nmathopencl_rbeta_opencl_fn(void) {
    static nmathopencl_rbeta_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rbeta_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rbeta_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rbeta_opencl(
      SEXP n, SEXP a, SEXP b, SEXP verbose
  ) {
    return nmathopencl_rbeta_opencl_fn()(n, a, b, verbose);
  }

  typedef SEXP (*nmathopencl_rbinom_opencl_t)(SEXP n, SEXP size, SEXP prob, SEXP verbose);

  static inline nmathopencl_rbinom_opencl_t nmathopencl_rbinom_opencl_fn(void) {
    static nmathopencl_rbinom_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rbinom_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rbinom_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rbinom_opencl(
      SEXP n, SEXP size, SEXP prob, SEXP verbose
  ) {
    return nmathopencl_rbinom_opencl_fn()(n, size, prob, verbose);
  }

  typedef SEXP (*nmathopencl_rcauchy_opencl_t)(SEXP n, SEXP location, SEXP scale, SEXP verbose);

  static inline nmathopencl_rcauchy_opencl_t nmathopencl_rcauchy_opencl_fn(void) {
    static nmathopencl_rcauchy_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rcauchy_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rcauchy_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rcauchy_opencl(
      SEXP n, SEXP location, SEXP scale, SEXP verbose
  ) {
    return nmathopencl_rcauchy_opencl_fn()(n, location, scale, verbose);
  }

  typedef SEXP (*nmathopencl_rchisq_opencl_t)(SEXP n, SEXP df, SEXP verbose);

  static inline nmathopencl_rchisq_opencl_t nmathopencl_rchisq_opencl_fn(void) {
    static nmathopencl_rchisq_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rchisq_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rchisq_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rchisq_opencl(
      SEXP n, SEXP df, SEXP verbose
  ) {
    return nmathopencl_rchisq_opencl_fn()(n, df, verbose);
  }

  typedef SEXP (*nmathopencl_rexp_opencl_t)(SEXP n, SEXP scale, SEXP verbose);

  static inline nmathopencl_rexp_opencl_t nmathopencl_rexp_opencl_fn(void) {
    static nmathopencl_rexp_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rexp_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rexp_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rexp_opencl(
      SEXP n, SEXP scale, SEXP verbose
  ) {
    return nmathopencl_rexp_opencl_fn()(n, scale, verbose);
  }

  typedef SEXP (*nmathopencl_rf_opencl_t)(SEXP n, SEXP df1, SEXP df2, SEXP verbose);

  static inline nmathopencl_rf_opencl_t nmathopencl_rf_opencl_fn(void) {
    static nmathopencl_rf_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rf_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rf_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rf_opencl(
      SEXP n, SEXP df1, SEXP df2, SEXP verbose
  ) {
    return nmathopencl_rf_opencl_fn()(n, df1, df2, verbose);
  }

  typedef SEXP (*nmathopencl_rgamma_opencl_t)(SEXP n, SEXP shape, SEXP scale, SEXP verbose);

  static inline nmathopencl_rgamma_opencl_t nmathopencl_rgamma_opencl_fn(void) {
    static nmathopencl_rgamma_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rgamma_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rgamma_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rgamma_opencl(
      SEXP n, SEXP shape, SEXP scale, SEXP verbose
  ) {
    return nmathopencl_rgamma_opencl_fn()(n, shape, scale, verbose);
  }

  typedef SEXP (*nmathopencl_rgeom_opencl_t)(SEXP n, SEXP prob, SEXP verbose);

  static inline nmathopencl_rgeom_opencl_t nmathopencl_rgeom_opencl_fn(void) {
    static nmathopencl_rgeom_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rgeom_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rgeom_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rgeom_opencl(
      SEXP n, SEXP prob, SEXP verbose
  ) {
    return nmathopencl_rgeom_opencl_fn()(n, prob, verbose);
  }

  typedef SEXP (*nmathopencl_rhyper_opencl_t)(SEXP n, SEXP r, SEXP b, SEXP n1, SEXP verbose);

  static inline nmathopencl_rhyper_opencl_t nmathopencl_rhyper_opencl_fn(void) {
    static nmathopencl_rhyper_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rhyper_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rhyper_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rhyper_opencl(
      SEXP n, SEXP r, SEXP b, SEXP n1, SEXP verbose
  ) {
    return nmathopencl_rhyper_opencl_fn()(n, r, b, n1, verbose);
  }

  typedef SEXP (*nmathopencl_rlnorm_opencl_t)(SEXP n, SEXP meanlog, SEXP sdlog, SEXP verbose);

  static inline nmathopencl_rlnorm_opencl_t nmathopencl_rlnorm_opencl_fn(void) {
    static nmathopencl_rlnorm_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rlnorm_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rlnorm_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rlnorm_opencl(
      SEXP n, SEXP meanlog, SEXP sdlog, SEXP verbose
  ) {
    return nmathopencl_rlnorm_opencl_fn()(n, meanlog, sdlog, verbose);
  }

  typedef SEXP (*nmathopencl_rlogis_opencl_t)(SEXP n, SEXP location, SEXP scale, SEXP verbose);

  static inline nmathopencl_rlogis_opencl_t nmathopencl_rlogis_opencl_fn(void) {
    static nmathopencl_rlogis_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rlogis_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rlogis_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rlogis_opencl(
      SEXP n, SEXP location, SEXP scale, SEXP verbose
  ) {
    return nmathopencl_rlogis_opencl_fn()(n, location, scale, verbose);
  }

  typedef SEXP (*nmathopencl_rmultinom_opencl_t)(SEXP n, SEXP size, SEXP prob, SEXP verbose);

  static inline nmathopencl_rmultinom_opencl_t nmathopencl_rmultinom_opencl_fn(void) {
    static nmathopencl_rmultinom_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rmultinom_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rmultinom_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rmultinom_opencl(
      SEXP n, SEXP size, SEXP prob, SEXP verbose
  ) {
    return nmathopencl_rmultinom_opencl_fn()(n, size, prob, verbose);
  }

  typedef SEXP (*nmathopencl_rnbinom_mu_opencl_t)(SEXP n, SEXP size, SEXP mu, SEXP verbose);

  static inline nmathopencl_rnbinom_mu_opencl_t nmathopencl_rnbinom_mu_opencl_fn(void) {
    static nmathopencl_rnbinom_mu_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rnbinom_mu_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rnbinom_mu_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rnbinom_mu_opencl(
      SEXP n, SEXP size, SEXP mu, SEXP verbose
  ) {
    return nmathopencl_rnbinom_mu_opencl_fn()(n, size, mu, verbose);
  }

  typedef SEXP (*nmathopencl_rnbinom_opencl_t)(SEXP n, SEXP size, SEXP prob, SEXP verbose);

  static inline nmathopencl_rnbinom_opencl_t nmathopencl_rnbinom_opencl_fn(void) {
    static nmathopencl_rnbinom_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rnbinom_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rnbinom_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rnbinom_opencl(
      SEXP n, SEXP size, SEXP prob, SEXP verbose
  ) {
    return nmathopencl_rnbinom_opencl_fn()(n, size, prob, verbose);
  }

  typedef SEXP (*nmathopencl_rnchisq_opencl_t)(SEXP n, SEXP df, SEXP ncp, SEXP verbose);

  static inline nmathopencl_rnchisq_opencl_t nmathopencl_rnchisq_opencl_fn(void) {
    static nmathopencl_rnchisq_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rnchisq_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rnchisq_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rnchisq_opencl(
      SEXP n, SEXP df, SEXP ncp, SEXP verbose
  ) {
    return nmathopencl_rnchisq_opencl_fn()(n, df, ncp, verbose);
  }

  typedef SEXP (*nmathopencl_rnorm_opencl_t)(SEXP n, SEXP mu, SEXP sigma, SEXP verbose);

  static inline nmathopencl_rnorm_opencl_t nmathopencl_rnorm_opencl_fn(void) {
    static nmathopencl_rnorm_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rnorm_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rnorm_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rnorm_opencl(
      SEXP n, SEXP mu, SEXP sigma, SEXP verbose
  ) {
    return nmathopencl_rnorm_opencl_fn()(n, mu, sigma, verbose);
  }

  typedef SEXP (*nmathopencl_rpois_opencl_t)(SEXP n, SEXP lambda, SEXP verbose);

  static inline nmathopencl_rpois_opencl_t nmathopencl_rpois_opencl_fn(void) {
    static nmathopencl_rpois_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rpois_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rpois_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rpois_opencl(
      SEXP n, SEXP lambda, SEXP verbose
  ) {
    return nmathopencl_rpois_opencl_fn()(n, lambda, verbose);
  }

  typedef SEXP (*nmathopencl_rsignrank_opencl_t)(SEXP n, SEXP nsize, SEXP verbose);

  static inline nmathopencl_rsignrank_opencl_t nmathopencl_rsignrank_opencl_fn(void) {
    static nmathopencl_rsignrank_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rsignrank_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rsignrank_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rsignrank_opencl(
      SEXP n, SEXP nsize, SEXP verbose
  ) {
    return nmathopencl_rsignrank_opencl_fn()(n, nsize, verbose);
  }

  typedef SEXP (*nmathopencl_rt_opencl_t)(SEXP n, SEXP df, SEXP verbose);

  static inline nmathopencl_rt_opencl_t nmathopencl_rt_opencl_fn(void) {
    static nmathopencl_rt_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rt_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rt_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rt_opencl(
      SEXP n, SEXP df, SEXP verbose
  ) {
    return nmathopencl_rt_opencl_fn()(n, df, verbose);
  }

  typedef SEXP (*nmathopencl_runif_opencl_t)(SEXP n, SEXP a, SEXP b, SEXP verbose);

  static inline nmathopencl_runif_opencl_t nmathopencl_runif_opencl_fn(void) {
    static nmathopencl_runif_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_runif_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_runif_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_runif_opencl(
      SEXP n, SEXP a, SEXP b, SEXP verbose
  ) {
    return nmathopencl_runif_opencl_fn()(n, a, b, verbose);
  }

  typedef SEXP (*nmathopencl_rweibull_opencl_t)(SEXP n, SEXP shape, SEXP scale, SEXP verbose);

  static inline nmathopencl_rweibull_opencl_t nmathopencl_rweibull_opencl_fn(void) {
    static nmathopencl_rweibull_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rweibull_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rweibull_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rweibull_opencl(
      SEXP n, SEXP shape, SEXP scale, SEXP verbose
  ) {
    return nmathopencl_rweibull_opencl_fn()(n, shape, scale, verbose);
  }

  typedef SEXP (*nmathopencl_rwilcox_opencl_t)(SEXP n, SEXP m, SEXP n2, SEXP verbose);

  static inline nmathopencl_rwilcox_opencl_t nmathopencl_rwilcox_opencl_fn(void) {
    static nmathopencl_rwilcox_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_rwilcox_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_rwilcox_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_rwilcox_opencl(
      SEXP n, SEXP m, SEXP n2, SEXP verbose
  ) {
    return nmathopencl_rwilcox_opencl_fn()(n, m, n2, verbose);
  }

  typedef SEXP (*nmathopencl_sign_opencl_t)(SEXP x, SEXP verbose);

  static inline nmathopencl_sign_opencl_t nmathopencl_sign_opencl_fn(void) {
    static nmathopencl_sign_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_sign_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_sign_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_sign_opencl(
      SEXP x, SEXP verbose
  ) {
    return nmathopencl_sign_opencl_fn()(x, verbose);
  }

  typedef SEXP (*nmathopencl_tetragamma_opencl_t)(SEXP x, SEXP verbose);

  static inline nmathopencl_tetragamma_opencl_t nmathopencl_tetragamma_opencl_fn(void) {
    static nmathopencl_tetragamma_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_tetragamma_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_tetragamma_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_tetragamma_opencl(
      SEXP x, SEXP verbose
  ) {
    return nmathopencl_tetragamma_opencl_fn()(x, verbose);
  }

  typedef SEXP (*nmathopencl_trigamma_opencl_t)(SEXP x, SEXP verbose);

  static inline nmathopencl_trigamma_opencl_t nmathopencl_trigamma_opencl_fn(void) {
    static nmathopencl_trigamma_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_trigamma_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_trigamma_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_trigamma_opencl(
      SEXP x, SEXP verbose
  ) {
    return nmathopencl_trigamma_opencl_fn()(x, verbose);
  }

  typedef SEXP (*nmathopencl_unif_rand_opencl_t)(SEXP n, SEXP verbose);

  static inline nmathopencl_unif_rand_opencl_t nmathopencl_unif_rand_opencl_fn(void) {
    static nmathopencl_unif_rand_opencl_t fn = NULL;
    if (!fn) fn = (nmathopencl_unif_rand_opencl_t)
        nmathopencl_capi_resolve_("nmathopencl_unif_rand_opencl");
    return fn;
  }

  static inline SEXP nmathopencl_unif_rand_opencl(
      SEXP n, SEXP verbose
  ) {
    return nmathopencl_unif_rand_opencl_fn()(n, verbose);
  }

#ifdef __cplusplus
}
#endif

#endif /* NMATHOPENCL_CAPI_H */

