R/odin.R

Defines functions nimue_booster nimue_booster_minimal nimue_booster_minimal_diff nimue_booster_diff

## Automatically generated by odin 1.4.6 - do not edit
nimue_booster_diff_ <- R6::R6Class(
  "odin_model",
  cloneable = FALSE,

  private = list(
    ptr = NULL,
    use_dde = NULL,

    odin = NULL,
    variable_order = NULL,
    output_order = NULL,
    n_out = NULL,
    ynames = NULL,
    interpolate_t = NULL,
    cfuns = list(
      rhs_dde = "nimue_booster_diff_rhs_dde"),
    dll = "squire.page",
    user = c("beta_set", "booster_doses", "D_0", "dt", "E1_0", "E2_0",
             "gamma_E", "gamma_get_mv_die", "gamma_get_mv_survive",
             "gamma_get_ox_die", "gamma_get_ox_survive", "gamma_ICase",
             "gamma_IMild", "gamma_not_get_mv_die",
             "gamma_not_get_mv_survive", "gamma_not_get_ox_die",
             "gamma_not_get_ox_survive", "gamma_R", "gamma_rec",
             "gamma_vaccine", "hosp_beds", "ICase1_0", "ICase2_0",
             "ICU_beds", "IMild_0", "IMVGetDie1_0", "IMVGetDie2_0",
             "IMVGetLive1_0", "IMVGetLive2_0", "IMVNotGetDie1_0",
             "IMVNotGetDie2_0", "IMVNotGetLive1_0", "IMVNotGetLive2_0",
             "IOxGetDie1_0", "IOxGetDie2_0", "IOxGetLive1_0",
             "IOxGetLive2_0", "IOxNotGetDie1_0", "IOxNotGetDie2_0",
             "IOxNotGetLive1_0", "IOxNotGetLive2_0", "IRec1_0", "IRec2_0",
             "mix_mat_set", "N_prioritisation_steps", "primary_doses",
             "prob_hosp", "prob_hosp_multiplier",
             "prob_non_severe_death_no_treatment",
             "prob_non_severe_death_treatment", "prob_severe",
             "prob_severe_death_no_treatment", "prob_severe_death_treatment",
             "prob_severe_multiplier", "R1_0", "R2_0", "rel_infectiousness",
             "rel_infectiousness_vaccinated", "S_0", "second_dose_delay",
             "tt_beta", "tt_booster_doses", "tt_dur_E", "tt_dur_get_mv_die",
             "tt_dur_get_mv_survive", "tt_dur_get_ox_die",
             "tt_dur_get_ox_survive", "tt_dur_ICase", "tt_dur_IMild",
             "tt_dur_R", "tt_dur_vaccine", "tt_hosp_beds", "tt_ICU_beds",
             "tt_matrix", "tt_primary_doses", "tt_prob_hosp_multiplier",
             "tt_prob_severe_multiplier", "tt_vaccine_efficacy_disease",
             "tt_vaccine_efficacy_infection",
             "vaccine_booster_follow_up_coverage",
             "vaccine_booster_initial_coverage", "vaccine_coverage_mat",
             "vaccine_efficacy_infection"),

    ## This is never called, but is used to ensure that R finds our
    ## symbols that we will use from the package; without this they
    ## cannot be found by dynamic lookup now that we use the package
    ## FFI registration system.
    registration = function() {
      if (FALSE) {
        .C("nimue_booster_diff_rhs_dde", package = "squire.page")
      }
    },

    ## This only does something in delay models
    set_initial = function(step, y, use_dde) {
      .Call("nimue_booster_diff_set_initial", private$ptr, step, y, use_dde,
            PACKAGE= "squire.page")
    },

    update_metadata = function() {
      meta <- .Call("nimue_booster_diff_metadata", private$ptr,
                    PACKAGE = "squire.page")
      private$variable_order <- meta$variable_order
      private$output_order <- meta$output_order
      private$n_out <- meta$n_out
      private$ynames <- private$odin$make_names(
        private$variable_order, private$output_order, TRUE)
      private$interpolate_t <- meta$interpolate_t
    }
  ),

  public = list(
    initialize = function(..., user = list(...), use_dde = FALSE,
                          unused_user_action = NULL) {
      private$odin <- asNamespace("odin")
      private$ptr <- .Call("nimue_booster_diff_create", user, PACKAGE = "squire.page")
      self$set_user(user = user, unused_user_action = unused_user_action)
      private$use_dde <- use_dde
      private$update_metadata()
    },

    ir = function() {
      path_ir <- system.file("odin/nimue_booster_diff.json", mustWork = TRUE,
                             package = "squire.page")
      json <- readLines(path_ir)
      class(json) <- "json"
      json
    },

    ## Do we need to have the user-settable args here? It would be
    ## nice, but that's not super straightforward to do.
    set_user = function(..., user = list(...), unused_user_action = NULL) {
      private$odin$support_check_user(user, private$user, unused_user_action)
      .Call("nimue_booster_diff_set_user", private$ptr, user, PACKAGE = "squire.page")
      private$update_metadata()
    },

    ## This might be time sensitive and, so we can avoid computing
    ## it. I wonder if that's an optimisation we should drop for now
    ## as it does not seem generally useful. This would bring us
    ## closer to the js version which requires that we always pass the
    ## time in.
    initial = function(step) {
      .Call("nimue_booster_diff_initial_conditions", private$ptr, step, PACKAGE = "squire.page")
    },

    rhs = function(step, y) {
      .Call("nimue_booster_diff_rhs_r", private$ptr, step, y, PACKAGE = "squire.page")
    },

    update = function(step, y) {
      self$rhs(step, y)
    },

    contents = function() {
      .Call("nimue_booster_diff_contents", private$ptr, PACKAGE = "squire.page")
    },

    transform_variables = function(y) {
      private$odin$support_transform_variables(y, private)
    },

    engine = function() {
      "c"
    },

    run = function(step, y = NULL, ..., use_names = TRUE) {
      private$odin$wrapper_run_discrete(
        self, private, step, y, ..., use_names = use_names)
    }
  ))


nimue_booster_diff <- function(..., user = list(...), use_dde = FALSE,
                     unused_user_action = NULL) {
  asNamespace("odin")$deprecated_constructor_call("nimue_booster_diff")
  nimue_booster_diff_$new(user = user, use_dde = use_dde,
                unused_user_action = unused_user_action)
}
class(nimue_booster_diff) <- "odin_generator"
attr(nimue_booster_diff, "generator") <- nimue_booster_diff_
nimue_booster_minimal_diff_ <- R6::R6Class(
  "odin_model",
  cloneable = FALSE,

  private = list(
    ptr = NULL,
    use_dde = NULL,

    odin = NULL,
    variable_order = NULL,
    output_order = NULL,
    n_out = NULL,
    ynames = NULL,
    interpolate_t = NULL,
    cfuns = list(
      rhs_dde = "nimue_booster_minimal_diff_rhs_dde"),
    dll = "squire.page",
    user = c("beta_set", "booster_doses", "D_0", "dt", "E1_0", "E2_0",
             "gamma_E", "gamma_get_mv_die", "gamma_get_mv_survive",
             "gamma_get_ox_die", "gamma_get_ox_survive", "gamma_ICase",
             "gamma_IMild", "gamma_not_get_mv_die",
             "gamma_not_get_mv_survive", "gamma_not_get_ox_die",
             "gamma_not_get_ox_survive", "gamma_R", "gamma_rec",
             "gamma_vaccine", "hosp_bed_capacity", "ICase1_0", "ICase2_0",
             "ICU_bed_capacity", "IMild_0", "IMVGetDie1_0", "IMVGetDie2_0",
             "IMVGetLive1_0", "IMVGetLive2_0", "IMVNotGetDie1_0",
             "IMVNotGetDie2_0", "IMVNotGetLive1_0", "IMVNotGetLive2_0",
             "IOxGetDie1_0", "IOxGetDie2_0", "IOxGetLive1_0",
             "IOxGetLive2_0", "IOxNotGetDie1_0", "IOxNotGetDie2_0",
             "IOxNotGetLive1_0", "IOxNotGetLive2_0", "IRec1_0", "IRec2_0",
             "mix_mat_set", "N_prioritisation_steps", "primary_doses",
             "prob_hosp", "prob_hosp_multiplier",
             "prob_non_severe_death_no_treatment",
             "prob_non_severe_death_treatment", "prob_severe",
             "prob_severe_death_no_treatment", "prob_severe_death_treatment",
             "prob_severe_multiplier", "R1_0", "R2_0", "rel_infectiousness",
             "rel_infectiousness_vaccinated", "S_0", "second_dose_delay",
             "tt_beta", "tt_booster_doses", "tt_dur_get_mv_die",
             "tt_dur_get_mv_survive", "tt_dur_get_ox_die",
             "tt_dur_get_ox_survive", "tt_dur_R", "tt_dur_vaccine",
             "tt_primary_doses", "tt_prob_hosp_multiplier",
             "tt_prob_severe_multiplier", "tt_vaccine_efficacy_disease",
             "tt_vaccine_efficacy_infection",
             "vaccine_booster_follow_up_coverage", "vaccine_coverage_mat",
             "vaccine_efficacy_disease", "vaccine_efficacy_infection"),

    ## This is never called, but is used to ensure that R finds our
    ## symbols that we will use from the package; without this they
    ## cannot be found by dynamic lookup now that we use the package
    ## FFI registration system.
    registration = function() {
      if (FALSE) {
        .C("nimue_booster_minimal_diff_rhs_dde", package = "squire.page")
      }
    },

    ## This only does something in delay models
    set_initial = function(step, y, use_dde) {
      .Call("nimue_booster_minimal_diff_set_initial", private$ptr, step, y, use_dde,
            PACKAGE= "squire.page")
    },

    update_metadata = function() {
      meta <- .Call("nimue_booster_minimal_diff_metadata", private$ptr,
                    PACKAGE = "squire.page")
      private$variable_order <- meta$variable_order
      private$output_order <- meta$output_order
      private$n_out <- meta$n_out
      private$ynames <- private$odin$make_names(
        private$variable_order, private$output_order, TRUE)
      private$interpolate_t <- meta$interpolate_t
    }
  ),

  public = list(
    initialize = function(..., user = list(...), use_dde = FALSE,
                          unused_user_action = NULL) {
      private$odin <- asNamespace("odin")
      private$ptr <- .Call("nimue_booster_minimal_diff_create", user, PACKAGE = "squire.page")
      self$set_user(user = user, unused_user_action = unused_user_action)
      private$use_dde <- use_dde
      private$update_metadata()
    },

    ir = function() {
      path_ir <- system.file("odin/nimue_booster_minimal_diff.json", mustWork = TRUE,
                             package = "squire.page")
      json <- readLines(path_ir)
      class(json) <- "json"
      json
    },

    ## Do we need to have the user-settable args here? It would be
    ## nice, but that's not super straightforward to do.
    set_user = function(..., user = list(...), unused_user_action = NULL) {
      private$odin$support_check_user(user, private$user, unused_user_action)
      .Call("nimue_booster_minimal_diff_set_user", private$ptr, user, PACKAGE = "squire.page")
      private$update_metadata()
    },

    ## This might be time sensitive and, so we can avoid computing
    ## it. I wonder if that's an optimisation we should drop for now
    ## as it does not seem generally useful. This would bring us
    ## closer to the js version which requires that we always pass the
    ## time in.
    initial = function(step) {
      .Call("nimue_booster_minimal_diff_initial_conditions", private$ptr, step, PACKAGE = "squire.page")
    },

    rhs = function(step, y) {
      .Call("nimue_booster_minimal_diff_rhs_r", private$ptr, step, y, PACKAGE = "squire.page")
    },

    update = function(step, y) {
      self$rhs(step, y)
    },

    contents = function() {
      .Call("nimue_booster_minimal_diff_contents", private$ptr, PACKAGE = "squire.page")
    },

    transform_variables = function(y) {
      private$odin$support_transform_variables(y, private)
    },

    engine = function() {
      "c"
    },

    run = function(step, y = NULL, ..., use_names = TRUE) {
      private$odin$wrapper_run_discrete(
        self, private, step, y, ..., use_names = use_names)
    }
  ))


nimue_booster_minimal_diff <- function(..., user = list(...), use_dde = FALSE,
                     unused_user_action = NULL) {
  asNamespace("odin")$deprecated_constructor_call("nimue_booster_minimal_diff")
  nimue_booster_minimal_diff_$new(user = user, use_dde = use_dde,
                unused_user_action = unused_user_action)
}
class(nimue_booster_minimal_diff) <- "odin_generator"
attr(nimue_booster_minimal_diff, "generator") <- nimue_booster_minimal_diff_
nimue_booster_minimal_ <- R6::R6Class(
  "odin_model",
  cloneable = FALSE,

  private = list(
    ptr = NULL,
    use_dde = NULL,

    odin = NULL,
    variable_order = NULL,
    output_order = NULL,
    n_out = NULL,
    ynames = NULL,
    interpolate_t = NULL,
    cfuns = list(
      rhs_dde = "nimue_booster_minimal_rhs_dde",
      rhs_desolve = "nimue_booster_minimal_rhs_desolve",
      initmod_desolve = "nimue_booster_minimal_initmod_desolve",
      output_dde = "nimue_booster_minimal_output_dde"),
    dll = "squire.page",
    user = c("beta_set", "booster_doses", "D_0", "E1_0", "E2_0", "gamma_E",
             "gamma_get_mv_die", "gamma_get_mv_survive", "gamma_get_ox_die",
             "gamma_get_ox_survive", "gamma_ICase", "gamma_IMild",
             "gamma_not_get_mv_die", "gamma_not_get_mv_survive",
             "gamma_not_get_ox_die", "gamma_not_get_ox_survive", "gamma_R",
             "gamma_rec", "gamma_vaccine", "hosp_bed_capacity", "ICase1_0",
             "ICase2_0", "ICU_bed_capacity", "IMild_0", "IMVGetDie1_0",
             "IMVGetDie2_0", "IMVGetLive1_0", "IMVGetLive2_0",
             "IMVNotGetDie1_0", "IMVNotGetDie2_0", "IMVNotGetLive1_0",
             "IMVNotGetLive2_0", "IOxGetDie1_0", "IOxGetDie2_0",
             "IOxGetLive1_0", "IOxGetLive2_0", "IOxNotGetDie1_0",
             "IOxNotGetDie2_0", "IOxNotGetLive1_0", "IOxNotGetLive2_0",
             "IRec1_0", "IRec2_0", "mix_mat_set", "N_prioritisation_steps",
             "primary_doses", "prob_hosp", "prob_hosp_multiplier",
             "prob_non_severe_death_no_treatment",
             "prob_non_severe_death_treatment", "prob_severe",
             "prob_severe_death_no_treatment", "prob_severe_death_treatment",
             "prob_severe_multiplier", "R1_0", "R2_0", "rel_infectiousness",
             "rel_infectiousness_vaccinated", "S_0", "second_dose_delay",
             "tt_beta", "tt_booster_doses", "tt_dur_get_mv_die",
             "tt_dur_get_mv_survive", "tt_dur_get_ox_die",
             "tt_dur_get_ox_survive", "tt_dur_R", "tt_dur_vaccine",
             "tt_primary_doses", "tt_prob_hosp_multiplier",
             "tt_prob_severe_multiplier", "tt_vaccine_efficacy_disease",
             "tt_vaccine_efficacy_infection",
             "vaccine_booster_follow_up_coverage", "vaccine_coverage_mat",
             "vaccine_efficacy_disease", "vaccine_efficacy_infection"),

    ## This is never called, but is used to ensure that R finds our
    ## symbols that we will use from the package; without this they
    ## cannot be found by dynamic lookup now that we use the package
    ## FFI registration system.
    registration = function() {
      if (FALSE) {
        .C("nimue_booster_minimal_rhs_dde", package = "squire.page")
        .C("nimue_booster_minimal_rhs_desolve", package = "squire.page")
        .C("nimue_booster_minimal_initmod_desolve", package = "squire.page")
        .C("nimue_booster_minimal_output_dde", package = "squire.page")
      }
    },

    ## This only does something in delay models
    set_initial = function(t, y, use_dde) {
      .Call("nimue_booster_minimal_set_initial", private$ptr, t, y, use_dde,
            PACKAGE= "squire.page")
    },

    update_metadata = function() {
      meta <- .Call("nimue_booster_minimal_metadata", private$ptr,
                    PACKAGE = "squire.page")
      private$variable_order <- meta$variable_order
      private$output_order <- meta$output_order
      private$n_out <- meta$n_out
      private$ynames <- private$odin$make_names(
        private$variable_order, private$output_order, FALSE)
      private$interpolate_t <- meta$interpolate_t
    }
  ),

  public = list(
    initialize = function(..., user = list(...), use_dde = FALSE,
                          unused_user_action = NULL) {
      private$odin <- asNamespace("odin")
      private$ptr <- .Call("nimue_booster_minimal_create", user, PACKAGE = "squire.page")
      self$set_user(user = user, unused_user_action = unused_user_action)
      private$use_dde <- use_dde
      private$update_metadata()
    },

    ir = function() {
      path_ir <- system.file("odin/nimue_booster_minimal.json", mustWork = TRUE,
                             package = "squire.page")
      json <- readLines(path_ir)
      class(json) <- "json"
      json
    },

    ## Do we need to have the user-settable args here? It would be
    ## nice, but that's not super straightforward to do.
    set_user = function(..., user = list(...), unused_user_action = NULL) {
      private$odin$support_check_user(user, private$user, unused_user_action)
      .Call("nimue_booster_minimal_set_user", private$ptr, user, PACKAGE = "squire.page")
      private$update_metadata()
    },

    ## This might be time sensitive and, so we can avoid computing
    ## it. I wonder if that's an optimisation we should drop for now
    ## as it does not seem generally useful. This would bring us
    ## closer to the js version which requires that we always pass the
    ## time in.
    initial = function(t) {
      .Call("nimue_booster_minimal_initial_conditions", private$ptr, t, PACKAGE = "squire.page")
    },

    rhs = function(t, y) {
      .Call("nimue_booster_minimal_rhs_r", private$ptr, t, y, PACKAGE = "squire.page")
    },

    deriv = function(t, y) {
      self$rhs(t, y)
    },

    contents = function() {
      .Call("nimue_booster_minimal_contents", private$ptr, PACKAGE = "squire.page")
    },

    transform_variables = function(y) {
      private$odin$support_transform_variables(y, private)
    },

    engine = function() {
      "c"
    },

    run = function(t, y = NULL, ..., use_names = TRUE) {
      private$odin$wrapper_run_ode(
        self, private, t, y, ..., use_names = use_names)
    }
  ))


nimue_booster_minimal <- function(..., user = list(...), use_dde = FALSE,
                     unused_user_action = NULL) {
  asNamespace("odin")$deprecated_constructor_call("nimue_booster_minimal")
  nimue_booster_minimal_$new(user = user, use_dde = use_dde,
                unused_user_action = unused_user_action)
}
class(nimue_booster_minimal) <- "odin_generator"
attr(nimue_booster_minimal, "generator") <- nimue_booster_minimal_
nimue_booster_ <- R6::R6Class(
  "odin_model",
  cloneable = FALSE,

  private = list(
    ptr = NULL,
    use_dde = NULL,

    odin = NULL,
    variable_order = NULL,
    output_order = NULL,
    n_out = NULL,
    ynames = NULL,
    interpolate_t = NULL,
    cfuns = list(
      rhs_dde = "nimue_booster_rhs_dde",
      rhs_desolve = "nimue_booster_rhs_desolve",
      initmod_desolve = "nimue_booster_initmod_desolve",
      output_dde = "nimue_booster_output_dde"),
    dll = "squire.page",
    user = c("beta_set", "booster_doses", "D_0", "E1_0", "E2_0", "gamma_E",
             "gamma_get_mv_die", "gamma_get_mv_survive", "gamma_get_ox_die",
             "gamma_get_ox_survive", "gamma_ICase", "gamma_IMild",
             "gamma_not_get_mv_die", "gamma_not_get_mv_survive",
             "gamma_not_get_ox_die", "gamma_not_get_ox_survive", "gamma_R",
             "gamma_rec", "gamma_vaccine", "hosp_beds", "ICase1_0",
             "ICase2_0", "ICU_beds", "IMild_0", "IMVGetDie1_0",
             "IMVGetDie2_0", "IMVGetLive1_0", "IMVGetLive2_0",
             "IMVNotGetDie1_0", "IMVNotGetDie2_0", "IMVNotGetLive1_0",
             "IMVNotGetLive2_0", "IOxGetDie1_0", "IOxGetDie2_0",
             "IOxGetLive1_0", "IOxGetLive2_0", "IOxNotGetDie1_0",
             "IOxNotGetDie2_0", "IOxNotGetLive1_0", "IOxNotGetLive2_0",
             "IRec1_0", "IRec2_0", "mix_mat_set", "N_prioritisation_steps",
             "primary_doses", "prob_hosp", "prob_hosp_multiplier",
             "prob_non_severe_death_no_treatment",
             "prob_non_severe_death_treatment", "prob_severe",
             "prob_severe_death_no_treatment", "prob_severe_death_treatment",
             "prob_severe_multiplier", "R1_0", "R2_0", "rel_infectiousness",
             "rel_infectiousness_vaccinated", "S_0", "second_dose_delay",
             "tt_beta", "tt_booster_doses", "tt_dur_E", "tt_dur_get_mv_die",
             "tt_dur_get_mv_survive", "tt_dur_get_ox_die",
             "tt_dur_get_ox_survive", "tt_dur_ICase", "tt_dur_IMild",
             "tt_dur_R", "tt_dur_vaccine", "tt_hosp_beds", "tt_ICU_beds",
             "tt_matrix", "tt_primary_doses", "tt_prob_hosp_multiplier",
             "tt_prob_severe_multiplier", "tt_vaccine_efficacy_disease",
             "tt_vaccine_efficacy_infection",
             "vaccine_booster_follow_up_coverage",
             "vaccine_booster_initial_coverage", "vaccine_coverage_mat",
             "vaccine_efficacy_infection"),

    ## This is never called, but is used to ensure that R finds our
    ## symbols that we will use from the package; without this they
    ## cannot be found by dynamic lookup now that we use the package
    ## FFI registration system.
    registration = function() {
      if (FALSE) {
        .C("nimue_booster_rhs_dde", package = "squire.page")
        .C("nimue_booster_rhs_desolve", package = "squire.page")
        .C("nimue_booster_initmod_desolve", package = "squire.page")
        .C("nimue_booster_output_dde", package = "squire.page")
      }
    },

    ## This only does something in delay models
    set_initial = function(t, y, use_dde) {
      .Call("nimue_booster_set_initial", private$ptr, t, y, use_dde,
            PACKAGE= "squire.page")
    },

    update_metadata = function() {
      meta <- .Call("nimue_booster_metadata", private$ptr,
                    PACKAGE = "squire.page")
      private$variable_order <- meta$variable_order
      private$output_order <- meta$output_order
      private$n_out <- meta$n_out
      private$ynames <- private$odin$make_names(
        private$variable_order, private$output_order, FALSE)
      private$interpolate_t <- meta$interpolate_t
    }
  ),

  public = list(
    initialize = function(..., user = list(...), use_dde = FALSE,
                          unused_user_action = NULL) {
      private$odin <- asNamespace("odin")
      private$ptr <- .Call("nimue_booster_create", user, PACKAGE = "squire.page")
      self$set_user(user = user, unused_user_action = unused_user_action)
      private$use_dde <- use_dde
      private$update_metadata()
    },

    ir = function() {
      path_ir <- system.file("odin/nimue_booster.json", mustWork = TRUE,
                             package = "squire.page")
      json <- readLines(path_ir)
      class(json) <- "json"
      json
    },

    ## Do we need to have the user-settable args here? It would be
    ## nice, but that's not super straightforward to do.
    set_user = function(..., user = list(...), unused_user_action = NULL) {
      private$odin$support_check_user(user, private$user, unused_user_action)
      .Call("nimue_booster_set_user", private$ptr, user, PACKAGE = "squire.page")
      private$update_metadata()
    },

    ## This might be time sensitive and, so we can avoid computing
    ## it. I wonder if that's an optimisation we should drop for now
    ## as it does not seem generally useful. This would bring us
    ## closer to the js version which requires that we always pass the
    ## time in.
    initial = function(t) {
      .Call("nimue_booster_initial_conditions", private$ptr, t, PACKAGE = "squire.page")
    },

    rhs = function(t, y) {
      .Call("nimue_booster_rhs_r", private$ptr, t, y, PACKAGE = "squire.page")
    },

    deriv = function(t, y) {
      self$rhs(t, y)
    },

    contents = function() {
      .Call("nimue_booster_contents", private$ptr, PACKAGE = "squire.page")
    },

    transform_variables = function(y) {
      private$odin$support_transform_variables(y, private)
    },

    engine = function() {
      "c"
    },

    run = function(t, y = NULL, ..., use_names = TRUE) {
      private$odin$wrapper_run_ode(
        self, private, t, y, ..., use_names = use_names)
    }
  ))


nimue_booster <- function(..., user = list(...), use_dde = FALSE,
                     unused_user_action = NULL) {
  asNamespace("odin")$deprecated_constructor_call("nimue_booster")
  nimue_booster_$new(user = user, use_dde = use_dde,
                unused_user_action = unused_user_action)
}
class(nimue_booster) <- "odin_generator"
attr(nimue_booster, "generator") <- nimue_booster_
mrc-ide/squire.page documentation built on May 27, 2023, 11:20 a.m.