From f6798bfb4f91ed0407ca328158c871377283d526 Mon Sep 17 00:00:00 2001 From: Siel Date: Tue, 23 Jan 2024 13:30:00 +0000 Subject: [PATCH] deploy: cd37328a182e4d4e142c8876a3d757f262e5a2aa --- .../algorithms/fn.initialize_algorithm.html | 4 +- npcore/algorithms/index.html | 2 +- npcore/algorithms/trait.Algorithm.html | 4 +- npcore/all.html | 2 +- npcore/entrypoints/fn.start.html | 2 +- npcore/entrypoints/fn.start_internal.html | 4 +- npcore/entrypoints/index.html | 2 +- npcore/index.html | 2 +- npcore/logger/fn.setup_log.html | 2 +- npcore/logger/index.html | 2 +- npcore/prelude/index.html | 2 +- npcore/routines/evaluation/index.html | 2 +- npcore/routines/evaluation/ipm/fn.burke.html | 2 +- npcore/routines/evaluation/ipm/index.html | 2 +- .../initialization/fn.sample_space.html | 4 +- npcore/routines/initialization/index.html | 2 +- .../initialization/sobol/fn.generate.html | 2 +- npcore/routines/output/fn.median.html | 2 +- .../output/fn.population_mean_median.html | 2 +- npcore/routines/output/fn.posterior.html | 2 +- .../output/fn.posterior_mean_median.html | 2 +- npcore/routines/output/index.html | 2 +- npcore/routines/output/struct.CycleLog.html | 4 +- .../routines/output/struct.CycleWriter.html | 4 +- npcore/routines/output/struct.MetaWriter.html | 2 +- npcore/routines/output/struct.NPCycle.html | 4 +- npcore/routines/output/struct.NPResult.html | 16 +- .../routines/settings/fn.read_settings.html | 4 + .../settings/fn.write_settings_to_file.html | 3 + npcore/routines/settings/index.html | 2 +- npcore/routines/settings/run/fn.read.html | 2 - npcore/routines/settings/run/index.html | 1 - npcore/routines/settings/run/sidebar-items.js | 1 - .../settings/run/struct.Computed.html | 28 -- .../routines/settings/run/struct.Paths.html | 28 -- .../routines/settings/run/struct.Single.html | 27 - npcore/routines/settings/sidebar-items.js | 2 +- .../routines/settings/simulator/fn.read.html | 1 - npcore/routines/settings/simulator/index.html | 1 - .../settings/simulator/sidebar-items.js | 1 - .../settings/simulator/struct.Config.html | 27 - .../settings/simulator/struct.Paths.html | 27 - .../settings/simulator/struct.Settings.html | 27 - .../settings/{run => }/struct.Config.html | 25 +- ...struct.Range.html => struct.Constant.html} | 14 +- .../settings/{run => }/struct.Error.html | 18 +- ...struct.Settings.html => struct.Fixed.html} | 16 +- .../struct.Parsed.html => struct.Paths.html} | 23 +- npcore/routines/settings/struct.Random.html | 38 ++ npcore/routines/settings/struct.Settings.html | 34 ++ npcore/routines/simulation/index.html | 2 +- npcore/tui/actions/enum.Action.html | 6 +- npcore/tui/components/fn.draw_commands.html | 2 +- npcore/tui/components/fn.draw_logs.html | 2 +- npcore/tui/components/fn.draw_options.html | 2 +- .../components/fn.draw_parameter_bounds.html | 1 - npcore/tui/components/fn.draw_plot.html | 2 +- npcore/tui/components/fn.draw_tabs.html | 2 +- npcore/tui/components/index.html | 2 +- npcore/tui/components/sidebar-items.js | 2 +- npcore/tui/enum.AppReturn.html | 6 +- npcore/tui/inputs/key/enum.Key.html | 11 +- npcore/tui/ui/fn.draw.html | 4 +- .../tui/ui/fn.initialize_panic_handler.html | 1 + npcore/tui/ui/fn.start_ui.html | 2 +- npcore/tui/ui/index.html | 4 +- npcore/tui/ui/sidebar-items.js | 2 +- search-index.js | 2 +- src-files.js | 2 +- src/npcore/algorithms.rs.html | 26 +- src/npcore/algorithms/npag.rs.html | 18 +- src/npcore/algorithms/npod.rs.html | 14 +- src/npcore/algorithms/postprob.rs.html | 6 +- src/npcore/entrypoints.rs.html | 40 +- src/npcore/lib.rs.html | 8 +- src/npcore/logger.rs.html | 24 +- src/npcore/routines/evaluation/ipm.rs.html | 16 +- src/npcore/routines/initialization.rs.html | 26 +- .../routines/initialization/sobol.rs.html | 4 +- src/npcore/routines/output.rs.html | 16 +- src/npcore/routines/settings.rs.html | 467 ++++++++++++++++++ src/npcore/routines/settings/run.rs.html | 305 ------------ .../routines/settings/simulator.rs.html | 103 ---- src/npcore/tests/mod.rs.html | 78 --- src/npcore/tui/components.rs.html | 136 +---- src/npcore/tui/ui.rs.html | 32 +- trait.impl/core/clone/trait.Clone.js | 2 +- trait.impl/core/cmp/trait.Eq.js | 2 +- trait.impl/core/convert/trait.From.js | 2 +- trait.impl/core/default/trait.Default.js | 2 +- trait.impl/core/fmt/trait.Debug.js | 2 +- trait.impl/core/fmt/trait.Display.js | 2 +- trait.impl/core/marker/trait.Freeze.js | 2 +- trait.impl/core/marker/trait.Send.js | 2 +- .../core/marker/trait.StructuralPartialEq.js | 2 +- trait.impl/core/marker/trait.Sync.js | 2 +- trait.impl/core/marker/trait.Unpin.js | 2 +- .../panic/unwind_safe/trait.RefUnwindSafe.js | 2 +- .../panic/unwind_safe/trait.UnwindSafe.js | 2 +- trait.impl/serde/de/trait.Deserialize.js | 2 +- trait.impl/serde/ser/trait.Serialize.js | 3 + 101 files changed, 801 insertions(+), 1038 deletions(-) create mode 100644 npcore/routines/settings/fn.read_settings.html create mode 100644 npcore/routines/settings/fn.write_settings_to_file.html delete mode 100644 npcore/routines/settings/run/fn.read.html delete mode 100644 npcore/routines/settings/run/index.html delete mode 100644 npcore/routines/settings/run/sidebar-items.js delete mode 100644 npcore/routines/settings/run/struct.Computed.html delete mode 100644 npcore/routines/settings/run/struct.Paths.html delete mode 100644 npcore/routines/settings/run/struct.Single.html delete mode 100644 npcore/routines/settings/simulator/fn.read.html delete mode 100644 npcore/routines/settings/simulator/index.html delete mode 100644 npcore/routines/settings/simulator/sidebar-items.js delete mode 100644 npcore/routines/settings/simulator/struct.Config.html delete mode 100644 npcore/routines/settings/simulator/struct.Paths.html delete mode 100644 npcore/routines/settings/simulator/struct.Settings.html rename npcore/routines/settings/{run => }/struct.Config.html (55%) rename npcore/routines/settings/{run/struct.Range.html => struct.Constant.html} (61%) rename npcore/routines/settings/{run => }/struct.Error.html (61%) rename npcore/routines/settings/{run/struct.Settings.html => struct.Fixed.html} (60%) rename npcore/routines/settings/{run/struct.Parsed.html => struct.Paths.html} (58%) create mode 100644 npcore/routines/settings/struct.Random.html create mode 100644 npcore/routines/settings/struct.Settings.html delete mode 100644 npcore/tui/components/fn.draw_parameter_bounds.html create mode 100644 npcore/tui/ui/fn.initialize_panic_handler.html create mode 100644 src/npcore/routines/settings.rs.html delete mode 100644 src/npcore/routines/settings/run.rs.html delete mode 100644 src/npcore/routines/settings/simulator.rs.html create mode 100644 trait.impl/serde/ser/trait.Serialize.js diff --git a/npcore/algorithms/fn.initialize_algorithm.html b/npcore/algorithms/fn.initialize_algorithm.html index becf6ccf1..08ad186a6 100644 --- a/npcore/algorithms/fn.initialize_algorithm.html +++ b/npcore/algorithms/fn.initialize_algorithm.html @@ -1,6 +1,6 @@ -initialize_algorithm in npcore::algorithms - Rust
pub fn initialize_algorithm<S>(
+initialize_algorithm in npcore::algorithms - Rust
pub fn initialize_algorithm<S>(
     engine: Engine<S>,
-    settings: Settings,
+    settings: Settings,
     scenarios: Vec<Scenario>,
     tx: UnboundedSender<Comm>
 ) -> Box<dyn Algorithm>where
diff --git a/npcore/algorithms/index.html b/npcore/algorithms/index.html
index 1415fa423..c815da36b 100644
--- a/npcore/algorithms/index.html
+++ b/npcore/algorithms/index.html
@@ -1 +1 @@
-npcore::algorithms - Rust
\ No newline at end of file +npcore::algorithms - Rust
\ No newline at end of file diff --git a/npcore/algorithms/trait.Algorithm.html b/npcore/algorithms/trait.Algorithm.html index 007aaca16..b020f20e1 100644 --- a/npcore/algorithms/trait.Algorithm.html +++ b/npcore/algorithms/trait.Algorithm.html @@ -1,5 +1,5 @@ -Algorithm in npcore::algorithms - Rust
pub trait Algorithm {
+Algorithm in npcore::algorithms - Rust
pub trait Algorithm {
     // Required methods
     fn fit(&mut self) -> NPResult;
     fn to_npresult(&self) -> NPResult;
-}

Required Methods§

source

fn fit(&mut self) -> NPResult

source

fn to_npresult(&self) -> NPResult

Implementors§

\ No newline at end of file +}

Required Methods§

source

fn fit(&mut self) -> NPResult

source

fn to_npresult(&self) -> NPResult

Implementors§

\ No newline at end of file diff --git a/npcore/all.html b/npcore/all.html index 312e42cd8..d6252c319 100644 --- a/npcore/all.html +++ b/npcore/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Structs

Enums

Traits

Functions

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Enums

Traits

Functions

\ No newline at end of file diff --git a/npcore/entrypoints/fn.start.html b/npcore/entrypoints/fn.start.html index 5e4e4ab85..dc4d7e4e9 100644 --- a/npcore/entrypoints/fn.start.html +++ b/npcore/entrypoints/fn.start.html @@ -1,4 +1,4 @@ -start in npcore::entrypoints - Rust

Function npcore::entrypoints::start

source ·
pub fn start<S>(engine: Engine<S>, settings_path: String) -> Result<NPResult>where
+start in npcore::entrypoints - Rust

Function npcore::entrypoints::start

source ·
pub fn start<S>(engine: Engine<S>, settings_path: String) -> Result<NPResult>where
     S: Predict<'static> + Sync + Send + 'static + Clone,
Expand description

Primary entrypoint for NPcore

This function is the primary entrypoint for NPcore, and is used to run the algorithm. The settings for this function is specified in a TOML configuration file, see routines::settings::run for details.

diff --git a/npcore/entrypoints/fn.start_internal.html b/npcore/entrypoints/fn.start_internal.html index 9feec9087..e036d26b6 100644 --- a/npcore/entrypoints/fn.start_internal.html +++ b/npcore/entrypoints/fn.start_internal.html @@ -1,6 +1,6 @@ -start_internal in npcore::entrypoints - Rust
pub fn start_internal<S>(
+start_internal in npcore::entrypoints - Rust
pub fn start_internal<S>(
     engine: Engine<S>,
-    settings: Settings,
+    settings: Settings,
     scenarios: Vec<Scenario>
 ) -> Result<NPResult>where
     S: Predict<'static> + Sync + Send + 'static + Clone,
Expand description

Alternative entrypoint, primarily meant for third-party libraries or APIs

diff --git a/npcore/entrypoints/index.html b/npcore/entrypoints/index.html index 988482d14..5a025708d 100644 --- a/npcore/entrypoints/index.html +++ b/npcore/entrypoints/index.html @@ -1 +1 @@ -npcore::entrypoints - Rust

Module npcore::entrypoints

source ·

Functions

  • Simulate predictions from a model and prior distribution
  • Primary entrypoint for NPcore
  • Alternative entrypoint, primarily meant for third-party libraries or APIs
\ No newline at end of file +npcore::entrypoints - Rust

Module npcore::entrypoints

source ·

Functions

  • Simulate predictions from a model and prior distribution
  • Primary entrypoint for NPcore
  • Alternative entrypoint, primarily meant for third-party libraries or APIs
\ No newline at end of file diff --git a/npcore/index.html b/npcore/index.html index 7fd44597d..f7082a0a0 100644 --- a/npcore/index.html +++ b/npcore/index.html @@ -1,3 +1,3 @@ npcore - Rust

Crate npcore

source ·
Expand description

NPcore is a framework for developing and running non-parametric algorithms for population pharmacokinetic modelling

+
  • All Items
  • Crate npcore

    source ·
    Expand description

    NPcore is a framework for developing and running non-parametric algorithms for population pharmacokinetic modelling

    Modules

    \ No newline at end of file diff --git a/npcore/logger/fn.setup_log.html b/npcore/logger/fn.setup_log.html index a4aebd5eb..1c7e40164 100644 --- a/npcore/logger/fn.setup_log.html +++ b/npcore/logger/fn.setup_log.html @@ -1,4 +1,4 @@ -setup_log in npcore::logger - Rust

    Function npcore::logger::setup_log

    source ·
    pub fn setup_log(settings: &Settings, ui_tx: UnboundedSender<Comm>)
    Expand description

    Setup logging for the library

    +setup_log in npcore::logger - Rust

    Function npcore::logger::setup_log

    source ·
    pub fn setup_log(settings: &Settings, ui_tx: UnboundedSender<Comm>)
    Expand description

    Setup logging for the library

    This function sets up logging for the library. It uses the tracing crate, and the tracing-subscriber crate for formatting.

    The log level is defined in the configuration file, and defaults to INFO.

    If log_out is specifified in teh configuration file, a log file is created with the specified name.

    diff --git a/npcore/logger/index.html b/npcore/logger/index.html index 4af1550dc..4a9554c56 100644 --- a/npcore/logger/index.html +++ b/npcore/logger/index.html @@ -1 +1 @@ -npcore::logger - Rust

    Module npcore::logger

    source ·

    Functions

    \ No newline at end of file +npcore::logger - Rust

    Module npcore::logger

    source ·

    Functions

    \ No newline at end of file diff --git a/npcore/prelude/index.html b/npcore/prelude/index.html index dcc0fb601..f6e221652 100644 --- a/npcore/prelude/index.html +++ b/npcore/prelude/index.html @@ -1 +1 @@ -npcore::prelude - Rust

    Module npcore::prelude

    source ·

    Re-exports

    \ No newline at end of file +npcore::prelude - Rust

    Module npcore::prelude

    source ·

    Re-exports

    \ No newline at end of file diff --git a/npcore/routines/evaluation/index.html b/npcore/routines/evaluation/index.html index 49e2535aa..9c570cfc7 100644 --- a/npcore/routines/evaluation/index.html +++ b/npcore/routines/evaluation/index.html @@ -1 +1 @@ -npcore::routines::evaluation - Rust
    \ No newline at end of file +npcore::routines::evaluation - Rust
    \ No newline at end of file diff --git a/npcore/routines/evaluation/ipm/fn.burke.html b/npcore/routines/evaluation/ipm/fn.burke.html index 0e2250fe0..f5702c4b7 100644 --- a/npcore/routines/evaluation/ipm/fn.burke.html +++ b/npcore/routines/evaluation/ipm/fn.burke.html @@ -1,4 +1,4 @@ -burke in npcore::routines::evaluation::ipm - Rust

    Function npcore::routines::evaluation::ipm::burke

    source ·
    pub fn burke(
    +burke in npcore::routines::evaluation::ipm - Rust

    Function npcore::routines::evaluation::ipm::burke

    source ·
    pub fn burke(
         psi: &ArrayBase<OwnedRepr<f64>, Dim<[usize; 2]>>
     ) -> Result<(ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, f64), Box<dyn Error>>
    Expand description

    Apply the Burke’s Interior Point Method (IPM) to solve a specific optimization problem.

    The Burke’s IPM is an iterative optimization technique used for solving convex optimization diff --git a/npcore/routines/evaluation/ipm/index.html b/npcore/routines/evaluation/ipm/index.html index 0f962e200..508bfc270 100644 --- a/npcore/routines/evaluation/ipm/index.html +++ b/npcore/routines/evaluation/ipm/index.html @@ -1 +1 @@ -npcore::routines::evaluation::ipm - Rust

    Module npcore::routines::evaluation::ipm

    source ·

    Functions

    • Apply the Burke’s Interior Point Method (IPM) to solve a specific optimization problem.
    \ No newline at end of file +npcore::routines::evaluation::ipm - Rust

    Module npcore::routines::evaluation::ipm

    source ·

    Functions

    • Apply the Burke’s Interior Point Method (IPM) to solve a specific optimization problem.
    \ No newline at end of file diff --git a/npcore/routines/initialization/fn.sample_space.html b/npcore/routines/initialization/fn.sample_space.html index a8dea8975..fed9d524d 100644 --- a/npcore/routines/initialization/fn.sample_space.html +++ b/npcore/routines/initialization/fn.sample_space.html @@ -1,4 +1,4 @@ -sample_space in npcore::routines::initialization - Rust
    pub fn sample_space(
    -    settings: &Settings,
    +sample_space in npcore::routines::initialization - Rust
    pub fn sample_space(
    +    settings: &Settings,
         ranges: &Vec<(f64, f64)>
     ) -> Array2<f64>
    \ No newline at end of file diff --git a/npcore/routines/initialization/index.html b/npcore/routines/initialization/index.html index 3d6b019d5..1f8d965ee 100644 --- a/npcore/routines/initialization/index.html +++ b/npcore/routines/initialization/index.html @@ -1 +1 @@ -npcore::routines::initialization - Rust
    \ No newline at end of file +npcore::routines::initialization - Rust
    \ No newline at end of file diff --git a/npcore/routines/initialization/sobol/fn.generate.html b/npcore/routines/initialization/sobol/fn.generate.html index fec6be7e1..35dbbf4b5 100644 --- a/npcore/routines/initialization/sobol/fn.generate.html +++ b/npcore/routines/initialization/sobol/fn.generate.html @@ -1,7 +1,7 @@ generate in npcore::routines::initialization::sobol - Rust
    pub fn generate(
         n_points: usize,
         range_params: &Vec<(f64, f64)>,
    -    seed: u32
    +    seed: usize
     ) -> ArrayBase<OwnedRepr<f64>, Dim<[usize; 2]>>
    Expand description

    Generates a 2-dimensional array containing a Sobol sequence within the given ranges

    Returns

    A 2D array where each row is a point, and each column corresponds to a parameter.

    diff --git a/npcore/routines/output/fn.median.html b/npcore/routines/output/fn.median.html index 6d9741811..3aa6d19b1 100644 --- a/npcore/routines/output/fn.median.html +++ b/npcore/routines/output/fn.median.html @@ -1 +1 @@ -median in npcore::routines::output - Rust

    Function npcore::routines::output::median

    source ·
    pub fn median(data: Vec<f64>) -> f64
    \ No newline at end of file +median in npcore::routines::output - Rust

    Function npcore::routines::output::median

    source ·
    pub fn median(data: Vec<f64>) -> f64
    \ No newline at end of file diff --git a/npcore/routines/output/fn.population_mean_median.html b/npcore/routines/output/fn.population_mean_median.html index acd012b5e..fb66a4a61 100644 --- a/npcore/routines/output/fn.population_mean_median.html +++ b/npcore/routines/output/fn.population_mean_median.html @@ -1,4 +1,4 @@ -population_mean_median in npcore::routines::output - Rust
    pub fn population_mean_median(
    +population_mean_median in npcore::routines::output - Rust
    pub fn population_mean_median(
         theta: &Array2<f64>,
         w: &Array1<f64>
     ) -> (Array1<f64>, Array1<f64>)
    \ No newline at end of file diff --git a/npcore/routines/output/fn.posterior.html b/npcore/routines/output/fn.posterior.html index d51317a0e..5a806decf 100644 --- a/npcore/routines/output/fn.posterior.html +++ b/npcore/routines/output/fn.posterior.html @@ -1 +1 @@ -posterior in npcore::routines::output - Rust

    Function npcore::routines::output::posterior

    source ·
    pub fn posterior(psi: &Array2<f64>, w: &Array1<f64>) -> Array2<f64>
    \ No newline at end of file +posterior in npcore::routines::output - Rust

    Function npcore::routines::output::posterior

    source ·
    pub fn posterior(psi: &Array2<f64>, w: &Array1<f64>) -> Array2<f64>
    \ No newline at end of file diff --git a/npcore/routines/output/fn.posterior_mean_median.html b/npcore/routines/output/fn.posterior_mean_median.html index 11b56068c..5dcfb0fc0 100644 --- a/npcore/routines/output/fn.posterior_mean_median.html +++ b/npcore/routines/output/fn.posterior_mean_median.html @@ -1,4 +1,4 @@ -posterior_mean_median in npcore::routines::output - Rust
    pub fn posterior_mean_median(
    +posterior_mean_median in npcore::routines::output - Rust
    pub fn posterior_mean_median(
         theta: &Array2<f64>,
         psi: &Array2<f64>,
         w: &Array1<f64>
    diff --git a/npcore/routines/output/index.html b/npcore/routines/output/index.html
    index 57e642708..df6152678 100644
    --- a/npcore/routines/output/index.html
    +++ b/npcore/routines/output/index.html
    @@ -1,4 +1,4 @@
    -npcore::routines::output - Rust

    Module npcore::routines::output

    source ·

    Structs

    -

    Fields§

    §cycle: usize§objf: f64§gamlam: f64§theta: Array2<f64>§nspp: usize§delta_objf: f64

    Implementations§

    source§

    impl NPCycle

    source

    pub fn new() -> Self

    Trait Implementations§

    source§

    impl Clone for NPCycle

    source§

    fn clone(&self) -> NPCycle

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for NPCycle

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for NPCycle

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Fields§

    §cycle: usize§objf: f64§gamlam: f64§theta: Array2<f64>§nspp: usize§delta_objf: f64

    Implementations§

    source§

    impl NPCycle

    source

    pub fn new() -> Self

    Trait Implementations§

    source§

    impl Clone for NPCycle

    source§

    fn clone(&self) -> NPCycle

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for NPCycle

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for NPCycle

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/npcore/routines/output/struct.NPResult.html b/npcore/routines/output/struct.NPResult.html index 8d0539df1..8dc3625ab 100644 --- a/npcore/routines/output/struct.NPResult.html +++ b/npcore/routines/output/struct.NPResult.html @@ -7,10 +7,10 @@ pub cycles: usize, pub converged: bool, pub par_names: Vec<String>, - pub settings: Settings, + pub settings: Settings, }
    Expand description

    Defines the result objects from an NPAG run An NPResult contains the necessary information to generate predictions and summary statistics

    -

    Fields§

    §scenarios: Vec<Scenario>§theta: Array2<f64>§psi: Array2<f64>§w: Array1<f64>§objf: f64§cycles: usize§converged: bool§par_names: Vec<String>§settings: Settings

    Implementations§

    source§

    impl NPResult

    source

    pub fn new( +

    Fields§

    §scenarios: Vec<Scenario>§theta: Array2<f64>§psi: Array2<f64>§w: Array1<f64>§objf: f64§cycles: usize§converged: bool§par_names: Vec<String>§settings: Settings

    Implementations§

    source§

    impl NPResult

    source

    pub fn new( scenarios: Vec<Scenario>, theta: Array2<f64>, psi: Array2<f64>, @@ -18,20 +18,20 @@ objf: f64, cycles: usize, converged: bool, - settings: Settings + settings: Settings ) -> Self

    Create a new NPResult object

    -
    source

    pub fn write_outputs<'a, S>( +

    source

    pub fn write_outputs<'a, S>( &self, write: bool, engine: &Engine<S>, idelta: f64, tad: f64 )where - S: Predict<'static> + Sync + 'static + Clone + Send,

    source

    pub fn write_meta(&self)

    source

    pub fn write_theta(&self)

    Writes theta, which containts the population support points and their associated probabilities + S: Predict<'static> + Sync + 'static + Clone + Send,

    source

    pub fn write_meta(&self)

    source

    pub fn write_theta(&self)

    Writes theta, which containts the population support points and their associated probabilities Each row is one support point, the last column being probability

    -
    source

    pub fn write_posterior(&self)

    Writes the posterior support points for each individual

    -
    source

    pub fn write_obs(&self)

    Write the observations, which is the reformatted input data

    -
    source

    pub fn write_pred<'a, S>(&self, engine: &Engine<S>, idelta: f64, tad: f64)where +

    source

    pub fn write_posterior(&self)

    Writes the posterior support points for each individual

    +
    source

    pub fn write_obs(&self)

    Write the observations, which is the reformatted input data

    +
    source

    pub fn write_pred<'a, S>(&self, engine: &Engine<S>, idelta: f64, tad: f64)where S: Predict<'static> + Sync + Send + 'static + Clone,

    Writes the predictions

    Trait Implementations§

    source§

    impl Debug for NPResult

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere diff --git a/npcore/routines/settings/fn.read_settings.html b/npcore/routines/settings/fn.read_settings.html new file mode 100644 index 000000000..041d0fb99 --- /dev/null +++ b/npcore/routines/settings/fn.read_settings.html @@ -0,0 +1,4 @@ +read_settings in npcore::routines::settings - Rust
    pub fn read_settings(path: String) -> Result<Settings, ConfigError>
    Expand description

    Parses the settings from a TOML configuration file

    +

    This function parses the settings from a TOML configuration file. The settings are validated, and a copy of the settings is written to file.

    +

    Entries in the TOML file may be overridden by environment variables. The environment variables must be prefixed with NPCORE_, and the TOML entry must be in uppercase. For example, the TUI may be disabled by setting the environment variable NPCORE_TUI=false.

    +
    \ No newline at end of file diff --git a/npcore/routines/settings/fn.write_settings_to_file.html b/npcore/routines/settings/fn.write_settings_to_file.html new file mode 100644 index 000000000..b91bc1b8b --- /dev/null +++ b/npcore/routines/settings/fn.write_settings_to_file.html @@ -0,0 +1,3 @@ +write_settings_to_file in npcore::routines::settings - Rust
    pub fn write_settings_to_file(settings: &Settings) -> Result<(), Error>
    Expand description

    Writes a copy of the parsed settings to file

    +

    This function writes a copy of the parsed settings to file. The file is written to the current working directory, and is named settings.json.

    +
    \ No newline at end of file diff --git a/npcore/routines/settings/index.html b/npcore/routines/settings/index.html index 0a3b408bd..a274dc4be 100644 --- a/npcore/routines/settings/index.html +++ b/npcore/routines/settings/index.html @@ -1 +1 @@ -npcore::routines::settings - Rust
    \ No newline at end of file +npcore::routines::settings - Rust

    Module npcore::routines::settings

    source ·

    Structs

    • General configuration settings
    • Parameters which are held constant
    • Defines the error model and polynomial to be used
    • Parameters which are estimated, but fixed for the population
    • This struct contains the paths to the data, log and prior files.
    • Random parameters to be estimated
    • Contains all settings NPcore

    Functions

    \ No newline at end of file diff --git a/npcore/routines/settings/run/fn.read.html b/npcore/routines/settings/run/fn.read.html deleted file mode 100644 index aa1e35431..000000000 --- a/npcore/routines/settings/run/fn.read.html +++ /dev/null @@ -1,2 +0,0 @@ -read in npcore::routines::settings::run - Rust

    Function npcore::routines::settings::run::read

    source ·
    pub fn read(filename: String) -> Settings
    Expand description

    Read and parse settings from a TOML configuration file

    -
    \ No newline at end of file diff --git a/npcore/routines/settings/run/index.html b/npcore/routines/settings/run/index.html deleted file mode 100644 index 9cca86c2d..000000000 --- a/npcore/routines/settings/run/index.html +++ /dev/null @@ -1 +0,0 @@ -npcore::routines::settings::run - Rust

    Module npcore::routines::settings::run

    source ·

    Structs

    Functions

    • Read and parse settings from a TOML configuration file
    \ No newline at end of file diff --git a/npcore/routines/settings/run/sidebar-items.js b/npcore/routines/settings/run/sidebar-items.js deleted file mode 100644 index b3d41ba17..000000000 --- a/npcore/routines/settings/run/sidebar-items.js +++ /dev/null @@ -1 +0,0 @@ -window.SIDEBAR_ITEMS = {"fn":["read"],"struct":["Computed","Config","Error","Parsed","Paths","Range","Settings","Single"]}; \ No newline at end of file diff --git a/npcore/routines/settings/run/struct.Computed.html b/npcore/routines/settings/run/struct.Computed.html deleted file mode 100644 index 250b8aea0..000000000 --- a/npcore/routines/settings/run/struct.Computed.html +++ /dev/null @@ -1,28 +0,0 @@ -Computed in npcore::routines::settings::run - Rust
    pub struct Computed {
    -    pub random: Range,
    -    pub constant: Single,
    -    pub fixed: Single,
    -}

    Fields§

    §random: Range§constant: Single§fixed: Single

    Trait Implementations§

    source§

    impl Clone for Computed

    source§

    fn clone(&self) -> Computed

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Computed

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Computed

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    -
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an -Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    -

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<SS, SP> SupersetOf<SS> for SPwhere - SS: SubsetOf<SP>,

    §

    fn to_subset(&self) -> Option<SS>

    The inverse inclusion map: attempts to construct self from the equivalent element of its -superset. Read more
    §

    fn is_in_subset(&self) -> bool

    Checks if self is actually part of its subset T (and can be converted to it).
    §

    fn to_subset_unchecked(&self) -> SS

    Use with care! Same as self.to_subset but without any property checks. Always succeeds.
    §

    fn from_subset(element: &SS) -> SP

    The inclusion map: converts self to the equivalent element of its superset.
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    §

    impl<T> DeserializeOwnedAlias for Twhere - T: DeserializeOwned,

    §

    impl<T> SendAlias for T

    §

    impl<T> SendSyncUnwindSafe for Twhere - T: Send + Sync + UnwindSafe + ?Sized,

    §

    impl<T> SyncAlias for T

    \ No newline at end of file diff --git a/npcore/routines/settings/run/struct.Paths.html b/npcore/routines/settings/run/struct.Paths.html deleted file mode 100644 index 6ff7f5614..000000000 --- a/npcore/routines/settings/run/struct.Paths.html +++ /dev/null @@ -1,28 +0,0 @@ -Paths in npcore::routines::settings::run - Rust

    Struct npcore::routines::settings::run::Paths

    source ·
    pub struct Paths {
    -    pub data: String,
    -    pub log_out: String,
    -    pub prior_dist: Option<String>,
    -}

    Fields§

    §data: String§log_out: String§prior_dist: Option<String>

    Trait Implementations§

    source§

    impl Clone for Paths

    source§

    fn clone(&self) -> Paths

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Paths

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Paths

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Paths

    §

    impl Send for Paths

    §

    impl Sync for Paths

    §

    impl Unpin for Paths

    §

    impl UnwindSafe for Paths

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    -
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an -Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    -

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<SS, SP> SupersetOf<SS> for SPwhere - SS: SubsetOf<SP>,

    §

    fn to_subset(&self) -> Option<SS>

    The inverse inclusion map: attempts to construct self from the equivalent element of its -superset. Read more
    §

    fn is_in_subset(&self) -> bool

    Checks if self is actually part of its subset T (and can be converted to it).
    §

    fn to_subset_unchecked(&self) -> SS

    Use with care! Same as self.to_subset but without any property checks. Always succeeds.
    §

    fn from_subset(element: &SS) -> SP

    The inclusion map: converts self to the equivalent element of its superset.
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    §

    impl<T> DeserializeOwnedAlias for Twhere - T: DeserializeOwned,

    §

    impl<T> SendAlias for T

    §

    impl<T> SendSyncUnwindSafe for Twhere - T: Send + Sync + UnwindSafe + ?Sized,

    §

    impl<T> SyncAlias for T

    \ No newline at end of file diff --git a/npcore/routines/settings/run/struct.Single.html b/npcore/routines/settings/run/struct.Single.html deleted file mode 100644 index feb92bfbe..000000000 --- a/npcore/routines/settings/run/struct.Single.html +++ /dev/null @@ -1,27 +0,0 @@ -Single in npcore::routines::settings::run - Rust
    pub struct Single {
    -    pub names: Vec<String>,
    -    pub values: Vec<f64>,
    -}

    Fields§

    §names: Vec<String>§values: Vec<f64>

    Trait Implementations§

    source§

    impl Clone for Single

    source§

    fn clone(&self) -> Single

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Single

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Single

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    -
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an -Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    -

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<SS, SP> SupersetOf<SS> for SPwhere - SS: SubsetOf<SP>,

    §

    fn to_subset(&self) -> Option<SS>

    The inverse inclusion map: attempts to construct self from the equivalent element of its -superset. Read more
    §

    fn is_in_subset(&self) -> bool

    Checks if self is actually part of its subset T (and can be converted to it).
    §

    fn to_subset_unchecked(&self) -> SS

    Use with care! Same as self.to_subset but without any property checks. Always succeeds.
    §

    fn from_subset(element: &SS) -> SP

    The inclusion map: converts self to the equivalent element of its superset.
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    §

    impl<T> DeserializeOwnedAlias for Twhere - T: DeserializeOwned,

    §

    impl<T> SendAlias for T

    §

    impl<T> SendSyncUnwindSafe for Twhere - T: Send + Sync + UnwindSafe + ?Sized,

    §

    impl<T> SyncAlias for T

    \ No newline at end of file diff --git a/npcore/routines/settings/sidebar-items.js b/npcore/routines/settings/sidebar-items.js index 241acde08..7c49d3c40 100644 --- a/npcore/routines/settings/sidebar-items.js +++ b/npcore/routines/settings/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"mod":["run","simulator"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":["read_settings","write_settings_to_file"],"struct":["Config","Constant","Error","Fixed","Paths","Random","Settings"]}; \ No newline at end of file diff --git a/npcore/routines/settings/simulator/fn.read.html b/npcore/routines/settings/simulator/fn.read.html deleted file mode 100644 index d4a534d52..000000000 --- a/npcore/routines/settings/simulator/fn.read.html +++ /dev/null @@ -1 +0,0 @@ -read in npcore::routines::settings::simulator - Rust
    pub fn read(filename: String) -> Settings
    \ No newline at end of file diff --git a/npcore/routines/settings/simulator/index.html b/npcore/routines/settings/simulator/index.html deleted file mode 100644 index 70cea8462..000000000 --- a/npcore/routines/settings/simulator/index.html +++ /dev/null @@ -1 +0,0 @@ -npcore::routines::settings::simulator - Rust
    \ No newline at end of file diff --git a/npcore/routines/settings/simulator/sidebar-items.js b/npcore/routines/settings/simulator/sidebar-items.js deleted file mode 100644 index ff3e73989..000000000 --- a/npcore/routines/settings/simulator/sidebar-items.js +++ /dev/null @@ -1 +0,0 @@ -window.SIDEBAR_ITEMS = {"fn":["read"],"struct":["Config","Paths","Settings"]}; \ No newline at end of file diff --git a/npcore/routines/settings/simulator/struct.Config.html b/npcore/routines/settings/simulator/struct.Config.html deleted file mode 100644 index d4afa86e6..000000000 --- a/npcore/routines/settings/simulator/struct.Config.html +++ /dev/null @@ -1,27 +0,0 @@ -Config in npcore::routines::settings::simulator - Rust
    pub struct Config {
    -    pub idelta: Option<f64>,
    -    pub tad: Option<f64>,
    -}

    Fields§

    §idelta: Option<f64>§tad: Option<f64>

    Trait Implementations§

    source§

    impl Clone for Config

    source§

    fn clone(&self) -> Config

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Config

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Config

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    -
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an -Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    -

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<SS, SP> SupersetOf<SS> for SPwhere - SS: SubsetOf<SP>,

    §

    fn to_subset(&self) -> Option<SS>

    The inverse inclusion map: attempts to construct self from the equivalent element of its -superset. Read more
    §

    fn is_in_subset(&self) -> bool

    Checks if self is actually part of its subset T (and can be converted to it).
    §

    fn to_subset_unchecked(&self) -> SS

    Use with care! Same as self.to_subset but without any property checks. Always succeeds.
    §

    fn from_subset(element: &SS) -> SP

    The inclusion map: converts self to the equivalent element of its superset.
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    §

    impl<T> DeserializeOwnedAlias for Twhere - T: DeserializeOwned,

    §

    impl<T> SendAlias for T

    §

    impl<T> SendSyncUnwindSafe for Twhere - T: Send + Sync + UnwindSafe + ?Sized,

    §

    impl<T> SyncAlias for T

    \ No newline at end of file diff --git a/npcore/routines/settings/simulator/struct.Paths.html b/npcore/routines/settings/simulator/struct.Paths.html deleted file mode 100644 index 03c46b44d..000000000 --- a/npcore/routines/settings/simulator/struct.Paths.html +++ /dev/null @@ -1,27 +0,0 @@ -Paths in npcore::routines::settings::simulator - Rust
    pub struct Paths {
    -    pub data: String,
    -    pub theta: String,
    -}

    Fields§

    §data: String§theta: String

    Trait Implementations§

    source§

    impl Clone for Paths

    source§

    fn clone(&self) -> Paths

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Paths

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Paths

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Paths

    §

    impl Send for Paths

    §

    impl Sync for Paths

    §

    impl Unpin for Paths

    §

    impl UnwindSafe for Paths

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    -
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an -Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    -

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<SS, SP> SupersetOf<SS> for SPwhere - SS: SubsetOf<SP>,

    §

    fn to_subset(&self) -> Option<SS>

    The inverse inclusion map: attempts to construct self from the equivalent element of its -superset. Read more
    §

    fn is_in_subset(&self) -> bool

    Checks if self is actually part of its subset T (and can be converted to it).
    §

    fn to_subset_unchecked(&self) -> SS

    Use with care! Same as self.to_subset but without any property checks. Always succeeds.
    §

    fn from_subset(element: &SS) -> SP

    The inclusion map: converts self to the equivalent element of its superset.
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    §

    impl<T> DeserializeOwnedAlias for Twhere - T: DeserializeOwned,

    §

    impl<T> SendAlias for T

    §

    impl<T> SendSyncUnwindSafe for Twhere - T: Send + Sync + UnwindSafe + ?Sized,

    §

    impl<T> SyncAlias for T

    \ No newline at end of file diff --git a/npcore/routines/settings/simulator/struct.Settings.html b/npcore/routines/settings/simulator/struct.Settings.html deleted file mode 100644 index ecf8cafbe..000000000 --- a/npcore/routines/settings/simulator/struct.Settings.html +++ /dev/null @@ -1,27 +0,0 @@ -Settings in npcore::routines::settings::simulator - Rust
    pub struct Settings {
    -    pub paths: Paths,
    -    pub config: Config,
    -}

    Fields§

    §paths: Paths§config: Config

    Trait Implementations§

    source§

    impl Clone for Settings

    source§

    fn clone(&self) -> Settings

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Settings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Settings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    -
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an -Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    -

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<SS, SP> SupersetOf<SS> for SPwhere - SS: SubsetOf<SP>,

    §

    fn to_subset(&self) -> Option<SS>

    The inverse inclusion map: attempts to construct self from the equivalent element of its -superset. Read more
    §

    fn is_in_subset(&self) -> bool

    Checks if self is actually part of its subset T (and can be converted to it).
    §

    fn to_subset_unchecked(&self) -> SS

    Use with care! Same as self.to_subset but without any property checks. Always succeeds.
    §

    fn from_subset(element: &SS) -> SP

    The inclusion map: converts self to the equivalent element of its superset.
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    §

    impl<T> DeserializeOwnedAlias for Twhere - T: DeserializeOwned,

    §

    impl<T> SendAlias for T

    §

    impl<T> SendSyncUnwindSafe for Twhere - T: Send + Sync + UnwindSafe + ?Sized,

    §

    impl<T> SyncAlias for T

    \ No newline at end of file diff --git a/npcore/routines/settings/run/struct.Config.html b/npcore/routines/settings/struct.Config.html similarity index 55% rename from npcore/routines/settings/run/struct.Config.html rename to npcore/routines/settings/struct.Config.html index 3af49f0c4..ea7ef5f55 100644 --- a/npcore/routines/settings/run/struct.Config.html +++ b/npcore/routines/settings/struct.Config.html @@ -1,17 +1,19 @@ -Config in npcore::routines::settings::run - Rust
    pub struct Config {
    +Config in npcore::routines::settings - Rust
    pub struct Config {
         pub cycles: usize,
         pub engine: String,
    +    pub seed: usize,
         pub init_points: usize,
    -    pub seed: u32,
         pub tui: bool,
    -    pub pmetrics_outputs: Option<bool>,
    -    pub exclude: Option<Array>,
    -    pub cache: Option<bool>,
    -    pub idelta: Option<f64>,
    -    pub tad: Option<f64>,
    -    pub log_level: Option<String>,
    -}

    Fields§

    §cycles: usize§engine: String§init_points: usize§seed: u32§tui: bool§pmetrics_outputs: Option<bool>§exclude: Option<Array>§cache: Option<bool>§idelta: Option<f64>§tad: Option<f64>§log_level: Option<String>

    Trait Implementations§

    source§

    impl Clone for Config

    source§

    fn clone(&self) -> Config

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Config

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Config

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + pub output: bool, + pub cache: bool, + pub idelta: f64, + pub log_level: String, + pub exclude: Option<Vec<String>>, + pub tad: f64, +}

    Expand description

    General configuration settings

    +

    Fields§

    §cycles: usize§engine: String§seed: usize§init_points: usize§tui: bool§output: bool§cache: bool§idelta: f64§log_level: String§exclude: Option<Vec<String>>§tad: f64

    Trait Implementations§

    source§

    impl Clone for Config

    source§

    fn clone(&self) -> Config

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Config

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Config

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Config

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -33,4 +35,5 @@ [WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,

    §

    impl<T> DeserializeOwnedAlias for Twhere T: DeserializeOwned,

    §

    impl<T> SendAlias for T

    §

    impl<T> SendSyncUnwindSafe for Twhere - T: Send + Sync + UnwindSafe + ?Sized,

    §

    impl<T> SyncAlias for T

    \ No newline at end of file + T: Send + Sync + UnwindSafe + ?Sized,

    §

    impl<T> SerializeAlias for Twhere + T: Serialize,

    §

    impl<T> SyncAlias for T

    \ No newline at end of file diff --git a/npcore/routines/settings/run/struct.Range.html b/npcore/routines/settings/struct.Constant.html similarity index 61% rename from npcore/routines/settings/run/struct.Range.html rename to npcore/routines/settings/struct.Constant.html index 95a463a47..43fc2c6cb 100644 --- a/npcore/routines/settings/run/struct.Range.html +++ b/npcore/routines/settings/struct.Constant.html @@ -1,8 +1,9 @@ -Range in npcore::routines::settings::run - Rust

    Struct npcore::routines::settings::run::Range

    source ·
    pub struct Range {
    -    pub names: Vec<String>,
    -    pub ranges: Vec<(f64, f64)>,
    -}

    Fields§

    §names: Vec<String>§ranges: Vec<(f64, f64)>

    Trait Implementations§

    source§

    impl Clone for Range

    source§

    fn clone(&self) -> Range

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Range

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Range

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Range

    §

    impl Send for Range

    §

    impl Sync for Range

    §

    impl Unpin for Range

    §

    impl UnwindSafe for Range

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +Constant in npcore::routines::settings - Rust
    pub struct Constant {
    +    pub parameters: HashMap<String, f64>,
    +}
    Expand description

    Parameters which are held constant

    +

    Fields§

    §parameters: HashMap<String, f64>

    Trait Implementations§

    source§

    impl Clone for Constant

    source§

    fn clone(&self) -> Constant

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Constant

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Constant

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Constant

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -24,4 +25,5 @@ [WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,

    §

    impl<T> DeserializeOwnedAlias for Twhere T: DeserializeOwned,

    §

    impl<T> SendAlias for T

    §

    impl<T> SendSyncUnwindSafe for Twhere - T: Send + Sync + UnwindSafe + ?Sized,

    §

    impl<T> SyncAlias for T

    \ No newline at end of file + T: Send + Sync + UnwindSafe + ?Sized,

    §

    impl<T> SerializeAlias for Twhere + T: Serialize,

    §

    impl<T> SyncAlias for T

    \ No newline at end of file diff --git a/npcore/routines/settings/run/struct.Error.html b/npcore/routines/settings/struct.Error.html similarity index 61% rename from npcore/routines/settings/run/struct.Error.html rename to npcore/routines/settings/struct.Error.html index b55626089..3d99593c6 100644 --- a/npcore/routines/settings/run/struct.Error.html +++ b/npcore/routines/settings/struct.Error.html @@ -1,16 +1,11 @@ -Error in npcore::routines::settings::run - Rust

    Struct npcore::routines::settings::run::Error

    source ·
    pub struct Error {
    +Error in npcore::routines::settings - Rust

    Struct npcore::routines::settings::Error

    source ·
    pub struct Error {
         pub value: f64,
         pub class: String,
         pub poly: (f64, f64, f64, f64),
    -}
    Expand description

    The Error struct is used to specify the error model

    -
      -
    • value: the value of the error
    • -
    • class: the class of the error, can be either additive or proportional
    • -
    • poly: the polynomial coefficients of the error model
    • -
    -

    For more information see routines::evaluation::sigma

    -

    Fields§

    §value: f64§class: String§poly: (f64, f64, f64, f64)

    Trait Implementations§

    source§

    impl Clone for Error

    source§

    fn clone(&self) -> Error

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Error

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Error

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Error

    §

    impl Send for Error

    §

    impl Sync for Error

    §

    impl Unpin for Error

    §

    impl UnwindSafe for Error

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +}

    Expand description

    Defines the error model and polynomial to be used

    +

    Fields§

    §value: f64§class: String§poly: (f64, f64, f64, f64)

    Implementations§

    Trait Implementations§

    source§

    impl Clone for Error

    source§

    fn clone(&self) -> Error

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Error

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Error

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Error

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Error

    §

    impl Send for Error

    §

    impl Sync for Error

    §

    impl Unpin for Error

    §

    impl UnwindSafe for Error

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -32,4 +27,5 @@ [WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,

    §

    impl<T> DeserializeOwnedAlias for Twhere T: DeserializeOwned,

    §

    impl<T> SendAlias for T

    §

    impl<T> SendSyncUnwindSafe for Twhere - T: Send + Sync + UnwindSafe + ?Sized,

    §

    impl<T> SyncAlias for T

    \ No newline at end of file + T: Send + Sync + UnwindSafe + ?Sized,
    §

    impl<T> SerializeAlias for Twhere + T: Serialize,

    §

    impl<T> SyncAlias for T

    \ No newline at end of file diff --git a/npcore/routines/settings/run/struct.Settings.html b/npcore/routines/settings/struct.Fixed.html similarity index 60% rename from npcore/routines/settings/run/struct.Settings.html rename to npcore/routines/settings/struct.Fixed.html index 347350e32..8b0d32e8d 100644 --- a/npcore/routines/settings/run/struct.Settings.html +++ b/npcore/routines/settings/struct.Fixed.html @@ -1,10 +1,9 @@ -Settings in npcore::routines::settings::run - Rust
    pub struct Settings {
    -    pub computed: Computed,
    -    pub parsed: Parsed,
    -}
    Expand description

    Settings used for algorithm execution

    -

    The user can specify the desired settings in a TOML configuration file, see routines::settings::run for details.

    -

    Fields§

    §computed: Computed§parsed: Parsed

    Trait Implementations§

    source§

    impl Clone for Settings

    source§

    fn clone(&self) -> Settings

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Settings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Settings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +Fixed in npcore::routines::settings - Rust

    Struct npcore::routines::settings::Fixed

    source ·
    pub struct Fixed {
    +    pub parameters: HashMap<String, f64>,
    +}
    Expand description

    Parameters which are estimated, but fixed for the population

    +

    Fields§

    §parameters: HashMap<String, f64>

    Trait Implementations§

    source§

    impl Clone for Fixed

    source§

    fn clone(&self) -> Fixed

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Fixed

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Fixed

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Fixed

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Fixed

    §

    impl Send for Fixed

    §

    impl Sync for Fixed

    §

    impl Unpin for Fixed

    §

    impl UnwindSafe for Fixed

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -26,4 +25,5 @@ [WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,

    §

    impl<T> DeserializeOwnedAlias for Twhere T: DeserializeOwned,

    §

    impl<T> SendAlias for T

    §

    impl<T> SendSyncUnwindSafe for Twhere - T: Send + Sync + UnwindSafe + ?Sized,

    §

    impl<T> SyncAlias for T

    \ No newline at end of file + T: Send + Sync + UnwindSafe + ?Sized,

    §

    impl<T> SerializeAlias for Twhere + T: Serialize,

    §

    impl<T> SyncAlias for T

    \ No newline at end of file diff --git a/npcore/routines/settings/run/struct.Parsed.html b/npcore/routines/settings/struct.Paths.html similarity index 58% rename from npcore/routines/settings/run/struct.Parsed.html rename to npcore/routines/settings/struct.Paths.html index 0eda1fdd5..6ad5c759f 100644 --- a/npcore/routines/settings/run/struct.Parsed.html +++ b/npcore/routines/settings/struct.Paths.html @@ -1,12 +1,14 @@ -Parsed in npcore::routines::settings::run - Rust
    pub struct Parsed {
    -    pub paths: Paths,
    -    pub config: Config,
    -    pub random: Table,
    -    pub fixed: Option<Table>,
    -    pub constant: Option<Table>,
    -    pub error: Error,
    -}

    Fields§

    §paths: Paths§config: Config§random: Table§fixed: Option<Table>§constant: Option<Table>§error: Error

    Trait Implementations§

    source§

    impl Clone for Parsed

    source§

    fn clone(&self) -> Parsed

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Parsed

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Parsed

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +Paths in npcore::routines::settings - Rust

    Struct npcore::routines::settings::Paths

    source ·
    pub struct Paths {
    +    pub data: String,
    +    pub log: Option<String>,
    +    pub prior: Option<String>,
    +}
    Expand description

    This struct contains the paths to the data, log and prior files.

    +

    Fields§

    §data: String

    Path to the data file, see datafile::parse for details.

    +
    §log: Option<String>

    If provided, the log file will be written to this path.

    +
    §prior: Option<String>

    If provided, NPcore will use this prior instead of a “uniform” prior, see sobol::generate for details.

    +

    Trait Implementations§

    source§

    impl Clone for Paths

    source§

    fn clone(&self) -> Paths

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Paths

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Paths

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Paths

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Paths

    §

    impl Send for Paths

    §

    impl Sync for Paths

    §

    impl Unpin for Paths

    §

    impl UnwindSafe for Paths

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -28,4 +30,5 @@ [WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,

    §

    impl<T> DeserializeOwnedAlias for Twhere T: DeserializeOwned,

    §

    impl<T> SendAlias for T

    §

    impl<T> SendSyncUnwindSafe for Twhere - T: Send + Sync + UnwindSafe + ?Sized,

    §

    impl<T> SyncAlias for T

    \ No newline at end of file + T: Send + Sync + UnwindSafe + ?Sized,

    §

    impl<T> SerializeAlias for Twhere + T: Serialize,

    §

    impl<T> SyncAlias for T

    \ No newline at end of file diff --git a/npcore/routines/settings/struct.Random.html b/npcore/routines/settings/struct.Random.html new file mode 100644 index 000000000..2ba166a0f --- /dev/null +++ b/npcore/routines/settings/struct.Random.html @@ -0,0 +1,38 @@ +Random in npcore::routines::settings - Rust
    pub struct Random {
    +    pub parameters: HashMap<String, (f64, f64)>,
    +}
    Expand description

    Random parameters to be estimated

    +

    This struct contains the random parameters to be estimated. The parameters are specified as a hashmap, where the key is the name of the parameter, and the value is a tuple containing the upper and lower bounds of the parameter.

    +

    Example

    [random]
    +alpha = [0.0, 1.0]
    +beta = [0.0, 1.0]
    +

    Fields§

    §parameters: HashMap<String, (f64, f64)>

    Implementations§

    source§

    impl Random

    source

    pub fn get(&self, key: &str) -> Option<&(f64, f64)>

    Get the upper and lower bounds of a random parameter from its key

    +
    source

    pub fn names_and_ranges(&self) -> Vec<(String, (f64, f64))>

    Returns a vector of tuples containing the names and ranges of the random parameters

    +
    source

    pub fn names(&self) -> Vec<String>

    Returns a vector of the names of the random parameters

    +
    source

    pub fn ranges(&self) -> Vec<(f64, f64)>

    Returns a vector of the upper and lower bounds of the random parameters

    +
    source

    pub fn validate(&self) -> Result<(), String>

    Validate the boundaries of the random parameters

    +

    Trait Implementations§

    source§

    impl Clone for Random

    source§

    fn clone(&self) -> Random

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Random

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Random

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Random

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<SS, SP> SupersetOf<SS> for SPwhere + SS: SubsetOf<SP>,

    §

    fn to_subset(&self) -> Option<SS>

    The inverse inclusion map: attempts to construct self from the equivalent element of its +superset. Read more
    §

    fn is_in_subset(&self) -> bool

    Checks if self is actually part of its subset T (and can be converted to it).
    §

    fn to_subset_unchecked(&self) -> SS

    Use with care! Same as self.to_subset but without any property checks. Always succeeds.
    §

    fn from_subset(element: &SS) -> SP

    The inclusion map: converts self to the equivalent element of its superset.
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere + T: for<'de> Deserialize<'de>,

    §

    impl<T> DeserializeOwnedAlias for Twhere + T: DeserializeOwned,

    §

    impl<T> SendAlias for T

    §

    impl<T> SendSyncUnwindSafe for Twhere + T: Send + Sync + UnwindSafe + ?Sized,

    §

    impl<T> SerializeAlias for Twhere + T: Serialize,

    §

    impl<T> SyncAlias for T

    \ No newline at end of file diff --git a/npcore/routines/settings/struct.Settings.html b/npcore/routines/settings/struct.Settings.html new file mode 100644 index 000000000..174442e96 --- /dev/null +++ b/npcore/routines/settings/struct.Settings.html @@ -0,0 +1,34 @@ +Settings in npcore::routines::settings - Rust
    pub struct Settings {
    +    pub paths: Paths,
    +    pub config: Config,
    +    pub random: Random,
    +    pub fixed: Option<Fixed>,
    +    pub constant: Option<Constant>,
    +    pub error: Error,
    +}
    Expand description

    Contains all settings NPcore

    +

    Fields§

    §paths: Paths§config: Config§random: Random§fixed: Option<Fixed>§constant: Option<Constant>§error: Error

    Trait Implementations§

    source§

    impl Clone for Settings

    source§

    fn clone(&self) -> Settings

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Settings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Settings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Settings

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<SS, SP> SupersetOf<SS> for SPwhere + SS: SubsetOf<SP>,

    §

    fn to_subset(&self) -> Option<SS>

    The inverse inclusion map: attempts to construct self from the equivalent element of its +superset. Read more
    §

    fn is_in_subset(&self) -> bool

    Checks if self is actually part of its subset T (and can be converted to it).
    §

    fn to_subset_unchecked(&self) -> SS

    Use with care! Same as self.to_subset but without any property checks. Always succeeds.
    §

    fn from_subset(element: &SS) -> SP

    The inclusion map: converts self to the equivalent element of its superset.
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere + T: for<'de> Deserialize<'de>,

    §

    impl<T> DeserializeOwnedAlias for Twhere + T: DeserializeOwned,

    §

    impl<T> SendAlias for T

    §

    impl<T> SendSyncUnwindSafe for Twhere + T: Send + Sync + UnwindSafe + ?Sized,

    §

    impl<T> SerializeAlias for Twhere + T: Serialize,

    §

    impl<T> SyncAlias for T

    \ No newline at end of file diff --git a/npcore/routines/simulation/index.html b/npcore/routines/simulation/index.html index 93a0a2a92..9df06a2c4 100644 --- a/npcore/routines/simulation/index.html +++ b/npcore/routines/simulation/index.html @@ -1 +1 @@ -npcore::routines::simulation - Rust
    \ No newline at end of file +npcore::routines::simulation - Rust
    \ No newline at end of file diff --git a/npcore/tui/actions/enum.Action.html b/npcore/tui/actions/enum.Action.html index bc0765822..a6676a0bc 100644 --- a/npcore/tui/actions/enum.Action.html +++ b/npcore/tui/actions/enum.Action.html @@ -1,4 +1,4 @@ -Action in npcore::tui::actions - Rust
    §

    impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + K: Borrow<Q> + ?Sized,
    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere diff --git a/npcore/tui/components/fn.draw_commands.html b/npcore/tui/components/fn.draw_commands.html index b115cb7bb..71fd8c5f4 100644 --- a/npcore/tui/components/fn.draw_commands.html +++ b/npcore/tui/components/fn.draw_commands.html @@ -1 +1 @@ -draw_commands in npcore::tui::components - Rust
    pub fn draw_commands(app: &App) -> Table<'_>
    \ No newline at end of file +draw_commands in npcore::tui::components - Rust
    pub fn draw_commands(app: &App) -> Table<'_>
    \ No newline at end of file diff --git a/npcore/tui/components/fn.draw_logs.html b/npcore/tui/components/fn.draw_logs.html index bd4730d08..5f18d10e2 100644 --- a/npcore/tui/components/fn.draw_logs.html +++ b/npcore/tui/components/fn.draw_logs.html @@ -1 +1 @@ -draw_logs in npcore::tui::components - Rust

    Function npcore::tui::components::draw_logs

    source ·
    pub fn draw_logs<'a>(log_history: &'a Vec<String>, height: u16) -> Paragraph<'a>
    \ No newline at end of file +draw_logs in npcore::tui::components - Rust

    Function npcore::tui::components::draw_logs

    source ·
    pub fn draw_logs<'a>(log_history: &'a Vec<String>, height: u16) -> Paragraph<'a>
    \ No newline at end of file diff --git a/npcore/tui/components/fn.draw_options.html b/npcore/tui/components/fn.draw_options.html index e1547ea3c..b01384986 100644 --- a/npcore/tui/components/fn.draw_options.html +++ b/npcore/tui/components/fn.draw_options.html @@ -1 +1 @@ -draw_options in npcore::tui::components - Rust
    pub fn draw_options<'a>(settings: &Settings) -> Table<'a>
    \ No newline at end of file +draw_options in npcore::tui::components - Rust
    pub fn draw_options<'a>(settings: &Settings) -> Table<'a>
    \ No newline at end of file diff --git a/npcore/tui/components/fn.draw_parameter_bounds.html b/npcore/tui/components/fn.draw_parameter_bounds.html deleted file mode 100644 index ffc23a827..000000000 --- a/npcore/tui/components/fn.draw_parameter_bounds.html +++ /dev/null @@ -1 +0,0 @@ -draw_parameter_bounds in npcore::tui::components - Rust
    pub fn draw_parameter_bounds(settings: &Settings) -> Table<'_>
    \ No newline at end of file diff --git a/npcore/tui/components/fn.draw_plot.html b/npcore/tui/components/fn.draw_plot.html index e30cfb164..40de8e529 100644 --- a/npcore/tui/components/fn.draw_plot.html +++ b/npcore/tui/components/fn.draw_plot.html @@ -1 +1 @@ -draw_plot in npcore::tui::components - Rust

    Function npcore::tui::components::draw_plot

    source ·
    pub fn draw_plot(norm_data: &mut [(f64, f64)]) -> Chart<'_>
    \ No newline at end of file +draw_plot in npcore::tui::components - Rust

    Function npcore::tui::components::draw_plot

    source ·
    pub fn draw_plot(norm_data: &mut [(f64, f64)]) -> Chart<'_>
    \ No newline at end of file diff --git a/npcore/tui/components/fn.draw_tabs.html b/npcore/tui/components/fn.draw_tabs.html index 288d8f056..672600f75 100644 --- a/npcore/tui/components/fn.draw_tabs.html +++ b/npcore/tui/components/fn.draw_tabs.html @@ -1 +1 @@ -draw_tabs in npcore::tui::components - Rust

    Function npcore::tui::components::draw_tabs

    source ·
    pub fn draw_tabs<'a>(app: &App) -> Tabs<'a>
    \ No newline at end of file +draw_tabs in npcore::tui::components - Rust

    Function npcore::tui::components::draw_tabs

    source ·
    pub fn draw_tabs<'a>(app: &App) -> Tabs<'a>
    \ No newline at end of file diff --git a/npcore/tui/components/index.html b/npcore/tui/components/index.html index 900929168..9c394cef1 100644 --- a/npcore/tui/components/index.html +++ b/npcore/tui/components/index.html @@ -1 +1 @@ -npcore::tui::components - Rust
    \ No newline at end of file +npcore::tui::components - Rust
    \ No newline at end of file diff --git a/npcore/tui/components/sidebar-items.js b/npcore/tui/components/sidebar-items.js index 88694a2b5..d1ce3d87c 100644 --- a/npcore/tui/components/sidebar-items.js +++ b/npcore/tui/components/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"fn":["draw_commands","draw_logs","draw_options","draw_parameter_bounds","draw_plot","draw_status","draw_tabs","draw_title"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":["draw_commands","draw_logs","draw_options","draw_plot","draw_status","draw_tabs","draw_title"]}; \ No newline at end of file diff --git a/npcore/tui/enum.AppReturn.html b/npcore/tui/enum.AppReturn.html index 7f3da17ea..d6a96746e 100644 --- a/npcore/tui/enum.AppReturn.html +++ b/npcore/tui/enum.AppReturn.html @@ -1,4 +1,4 @@ -AppReturn in npcore::tui - Rust

    Enum npcore::tui::AppReturn

    source ·
    pub enum AppReturn {
    +AppReturn in npcore::tui - Rust

    Enum npcore::tui::AppReturn

    source ·
    pub enum AppReturn {
         Exit,
         Continue,
     }

    Variants§

    §

    Exit

    §

    Continue

    Trait Implementations§

    source§

    impl Debug for AppReturn

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl PartialEq for AppReturn

    source§

    fn eq(&self, other: &AppReturn) -> bool

    This method tests for self and other values to be equal, and is used @@ -10,9 +10,7 @@ Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + K: Borrow<Q> + ?Sized,
    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere diff --git a/npcore/tui/inputs/key/enum.Key.html b/npcore/tui/inputs/key/enum.Key.html index b31f3ac44..dc7ca2799 100644 --- a/npcore/tui/inputs/key/enum.Key.html +++ b/npcore/tui/inputs/key/enum.Key.html @@ -1,4 +1,4 @@ -Key in npcore::tui::inputs::key - Rust

    source§

    impl Copy for Key

    source§

    impl Eq for Key

    source§

    impl StructuralEq for Key

    source§

    impl StructuralPartialEq for Key

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Key

    §

    impl Send for Key

    §

    impl Sync for Key

    §

    impl Unpin for Key

    §

    impl UnwindSafe for Key

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Qwhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CallHasher for Twhere + T: Hash + ?Sized,

    §

    fn get_hash<H, B>(value: &H, build_hasher: &B) -> u64where + H: Hash + ?Sized, + B: BuildHasher,

    source§

    impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + K: Borrow<Q> + ?Sized,
    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere diff --git a/npcore/tui/ui/fn.draw.html b/npcore/tui/ui/fn.draw.html index d74d31aff..ebde0a085 100644 --- a/npcore/tui/ui/fn.draw.html +++ b/npcore/tui/ui/fn.draw.html @@ -1,8 +1,8 @@ -draw in npcore::tui::ui - Rust

    Function npcore::tui::ui::draw

    source ·
    pub fn draw(
    +draw in npcore::tui::ui - Rust

    Function npcore::tui::ui::draw

    source ·
    pub fn draw(
         rect: &mut Frame<'_>,
         app: &App,
         cycle_history: &CycleHistory,
         elapsed_time: Duration,
    -    settings: &Settings,
    +    settings: &Settings,
         log_history: &Vec<String>
     )
    \ No newline at end of file diff --git a/npcore/tui/ui/fn.initialize_panic_handler.html b/npcore/tui/ui/fn.initialize_panic_handler.html new file mode 100644 index 000000000..c3444d052 --- /dev/null +++ b/npcore/tui/ui/fn.initialize_panic_handler.html @@ -0,0 +1 @@ +initialize_panic_handler in npcore::tui::ui - Rust
    pub fn initialize_panic_handler()
    \ No newline at end of file diff --git a/npcore/tui/ui/fn.start_ui.html b/npcore/tui/ui/fn.start_ui.html index d0bab2af9..9981c73ab 100644 --- a/npcore/tui/ui/fn.start_ui.html +++ b/npcore/tui/ui/fn.start_ui.html @@ -1 +1 @@ -start_ui in npcore::tui::ui - Rust

    Function npcore::tui::ui::start_ui

    source ·
    pub fn start_ui(rx: UnboundedReceiver<Comm>, settings: Settings) -> Result<()>
    \ No newline at end of file +start_ui in npcore::tui::ui - Rust

    Function npcore::tui::ui::start_ui

    source ·
    pub fn start_ui(rx: UnboundedReceiver<Comm>, settings: Settings) -> Result<()>
    \ No newline at end of file diff --git a/npcore/tui/ui/index.html b/npcore/tui/ui/index.html index 47575e534..432b1e488 100644 --- a/npcore/tui/ui/index.html +++ b/npcore/tui/ui/index.html @@ -1,2 +1,2 @@ -npcore::tui::ui - Rust

    Module npcore::tui::ui

    source ·
    Expand description

    Defines the Terminal User Interface (TUI) for NPcore

    -

    Enums

    Functions

    \ No newline at end of file +npcore::tui::ui - Rust

    Module npcore::tui::ui

    source ·
    Expand description

    Defines the Terminal User Interface (TUI) for NPcore

    +

    Enums

    Functions

    \ No newline at end of file diff --git a/npcore/tui/ui/sidebar-items.js b/npcore/tui/ui/sidebar-items.js index 6a67602d7..2ac5329db 100644 --- a/npcore/tui/ui/sidebar-items.js +++ b/npcore/tui/ui/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":["Comm"],"fn":["draw","start_ui"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["Comm"],"fn":["draw","initialize_panic_handler","start_ui"]}; \ No newline at end of file diff --git a/search-index.js b/search-index.js index e263e680f..b51d9eae5 100644 --- a/search-index.js +++ b/search-index.js @@ -1,5 +1,5 @@ var searchIndex = JSON.parse('{\ -"npcore":{"doc":"NPcore is a framework for developing and running …","t":"AAAAAAIKFKFFFFCCCCCCCCCAAAAAAAAAAFDDDDDDMMMMMMLMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLMLLLLLLMMMMLLLLLLLLLLLLLLLLLLMMLLLLLLMLLLLLLLLLLLLLLMMMMFLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAAAAFFFFNDENILLLLMLLLLLLLLMLLLLLMLLLLLLKLLLLLLLLLLLLLLAFFAFAADLLLLLLLLLLLLLLLLLLLDDDDDLLLLLLLLLLLLMMMMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLFLLLLLMMMMFFFMLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLAADDDDDDDDLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLMLLLLLLLLLLLLLLLLMMMMMMMMMMMMFMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLMMLLLLLLLLDDDLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLMFMMLLLLLLLLLLLLLLLLLLLLLADDQIQKKKLLLLLLLLLLLLLLLLLLLLKLFLLKKLLLLLFLFFKLLLLLLLLLLLLLLDENNALLLLLALLLLLLLLLLLLLLLLLLLALLLLLALLLLLLLLLLLALLEDNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFFFFFFFNELLLLLALLLLLLALLLLLLDLLLLLLLLLLLLLLLLLLNNNNNNNNNNNNNNNNNNNNNNNNENNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLMLLLLLLLLLLLLLLLLLLENNNNNLLLLFLLLLLLFLLLLLL","n":["algorithms","entrypoints","logger","prelude","routines","tui","Algorithm","fit","initialize_algorithm","to_npresult","simulate","start","start_internal","setup_log","algorithms","condensation","logger","optimization","prob","sigma","simulate","start","start_internal","condensation","datafile","evaluation","expansion","initialization","optimization","output","settings","simulation","prune","prune","Block","CovLine","Dose","Event","Infusion","Scenario","_addl","_c0","_c1","_c2","_c3","_ii","add_event_interval","amount","amount","blocks","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp_by_id_then_time","compartment","compartment","covs","covs","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","dose","drop","drop","drop","drop","drop","drop","dur","dur","events","evid","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_subset","from_subset","from_subset","from_subset","from_subset","from_subset","id","id","init","init","init","init","init","init","input","interp","into","into","into","into","into","into","is_in_subset","is_in_subset","is_in_subset","is_in_subset","is_in_subset","is_in_subset","new","obs","obs_times","out","outeq","parse","reorder_with_lag","time","time","time","times","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_subset","to_subset","to_subset","to_subset","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","ipm","prob","qr","sigma","burke","calculate_psi","normal_likelihood","calculate_r","Add","ErrorPoly","ErrorType","Prop","Sigma","borrow","borrow","borrow_mut","borrow_mut","c","clone","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","e_type","fmt","from","from","from_subset","from_subset","gl","init","init","into","into","is_in_subset","is_in_subset","sigma","sigma","to_owned","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","adaptative_grid","adaptative_grid","sample_space","sobol","generate","d_optimizer","optim","SppOptimizer","borrow","borrow_mut","cost","deref","deref_mut","drop","from","from_subset","init","into","is_in_subset","new","optimize_point","to_subset","to_subset_unchecked","try_from","try_into","type_id","vzip","CycleLog","CycleWriter","MetaWriter","NPCycle","NPResult","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","converged","cycle","cycles","cycles","default","delta_objf","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","flush","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_subset","from_subset","from_subset","from_subset","from_subset","gamlam","init","init","init","init","init","into","into","into","into","into","is_in_subset","is_in_subset","is_in_subset","is_in_subset","is_in_subset","median","new","new","new","new","new","nspp","objf","objf","par_names","population_mean_median","posterior","posterior_mean_median","psi","push_and_write","scenarios","settings","theta","theta","to_owned","to_subset","to_subset","to_subset","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","w","write","write","write_meta","write_obs","write_outputs","write_posterior","write_pred","write_theta","run","simulator","Computed","Config","Error","Parsed","Paths","Range","Settings","Single","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cache","class","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","computed","config","constant","constant","cycles","data","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","drop","engine","error","exclude","fixed","fixed","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_subset","from_subset","from_subset","from_subset","from_subset","from_subset","from_subset","from_subset","idelta","init","init","init","init","init","init","init","init","init_points","into","into","into","into","into","into","into","into","is_in_subset","is_in_subset","is_in_subset","is_in_subset","is_in_subset","is_in_subset","is_in_subset","is_in_subset","log_level","log_out","names","names","parsed","paths","pmetrics_outputs","poly","prior_dist","random","random","ranges","read","seed","tad","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_subset","to_subset","to_subset","to_subset","to_subset","to_subset","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tui","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","value","values","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Config","Paths","Settings","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","config","data","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","drop","drop","drop","fmt","fmt","fmt","from","from","from","from_subset","from_subset","from_subset","idelta","init","init","init","into","into","into","is_in_subset","is_in_subset","is_in_subset","paths","read","tad","theta","to_owned","to_owned","to_owned","to_subset","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","predict","Engine","Model","Model","Predict","State","add_covs","add_dose","add_infusion","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","from_subset","from_subset","get_output","get_param","get_ypred","init","init","initial_state","initial_system","into","into","is_in_subset","is_in_subset","new","post_predictions","pred","sim_obs","simple_sim","state_step","to_owned","to_owned","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","App","AppReturn","Continue","Exit","actions","actions","borrow","borrow","borrow_mut","borrow_mut","components","deref","deref","deref_mut","deref_mut","do_action","drop","drop","eq","equivalent","equivalent","equivalent","equivalent","fmt","from","from","from_subset","from_subset","init","init","inputs","into","into","is_in_subset","is_in_subset","new","state","state","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_into","try_into","type_id","type_id","ui","vzip","vzip","Action","Actions","Next","Quit","Stop","actions","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","default","deref","deref","deref_mut","deref_mut","drop","drop","eq","equivalent","equivalent","equivalent","equivalent","find","fmt","fmt","fmt","from","from","from","from_subset","from_subset","init","init","into","into","is_in_subset","is_in_subset","iterator","keys","to_owned","to_owned","to_string","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","draw_commands","draw_logs","draw_options","draw_parameter_bounds","draw_plot","draw_status","draw_tabs","draw_title","Input","InputEvent","borrow","borrow_mut","deref","deref_mut","drop","events","fmt","from","from_subset","init","into","is_in_subset","key","to_subset","to_subset_unchecked","try_from","try_into","type_id","vzip","Events","borrow","borrow_mut","deref","deref_mut","drop","from","from_subset","init","into","is_in_subset","new","recv","to_subset","to_subset_unchecked","try_from","try_into","type_id","vzip","Alt","Backspace","Char","Ctrl","Delete","Down","End","Enter","Esc","F0","F1","F10","F11","F12","F2","F3","F4","F5","F6","F7","F8","F9","Home","Ins","Key","Left","PageDown","PageUp","Right","Tab","Unknown","Up","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","from_f","from_subset","hash","init","into","is_exit","is_in_subset","is_stop","to_owned","to_string","to_subset","to_subset_unchecked","try_from","try_into","type_id","vzip","CycleHistory","add_cycle","borrow","borrow_mut","clone","clone_into","cycles","default","deref","deref_mut","drop","fmt","from","from_subset","init","into","is_in_subset","new","to_owned","to_subset","to_subset_unchecked","try_from","try_into","type_id","vzip","Comm","LogMessage","Message","NPCycle","Stop","StopUI","borrow","borrow_mut","deref","deref_mut","draw","drop","from","from_subset","init","into","is_in_subset","start_ui","to_subset","to_subset_unchecked","try_from","try_into","type_id","vzip"],"q":[[0,"npcore"],[6,"npcore::algorithms"],[10,"npcore::entrypoints"],[13,"npcore::logger"],[14,"npcore::prelude"],[23,"npcore::routines"],[32,"npcore::routines::condensation"],[33,"npcore::routines::condensation::prune"],[34,"npcore::routines::datafile"],[195,"npcore::routines::evaluation"],[199,"npcore::routines::evaluation::ipm"],[200,"npcore::routines::evaluation::prob"],[202,"npcore::routines::evaluation::qr"],[203,"npcore::routines::evaluation::sigma"],[249,"npcore::routines::expansion"],[250,"npcore::routines::expansion::adaptative_grid"],[251,"npcore::routines::initialization"],[253,"npcore::routines::initialization::sobol"],[254,"npcore::routines::optimization"],[256,"npcore::routines::optimization::d_optimizer"],[276,"npcore::routines::output"],[405,"npcore::routines::settings"],[407,"npcore::routines::settings::run"],[616,"npcore::routines::settings::simulator"],[689,"npcore::routines::simulation"],[690,"npcore::routines::simulation::predict"],[749,"npcore::tui"],[800,"npcore::tui::actions"],[858,"npcore::tui::components"],[866,"npcore::tui::inputs"],[887,"npcore::tui::inputs::events"],[906,"npcore::tui::inputs::key"],[970,"npcore::tui::state"],[995,"npcore::tui::ui"],[1019,"alloc::vec"],[1020,"tokio::sync::mpsc::unbounded"],[1021,"alloc::boxed"],[1022,"core::marker"],[1023,"core::clone"],[1024,"alloc::string"],[1025,"eyre"],[1026,"core::marker"],[1027,"ndarray::aliases"],[1028,"core::fmt"],[1029,"core::fmt"],[1030,"core::result"],[1031,"core::option"],[1032,"core::any"],[1033,"ndarray::data_repr"],[1034,"ndarray::dimension::dim"],[1035,"ndarray"],[1036,"anyhow"],[1037,"serde::de"],[1038,"std::collections::hash::map"],[1039,"core::fmt"],[1040,"ratatui::widgets::table"],[1041,"ratatui::widgets::paragraph"],[1042,"ratatui::widgets::chart"],[1043,"core::time"],[1044,"ratatui::widgets::tabs"],[1045,"crossterm::event"],[1046,"core::hash"],[1047,"ratatui::terminal"],[1048,"tokio::sync::mpsc::unbounded"]],"d":["","","","","","","","","","","Simulate predictions from a model and prior distribution","Primary entrypoint for NPcore","Alternative entrypoint, primarily meant for third-party …","Setup logging for the library","","","","","","","","","","","","","","","","","","","","","","","","A Event represent a single row in the Datafile","","A Scenario is a collection of blocks that represent a …","","","","","","","Adds “mock” events to a Scenario in order to generate …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Apply the Burke’s Interior Point Method (IPM) to solve a …","Calculate the Ψ (psi) matrix, which contains the …","Calculate the normal likelihood","","","ErrorPoly contains the information on uncertainties in …","ErrorType defines the current error model","","Contains information on the observation error","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","","Estimates the standard deviation of the observation error …","","","","","","","","","","","","","","","","Adaptive grid algorithm for support point expansion","","","Generates a 2-dimensional array containing a Sobol …","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","Defines the result objects from a run An NPResult contains …","Defines the result objects from an NPAG run An NPResult …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","Create a new NPResult object","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Write the observations, which is the reformatted input data","","Writes the posterior support points for each individual","Writes the predictions","Writes theta, which containts the population support …","","","","","The Error struct is used to specify the error model","","","","Settings used for algorithm execution","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Read and parse settings from a TOML configuration file","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","return the predicted values for the given scenario and …","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","Simulate observations for multiple scenarios and support …","","","","","","","","","","","","","","","","","The main application, containing the state","","","","","","","","","","","","","","","Handle a user action","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","Defines the Terminal User Interface (TUI) for NPcore","","","We define all available action","The application should have some contextual actions.","","","","Get contextual actions. (just for building a help view)","","","","","","","","","","","","","","","","","","","","","Given a key, find the corresponding action","","","","Returns the argument unchanged.","Build contextual action","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","","","All available actions","List of key associated to action","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","A small event handler that wrap crossterm input and tick …","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","Constructs an new instance of Events with the default …","","","","","","","","","Backspace key","","","Delete key","Down arrow","End key","Both Enter (or Return) and numpad Enter","Escape key","F0 key","F1 key","F10 key","F11 key","F12 key","F2 key","F3 key","F4 key","F5 key","F6 key","F7 key","F8 key","F9 key","Home key","Insert key","Represents an key.","Left arrow","Page Down key","Page Up key","Right arrow","Tabulation key","","Up arrow","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the function key corresponding to the given number","","","","Calls U::from(self).","If exit","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","",""],"i":[0,0,0,0,0,0,0,8,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,25,25,25,25,25,4,21,22,4,4,21,22,23,24,25,4,21,22,23,24,25,4,21,22,23,24,25,4,21,22,23,24,25,25,21,22,24,25,4,21,22,23,24,25,4,21,22,23,24,25,25,4,21,22,23,24,25,21,25,24,25,4,21,22,23,24,25,4,21,22,23,24,25,4,21,22,23,24,25,4,25,4,21,22,23,24,25,25,23,4,21,22,23,24,25,4,21,22,23,24,25,4,4,4,25,25,0,4,21,22,25,4,4,21,22,23,24,25,4,21,22,23,24,25,4,21,22,23,24,25,4,21,22,23,24,25,4,21,22,23,24,25,4,21,22,23,24,25,4,21,22,23,24,25,0,0,0,0,0,0,0,0,40,0,0,40,0,41,40,41,40,41,40,40,41,40,41,40,41,40,41,40,41,40,41,40,41,41,40,41,40,41,40,39,41,40,41,40,41,40,41,40,41,40,41,40,41,40,0,0,0,0,0,0,0,0,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,0,0,0,0,0,1,47,45,46,48,1,47,45,46,48,45,45,1,45,1,47,45,45,1,47,45,46,48,1,47,45,46,48,1,47,45,46,48,46,1,47,45,46,48,1,47,45,46,48,1,47,45,46,48,45,1,47,45,46,48,1,47,45,46,48,1,47,45,46,48,0,1,47,45,46,48,45,1,45,1,0,0,0,1,47,1,1,1,45,45,1,47,45,46,48,1,47,45,46,48,1,47,45,46,48,1,47,45,46,48,1,47,45,46,48,1,47,45,46,48,1,46,48,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,3,50,51,52,53,54,55,56,3,50,51,52,53,54,55,56,56,51,3,50,51,52,53,54,55,56,3,50,51,52,53,54,55,56,3,54,50,54,56,55,3,50,51,52,53,54,55,56,3,50,51,52,53,54,55,56,3,50,51,52,53,54,55,56,3,50,51,52,53,54,55,56,56,54,56,50,54,3,50,51,52,53,54,55,56,3,50,51,52,53,54,55,56,3,50,51,52,53,54,55,56,56,3,50,51,52,53,54,55,56,56,3,50,51,52,53,54,55,56,3,50,51,52,53,54,55,56,56,55,52,53,3,54,56,51,55,50,54,52,0,56,56,3,50,51,52,53,54,55,56,3,50,51,52,53,54,55,56,3,50,51,52,53,54,55,56,3,50,51,52,53,54,55,56,3,50,51,52,53,54,55,56,56,3,50,51,52,53,54,55,56,51,53,3,50,51,52,53,54,55,56,0,0,0,58,59,60,58,59,60,58,59,60,58,59,60,58,59,58,59,60,58,59,60,58,59,60,58,59,60,58,59,60,58,59,60,58,59,60,60,58,59,60,58,59,60,58,59,60,58,0,60,59,58,59,60,58,59,60,58,59,60,58,59,60,58,59,60,58,59,60,58,59,60,0,0,0,10,0,10,10,10,10,62,2,62,2,62,2,62,2,62,2,62,2,62,2,62,2,62,2,62,2,10,62,0,62,2,10,10,62,2,62,2,2,0,2,0,0,10,62,2,62,2,62,2,62,2,62,2,62,2,62,2,0,0,67,67,0,64,64,67,64,67,0,64,67,64,67,64,64,67,67,67,67,67,67,67,64,67,64,67,64,67,0,64,67,64,67,64,0,64,64,67,64,67,64,67,64,67,64,67,0,64,67,0,0,68,68,68,65,68,65,68,65,68,65,68,65,65,68,65,68,65,68,65,68,68,68,68,68,65,68,68,65,68,65,65,68,65,68,65,68,65,68,65,68,68,68,65,68,68,65,68,65,68,65,68,65,68,65,68,65,0,0,0,0,0,0,0,0,76,0,76,76,76,76,76,0,76,76,76,76,76,76,0,76,76,76,76,76,76,0,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,0,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,0,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,0,6,6,6,6,6,6,6,6,6,0,6,6,6,6,6,6,0,6,6,6,6,6,6],"f":[0,0,0,0,0,0,0,[-1,1,[]],[[[2,[-1]],3,[5,[4]],[7,[6]]],[[9,[8]]],[10,11,12]],[-1,1,[]],[[[2,[-1]],13],[[15,[14]]],[10,11,16,12]],[[[2,[-1]],13],[[15,[1]]],[10,11,16,12]],[[[2,[-1]],3,[5,[4]]],[[15,[1]]],[10,11,16,12]],[[3,[7,[6]]],14],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[18,[17]],[19,[17]],[20,[[14,[17,17]]]],17],14],0,0,0,0,0,0,0,0,0,0,0,0,[[4,17,17],4],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[4,4],[21,21],[22,22],[23,23],[24,24],[25,25],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[25,25],26],0,0,0,0,[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],0,[27,14],[27,14],[27,14],[27,14],[27,14],[27,14],0,0,0,0,[[4,28],29],[[21,28],29],[[22,28],29],[[23,28],29],[[24,28],29],[[25,28],29],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],0,[[23,17],17],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[[[5,[25]]],[[32,[4,[9,[31]]]]]],0,0,0,0,[13,[[32,[[5,[4]],[9,[31]]]]]],[[4,[5,[[14,[17,27]]]]],4],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[[38,[[35,[17]],[37,[[36,[27]]]]]]],[[32,[[14,[[38,[[35,[17]],[37,[[36,[27]]]]]],17]],[9,[31]]]]]],[[[18,[[19,[17]]]],[5,[4]],-1],[[18,[17]]],[39,11]],[[[19,[17]],[19,[17]],[19,[17]]],17],[[[18,[17]]],[[14,[[18,[17]],[5,[27]]]]]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[40,40],[[-1,-2],14,[],[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,14],[27,14],0,[[40,28],29],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[],27],[[],27],[-1,-2,[],[]],[-1,-2,[],[]],[-1,30,[]],[-1,30,[]],[[-1,[19,[17]]],[[19,[17]]],[]],[[41,[19,[17]]],[[19,[17]]]],[-1,-2,[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[[18,[17]],17,[20,[[14,[17,17]]]],17],[[18,[17]]]],[[3,[5,[[14,[17,17]]]]],[[18,[17]]]],0,[[27,[5,[[14,[17,17]]]],42],[[38,[[35,[17]],[37,[[36,[27]]]]]]]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[[43,[-1,-2]]],[[32,[44]]],[39,11],[10,11,12]],[27,-1,[]],[27,-1,[]],[27,14],[-1,-1,[]],[-1,-2,[],[]],[[],27],[-1,-2,[],[]],[-1,30,[]],[[[2,[-1]],[5,[4]],-2,[19,[17]]],[[43,[-2,-1]]],[10,11,12],[39,11]],[[[43,[-1,-2]],[19,[17]]],[[32,[[19,[17]],44]]],[39,11],[10,11,12]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[45,45],[[-1,-2],14,[],[]],0,0,0,0,[[],45],0,[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,14],[27,14],[27,14],[27,14],[27,14],[46,14],[[1,28],29],[[47,28],29],[[45,28],29],[[46,28],29],[[48,28],29],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[],27],[[],27],[[],27],[[],27],[[],27],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[[[5,[17]]],17],[[[5,[4]],[18,[17]],[18,[17]],[19,[17]],17,27,30,3],1],[[[20,[13]]],47],[[],45],[[49,[5,[13]]],46],[[],48],0,0,0,0,[[[18,[17]],[19,[17]]],[[14,[[19,[17]],[19,[17]]]]]],[[[18,[17]],[19,[17]]],[[18,[17]]]],[[[18,[17]],[18,[17]],[19,[17]]],[[14,[[18,[17]],[18,[17]]]]]],0,[[47,45,30],14],0,0,0,0,[-1,-2,[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[46,27,17,17,[18,[17]]],14],[[48,30,27],14],[1,14],[1,14],[[1,30,[2,[-1]],17,17],14,[10,11,12,16]],[1,14],[[1,[2,[-1]],17,17],14,[10,11,16,12]],[1,14],0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[3,3],[50,50],[51,51],[52,52],[53,53],[54,54],[55,55],[56,56],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],0,0,0,0,0,0,[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[-1,[[32,[3]]],57],[-1,[[32,[50]]],57],[-1,[[32,[51]]],57],[-1,[[32,[52]]],57],[-1,[[32,[53]]],57],[-1,[[32,[54]]],57],[-1,[[32,[55]]],57],[-1,[[32,[56]]],57],[27,14],[27,14],[27,14],[27,14],[27,14],[27,14],[27,14],[27,14],0,0,0,0,0,[[3,28],29],[[50,28],29],[[51,28],29],[[52,28],29],[[53,28],29],[[54,28],29],[[55,28],29],[[56,28],29],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],0,0,0,0,0,0,0,0,0,0,0,0,[13,3],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],0,[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[58,58],[59,59],[60,60],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],0,0,[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[-1,[[32,[58]]],57],[-1,[[32,[59]]],57],[-1,[[32,[60]]],57],[27,14],[27,14],[27,14],[[58,28],29],[[59,28],29],[[60,28],29],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[],27],[[],27],[[],27],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],0,[13,58],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[[-1,[33,[[61,[13,23]]]]],14,[]],[[-1,17,27],14,[]],[[-1,21],14,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[62,62],[[[2,[-1]]],[[2,[-1]]],[10,12,12]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,14],[27,14],[[62,28],29],[[[2,[-1]],28],29,[10,12,63]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,17,27],17,[]],[[62,49],17],[[[2,[-1]],4,[5,[17]],27,30],[[19,[17]]],[10,11,12]],[[],27],[[],27],[-1,[],[]],[[-1,[5,[17]],4],[[14,[4]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,30,[]],[-1,30,[]],[-1,[[2,[-1]]],[10,12]],[[[2,[-1]],[18,[17]],[5,[4]]],[[32,[[19,[[5,[17]]]],[9,[31]]]]],[10,11,12]],[[[2,[-1]],4,[5,[17]]],[[5,[17]]],[10,12]],[[[2,[-1]],[5,[4]],[18,[17]],30],[[18,[[19,[17]]]]],[10,11,12]],[[[2,[-1]],4,[19,[17]]],[[5,[17]]],[10,11,12]],[[-1,17,17],14,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[64,65],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[[64,66],67],[27,14],[27,14],[[67,67],30],[[-1,-2],30,[],[]],[[-1,-2],30,[],[]],[[-1,-2],30,[],[]],[[-1,-2],30,[],[]],[[67,28],29],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],27],[[],27],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,30,[]],[-1,30,[]],[[],64],0,[64,45],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[65,[[20,[68]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[68,68],[65,65],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[],65],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,14],[27,14],[[68,68],30],[[-1,-2],30,[],[]],[[-1,-2],30,[],[]],[[-1,-2],30,[],[]],[[-1,-2],30,[],[]],[[65,66],[[33,[68]]]],[[68,28],29],[[68,28],29],[[65,28],29],[-1,-1,[]],[[[5,[68]]],65],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],27],[[],27],[-1,-2,[],[]],[-1,-2,[],[]],[-1,30,[]],[-1,30,[]],[[],[[69,[68]]]],[68,[[20,[66]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,13,[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],[-1,-2,[],[]],[-1,-2,[],[]],[64,70],[[[5,[13]],71],72],[3,70],[3,70],[[[20,[[14,[17,17]]]]],73],[[64,74],70],[64,75],[[],72],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[27,-1,[]],[27,-1,[]],[27,14],0,[[76,28],29],[-1,-1,[]],[-1,-2,[],[]],[[],27],[-1,-2,[],[]],[-1,30,[]],0,[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[27,-1,[]],[27,-1,[]],[27,14],[-1,-1,[]],[-1,-2,[],[]],[[],27],[-1,-2,[],[]],[-1,30,[]],[74,77],[77,[[33,[76]]]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[66,66],[[-1,-2],14,[],[]],[27,-1,[]],[27,-1,[]],[27,14],[[66,66],30],[[-1,-2],30,[],[]],[[-1,-2],30,[],[]],[[-1,-2],30,[],[]],[[-1,-2],30,[],[]],[[66,28],29],[[66,28],29],[-1,-1,[]],[78,66],[79,66],[-1,-2,[],[]],[[66,-1],14,80],[[],27],[-1,-2,[],[]],[66,30],[-1,30,[]],[66,30],[-1,-2,[],[]],[-1,13,[]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,-2,[],[]],0,[[81,45],14],[-1,-2,[],[]],[-1,-2,[],[]],[81,81],[[-1,-2],14,[],[]],0,[[],81],[27,-1,[]],[27,-1,[]],[27,14],[[81,28],29],[-1,-1,[]],[-1,-2,[],[]],[[],27],[-1,-2,[],[]],[-1,30,[]],[[],81],[-1,-2,[],[]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,-2,[],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[27,-1,[]],[27,-1,[]],[[82,64,81,74,3,[5,[13]]],14],[27,14],[-1,-1,[]],[-1,-2,[],[]],[[],27],[-1,-2,[],[]],[-1,30,[]],[[[83,[6]],3],[[15,[14]]]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,-2,[],[]]],"c":[],"p":[[3,"NPResult",276],[3,"Engine",690],[3,"Settings",407],[3,"Scenario",34],[3,"Vec",1019],[4,"Comm",995],[3,"UnboundedSender",1020],[8,"Algorithm",6],[3,"Box",1021],[8,"Predict",690],[8,"Sync",1022],[8,"Clone",1023],[3,"String",1024],[15,"tuple"],[6,"Result",1025],[8,"Send",1022],[15,"f64"],[6,"Array2",1026],[6,"Array1",1026],[15,"slice"],[3,"Infusion",34],[3,"Dose",34],[3,"CovLine",34],[3,"Block",34],[3,"Event",34],[4,"Ordering",1027],[15,"usize"],[3,"Formatter",1028],[6,"Result",1028],[15,"bool"],[8,"Error",1029],[4,"Result",1030],[4,"Option",1031],[3,"TypeId",1032],[3,"OwnedRepr",1033],[15,"array"],[3,"Dim",1034],[3,"ArrayBase",1035],[8,"Sigma",203],[4,"ErrorType",203],[3,"ErrorPoly",203],[15,"u32"],[3,"SppOptimizer",256],[3,"Error",1036],[3,"NPCycle",276],[3,"CycleWriter",276],[3,"CycleLog",276],[3,"MetaWriter",276],[15,"str"],[3,"Computed",407],[3,"Error",407],[3,"Range",407],[3,"Single",407],[3,"Parsed",407],[3,"Paths",407],[3,"Config",407],[8,"Deserializer",1037],[3,"Settings",616],[3,"Paths",616],[3,"Config",616],[3,"HashMap",1038],[3,"Model",690],[8,"Debug",1028],[3,"App",749],[3,"Actions",800],[4,"Key",906],[4,"AppReturn",749],[4,"Action",800],[3,"Iter",1039],[3,"Table",1040],[15,"u16"],[3,"Paragraph",1041],[3,"Chart",1042],[3,"Duration",1043],[3,"Tabs",1044],[4,"InputEvent",866],[3,"Events",887],[3,"KeyEvent",1045],[15,"u8"],[8,"Hasher",1046],[3,"CycleHistory",970],[3,"Frame",1047],[3,"UnboundedReceiver",1020]],"b":[[827,"impl-Debug-for-Action"],[828,"impl-Display-for-Action"],[950,"impl-Display-for-Key"],[951,"impl-Debug-for-Key"]]}\ +"npcore":{"doc":"NPcore is a framework for developing and running …","t":"AAAAAAIKFKFFFFCCCCCCCCCAAAAAAAAAAFDDDDDDMMMMMMLMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLMLLLLLLMMMMLLLLLLLLLLLLLLLLLLMMLLLLLLMLLLLLLLLLLLLLLMMMMFLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAAAAFFFFNDENILLLLMLLLLLLLLMLLLLLMLLLLLLKLLLLLLLLLLLLLLAFFAFAADLLLLLLLLLLLLLLLLLLLDDDDDLLLLLLLLLLLLMMMMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLFLLLLLMMMMFFFMLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLDDDDDDDLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLMLLLLLLLLLLLLLLMMLLMMMMMMMMLFMLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLMLLLLLLLFADDQIQKKKLLLLLLLLLLLLLLLLLLLLKLFLLKKLLLLLFLFFKLLLLLLLLLLLLLLDENNALLLLLALLLLLLLLLLLLLLLLLLALLLLLALLLLLLLLLLLALLEDNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFFFFFFNELLLLLALLLLLLALLLLLLDLLLLLLLLLLLLLLLLLLNNNNNNNNNNNNNNNNNNNNNNNNENNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLMLLLLLLLLLLLLLLLLLLENNNNNLLLLFLLLLFLLFLLLLLL","n":["algorithms","entrypoints","logger","prelude","routines","tui","Algorithm","fit","initialize_algorithm","to_npresult","simulate","start","start_internal","setup_log","algorithms","condensation","logger","optimization","prob","sigma","simulate","start","start_internal","condensation","datafile","evaluation","expansion","initialization","optimization","output","settings","simulation","prune","prune","Block","CovLine","Dose","Event","Infusion","Scenario","_addl","_c0","_c1","_c2","_c3","_ii","add_event_interval","amount","amount","blocks","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp_by_id_then_time","compartment","compartment","covs","covs","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","dose","drop","drop","drop","drop","drop","drop","dur","dur","events","evid","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_subset","from_subset","from_subset","from_subset","from_subset","from_subset","id","id","init","init","init","init","init","init","input","interp","into","into","into","into","into","into","is_in_subset","is_in_subset","is_in_subset","is_in_subset","is_in_subset","is_in_subset","new","obs","obs_times","out","outeq","parse","reorder_with_lag","time","time","time","times","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_subset","to_subset","to_subset","to_subset","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","ipm","prob","qr","sigma","burke","calculate_psi","normal_likelihood","calculate_r","Add","ErrorPoly","ErrorType","Prop","Sigma","borrow","borrow","borrow_mut","borrow_mut","c","clone","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","e_type","fmt","from","from","from_subset","from_subset","gl","init","init","into","into","is_in_subset","is_in_subset","sigma","sigma","to_owned","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","adaptative_grid","adaptative_grid","sample_space","sobol","generate","d_optimizer","optim","SppOptimizer","borrow","borrow_mut","cost","deref","deref_mut","drop","from","from_subset","init","into","is_in_subset","new","optimize_point","to_subset","to_subset_unchecked","try_from","try_into","type_id","vzip","CycleLog","CycleWriter","MetaWriter","NPCycle","NPResult","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","converged","cycle","cycles","cycles","default","delta_objf","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","flush","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_subset","from_subset","from_subset","from_subset","from_subset","gamlam","init","init","init","init","init","into","into","into","into","into","is_in_subset","is_in_subset","is_in_subset","is_in_subset","is_in_subset","median","new","new","new","new","new","nspp","objf","objf","par_names","population_mean_median","posterior","posterior_mean_median","psi","push_and_write","scenarios","settings","theta","theta","to_owned","to_subset","to_subset","to_subset","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","w","write","write","write_meta","write_obs","write_outputs","write_posterior","write_pred","write_theta","Config","Constant","Error","Fixed","Paths","Random","Settings","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cache","class","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config","constant","cycles","data","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","engine","error","exclude","fixed","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_subset","from_subset","from_subset","from_subset","from_subset","from_subset","from_subset","get","idelta","init","init","init","init","init","init","init","init_points","into","into","into","into","into","into","into","is_in_subset","is_in_subset","is_in_subset","is_in_subset","is_in_subset","is_in_subset","is_in_subset","log","log_level","names","names_and_ranges","output","parameters","parameters","parameters","paths","poly","prior","random","ranges","read_settings","seed","serialize","serialize","serialize","serialize","serialize","serialize","serialize","tad","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_subset","to_subset","to_subset","to_subset","to_subset","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tui","type_id","type_id","type_id","type_id","type_id","type_id","type_id","validate","validate","value","vzip","vzip","vzip","vzip","vzip","vzip","vzip","write_settings_to_file","predict","Engine","Model","Model","Predict","State","add_covs","add_dose","add_infusion","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","from_subset","from_subset","get_output","get_param","get_ypred","init","init","initial_state","initial_system","into","into","is_in_subset","is_in_subset","new","post_predictions","pred","sim_obs","simple_sim","state_step","to_owned","to_owned","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","App","AppReturn","Continue","Exit","actions","actions","borrow","borrow","borrow_mut","borrow_mut","components","deref","deref","deref_mut","deref_mut","do_action","drop","drop","eq","equivalent","equivalent","equivalent","fmt","from","from","from_subset","from_subset","init","init","inputs","into","into","is_in_subset","is_in_subset","new","state","state","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_into","try_into","type_id","type_id","ui","vzip","vzip","Action","Actions","Next","Quit","Stop","actions","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","default","deref","deref","deref_mut","deref_mut","drop","drop","eq","equivalent","equivalent","equivalent","find","fmt","fmt","fmt","from","from","from","from_subset","from_subset","init","init","into","into","is_in_subset","is_in_subset","iterator","keys","to_owned","to_owned","to_string","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","draw_commands","draw_logs","draw_options","draw_plot","draw_status","draw_tabs","draw_title","Input","InputEvent","borrow","borrow_mut","deref","deref_mut","drop","events","fmt","from","from_subset","init","into","is_in_subset","key","to_subset","to_subset_unchecked","try_from","try_into","type_id","vzip","Events","borrow","borrow_mut","deref","deref_mut","drop","from","from_subset","init","into","is_in_subset","new","recv","to_subset","to_subset_unchecked","try_from","try_into","type_id","vzip","Alt","Backspace","Char","Ctrl","Delete","Down","End","Enter","Esc","F0","F1","F10","F11","F12","F2","F3","F4","F5","F6","F7","F8","F9","Home","Ins","Key","Left","PageDown","PageUp","Right","Tab","Unknown","Up","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","equivalent","equivalent","fmt","fmt","from","from","from_f","from_subset","get_hash","hash","init","into","is_exit","is_in_subset","is_stop","to_owned","to_string","to_subset","to_subset_unchecked","try_from","try_into","type_id","vzip","CycleHistory","add_cycle","borrow","borrow_mut","clone","clone_into","cycles","default","deref","deref_mut","drop","fmt","from","from_subset","init","into","is_in_subset","new","to_owned","to_subset","to_subset_unchecked","try_from","try_into","type_id","vzip","Comm","LogMessage","Message","NPCycle","Stop","StopUI","borrow","borrow_mut","deref","deref_mut","draw","drop","from","from_subset","init","initialize_panic_handler","into","is_in_subset","start_ui","to_subset","to_subset_unchecked","try_from","try_into","type_id","vzip"],"q":[[0,"npcore"],[6,"npcore::algorithms"],[10,"npcore::entrypoints"],[13,"npcore::logger"],[14,"npcore::prelude"],[23,"npcore::routines"],[32,"npcore::routines::condensation"],[33,"npcore::routines::condensation::prune"],[34,"npcore::routines::datafile"],[195,"npcore::routines::evaluation"],[199,"npcore::routines::evaluation::ipm"],[200,"npcore::routines::evaluation::prob"],[202,"npcore::routines::evaluation::qr"],[203,"npcore::routines::evaluation::sigma"],[249,"npcore::routines::expansion"],[250,"npcore::routines::expansion::adaptative_grid"],[251,"npcore::routines::initialization"],[253,"npcore::routines::initialization::sobol"],[254,"npcore::routines::optimization"],[256,"npcore::routines::optimization::d_optimizer"],[276,"npcore::routines::output"],[405,"npcore::routines::settings"],[600,"npcore::routines::simulation"],[601,"npcore::routines::simulation::predict"],[660,"npcore::tui"],[710,"npcore::tui::actions"],[767,"npcore::tui::components"],[774,"npcore::tui::inputs"],[795,"npcore::tui::inputs::events"],[814,"npcore::tui::inputs::key"],[878,"npcore::tui::state"],[903,"npcore::tui::ui"],[928,"alloc::vec"],[929,"tokio::sync::mpsc::unbounded"],[930,"alloc::boxed"],[931,"core::marker"],[932,"core::clone"],[933,"alloc::string"],[934,"eyre"],[935,"core::marker"],[936,"ndarray::aliases"],[937,"core::fmt"],[938,"core::fmt"],[939,"core::result"],[940,"core::option"],[941,"core::any"],[942,"ndarray::data_repr"],[943,"ndarray::dimension::dim"],[944,"ndarray"],[945,"anyhow"],[946,"serde::de"],[947,"config::error"],[948,"serde::ser"],[949,"std::io::error"],[950,"std::collections::hash::map"],[951,"core::fmt"],[952,"ratatui::widgets::table"],[953,"ratatui::widgets::paragraph"],[954,"ratatui::widgets::chart"],[955,"core::time"],[956,"ratatui::widgets::tabs"],[957,"crossterm::event"],[958,"core::hash"],[959,"core::marker"],[960,"tokio::sync::mpsc::unbounded"]],"d":["","","","","","","","","","","Simulate predictions from a model and prior distribution","Primary entrypoint for NPcore","Alternative entrypoint, primarily meant for third-party …","Setup logging for the library","","","","","","","","","","","","","","","","","","","","","","","","A Event represent a single row in the Datafile","","A Scenario is a collection of blocks that represent a …","","","","","","","Adds “mock” events to a Scenario in order to generate …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Apply the Burke’s Interior Point Method (IPM) to solve a …","Calculate the Ψ (psi) matrix, which contains the …","Calculate the normal likelihood","","","ErrorPoly contains the information on uncertainties in …","ErrorType defines the current error model","","Contains information on the observation error","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","","Estimates the standard deviation of the observation error …","","","","","","","","","","","","","","","","Adaptive grid algorithm for support point expansion","","","Generates a 2-dimensional array containing a Sobol …","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","Defines the result objects from a run An NPResult contains …","Defines the result objects from an NPAG run An NPResult …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","Create a new NPResult object","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Write the observations, which is the reformatted input data","","Writes the posterior support points for each individual","Writes the predictions","Writes theta, which containts the population support …","General configuration settings","Parameters which are held constant","Defines the error model and polynomial to be used","Parameters which are estimated, but fixed for the …","This struct contains the paths to the data, log and prior …","Random parameters to be estimated","Contains all settings NPcore","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Path to the data file, see datafile::parse for details.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Get the upper and lower bounds of a random parameter from …","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","If provided, the log file will be written to this path.","","Returns a vector of the names of the random parameters","Returns a vector of tuples containing the names and ranges …","","","","","","","If provided, NPcore will use this prior instead of a “…","","Returns a vector of the upper and lower bounds of the …","Parses the settings from a TOML configuration file","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Validate the boundaries of the random parameters","","","","","","","","","","Writes a copy of the parsed settings to file","","","","","return the predicted values for the given scenario and …","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","Simulate observations for multiple scenarios and support …","","","","","","","","","","","","","","","","","The main application, containing the state","","","","","","","","","","","","","","","Handle a user action","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","Defines the Terminal User Interface (TUI) for NPcore","","","We define all available action","The application should have some contextual actions.","","","","Get contextual actions. (just for building a help view)","","","","","","","","","","","","","","","","","","","","Given a key, find the corresponding action","","","","Returns the argument unchanged.","Build contextual action","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","","","All available actions","List of key associated to action","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","A small event handler that wrap crossterm input and tick …","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","Constructs an new instance of Events with the default …","","","","","","","","","Backspace key","","","Delete key","Down arrow","End key","Both Enter (or Return) and numpad Enter","Escape key","F0 key","F1 key","F10 key","F11 key","F12 key","F2 key","F3 key","F4 key","F5 key","F6 key","F7 key","F8 key","F9 key","Home key","Insert key","Represents an key.","Left arrow","Page Down key","Page Up key","Right arrow","Tabulation key","","Up arrow","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the function key corresponding to the given number","","","","","Calls U::from(self).","If exit","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","",""],"i":[0,0,0,0,0,0,0,8,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,25,25,25,25,25,4,21,22,4,4,21,22,23,24,25,4,21,22,23,24,25,4,21,22,23,24,25,4,21,22,23,24,25,25,21,22,24,25,4,21,22,23,24,25,4,21,22,23,24,25,25,4,21,22,23,24,25,21,25,24,25,4,21,22,23,24,25,4,21,22,23,24,25,4,21,22,23,24,25,4,25,4,21,22,23,24,25,25,23,4,21,22,23,24,25,4,21,22,23,24,25,4,4,4,25,25,0,4,21,22,25,4,4,21,22,23,24,25,4,21,22,23,24,25,4,21,22,23,24,25,4,21,22,23,24,25,4,21,22,23,24,25,4,21,22,23,24,25,4,21,22,23,24,25,0,0,0,0,0,0,0,0,40,0,0,40,0,41,40,41,40,41,40,40,41,40,41,40,41,40,41,40,41,40,41,40,41,41,40,41,40,41,40,39,41,40,41,40,41,40,41,40,41,40,41,40,41,40,0,0,0,0,0,0,0,0,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,0,0,0,0,0,1,46,44,45,47,1,46,44,45,47,44,44,1,44,1,46,44,44,1,46,44,45,47,1,46,44,45,47,1,46,44,45,47,45,1,46,44,45,47,1,46,44,45,47,1,46,44,45,47,44,1,46,44,45,47,1,46,44,45,47,1,46,44,45,47,0,1,46,44,45,47,44,1,44,1,0,0,0,1,46,1,1,1,44,44,1,46,44,45,47,1,46,44,45,47,1,46,44,45,47,1,46,44,45,47,1,46,44,45,47,1,46,44,45,47,1,45,47,1,1,1,1,1,1,0,0,0,0,0,0,0,3,49,50,51,52,53,54,3,49,50,51,52,53,54,50,54,3,49,50,51,52,53,54,3,49,50,51,52,53,54,3,3,50,49,3,49,50,51,52,53,54,3,49,50,51,52,53,54,3,49,50,51,52,53,54,3,49,50,51,52,53,54,50,3,50,3,3,49,50,51,52,53,54,3,49,50,51,52,53,54,3,49,50,51,52,53,54,51,50,3,49,50,51,52,53,54,50,3,49,50,51,52,53,54,3,49,50,51,52,53,54,49,50,51,51,50,51,52,53,3,54,49,3,51,0,50,3,49,50,51,52,53,54,50,3,49,50,51,52,53,54,3,49,50,51,52,53,54,3,49,50,51,52,53,54,3,49,50,51,52,53,54,3,49,50,51,52,53,54,50,3,49,50,51,52,53,54,51,54,54,3,49,50,51,52,53,54,0,0,0,0,10,0,10,10,10,10,60,2,60,2,60,2,60,2,60,2,60,2,60,2,60,2,60,2,60,2,10,60,0,60,2,10,10,60,2,60,2,2,0,2,0,0,10,60,2,60,2,60,2,60,2,60,2,60,2,60,2,0,0,65,65,0,62,62,65,62,65,0,62,65,62,65,62,62,65,65,65,65,65,65,62,65,62,65,62,65,0,62,65,62,65,62,0,62,62,65,62,65,62,65,62,65,62,65,0,62,65,0,0,66,66,66,63,66,63,66,63,66,63,66,63,63,66,63,66,63,66,63,66,66,66,66,63,66,66,63,66,63,63,66,63,66,63,66,63,66,63,66,66,66,63,66,66,63,66,63,66,63,66,63,66,63,66,63,0,0,0,0,0,0,0,74,0,74,74,74,74,74,0,74,74,74,74,74,74,0,74,74,74,74,74,74,0,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,0,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,0,6,6,6,6,6,6,6,6,6,0,6,6,6,6,0,6,6,0,6,6,6,6,6,6],"f":[0,0,0,0,0,0,0,[-1,1,[]],[[[2,[-1]],3,[5,[4]],[7,[6]]],[[9,[8]]],[10,11,12]],[-1,1,[]],[[[2,[-1]],13],[[15,[14]]],[10,11,16,12]],[[[2,[-1]],13],[[15,[1]]],[10,11,16,12]],[[[2,[-1]],3,[5,[4]]],[[15,[1]]],[10,11,16,12]],[[3,[7,[6]]],14],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[18,[17]],[19,[17]],[20,[[14,[17,17]]]],17],14],0,0,0,0,0,0,0,0,0,0,0,0,[[4,17,17],4],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[4,4],[21,21],[22,22],[23,23],[24,24],[25,25],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[25,25],26],0,0,0,0,[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],0,[27,14],[27,14],[27,14],[27,14],[27,14],[27,14],0,0,0,0,[[4,28],29],[[21,28],29],[[22,28],29],[[23,28],29],[[24,28],29],[[25,28],29],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],0,[[23,17],17],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[[[5,[25]]],[[32,[4,[9,[31]]]]]],0,0,0,0,[13,[[32,[[5,[4]],[9,[31]]]]]],[[4,[5,[[14,[17,27]]]]],4],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[[38,[[35,[17]],[37,[[36,[27]]]]]]],[[32,[[14,[[38,[[35,[17]],[37,[[36,[27]]]]]],17]],[9,[31]]]]]],[[[18,[[19,[17]]]],[5,[4]],-1],[[18,[17]]],[39,11]],[[[19,[17]],[19,[17]],[19,[17]]],17],[[[18,[17]]],[[14,[[18,[17]],[5,[27]]]]]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[40,40],[[-1,-2],14,[],[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,14],[27,14],0,[[40,28],29],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[],27],[[],27],[-1,-2,[],[]],[-1,-2,[],[]],[-1,30,[]],[-1,30,[]],[[-1,[19,[17]]],[[19,[17]]],[]],[[41,[19,[17]]],[[19,[17]]]],[-1,-2,[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[[18,[17]],17,[20,[[14,[17,17]]]],17],[[18,[17]]]],[[3,[5,[[14,[17,17]]]]],[[18,[17]]]],0,[[27,[5,[[14,[17,17]]]],27],[[38,[[35,[17]],[37,[[36,[27]]]]]]]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[[42,[-1,-2]]],[[32,[43]]],[39,11],[10,11,12]],[27,-1,[]],[27,-1,[]],[27,14],[-1,-1,[]],[-1,-2,[],[]],[[],27],[-1,-2,[],[]],[-1,30,[]],[[[2,[-1]],[5,[4]],-2,[19,[17]]],[[42,[-2,-1]]],[10,11,12],[39,11]],[[[42,[-1,-2]],[19,[17]]],[[32,[[19,[17]],43]]],[39,11],[10,11,12]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[44,44],[[-1,-2],14,[],[]],0,0,0,0,[[],44],0,[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,14],[27,14],[27,14],[27,14],[27,14],[45,14],[[1,28],29],[[46,28],29],[[44,28],29],[[45,28],29],[[47,28],29],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[],27],[[],27],[[],27],[[],27],[[],27],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[[[5,[17]]],17],[[[5,[4]],[18,[17]],[18,[17]],[19,[17]],17,27,30,3],1],[[[20,[13]]],46],[[],44],[[48,[5,[13]]],45],[[],47],0,0,0,0,[[[18,[17]],[19,[17]]],[[14,[[19,[17]],[19,[17]]]]]],[[[18,[17]],[19,[17]]],[[18,[17]]]],[[[18,[17]],[18,[17]],[19,[17]]],[[14,[[18,[17]],[18,[17]]]]]],0,[[46,44,30],14],0,0,0,0,[-1,-2,[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[45,27,17,17,[18,[17]]],14],[[47,30,27],14],[1,14],[1,14],[[1,30,[2,[-1]],17,17],14,[10,11,12,16]],[1,14],[[1,[2,[-1]],17,17],14,[10,11,16,12]],[1,14],0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[3,3],[49,49],[50,50],[51,51],[52,52],[53,53],[54,54],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],0,0,0,0,[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[-1,[[32,[3]]],55],[-1,[[32,[49]]],55],[-1,[[32,[50]]],55],[-1,[[32,[51]]],55],[-1,[[32,[52]]],55],[-1,[[32,[53]]],55],[-1,[[32,[54]]],55],[27,14],[27,14],[27,14],[27,14],[27,14],[27,14],[27,14],0,0,0,0,[[3,28],29],[[49,28],29],[[50,28],29],[[51,28],29],[[52,28],29],[[53,28],29],[[54,28],29],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[51,48],[[33,[[14,[17,17]]]]]],0,[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],0,0,[51,[[5,[13]]]],[51,[[5,[[14,[13,[14,[17,17]]]]]]]],0,0,0,0,0,0,0,0,[51,[[5,[[14,[17,17]]]]]],[13,[[32,[3,56]]]],0,[[3,-1],32,57],[[49,-1],32,57],[[50,-1],32,57],[[51,-1],32,57],[[52,-1],32,57],[[53,-1],32,57],[[54,-1],32,57],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],0,[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[51,[[32,[14,13]]]],[54,[[32,[14,13]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[3,[[32,[14,58]]]],0,0,0,0,0,0,[[-1,[33,[[59,[13,23]]]]],14,[]],[[-1,17,27],14,[]],[[-1,21],14,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[60,60],[[[2,[-1]]],[[2,[-1]]],[10,12,12]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,14],[27,14],[[60,28],29],[[[2,[-1]],28],29,[10,12,61]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,17,27],17,[]],[[60,48],17],[[[2,[-1]],4,[5,[17]],27,30],[[19,[17]]],[10,11,12]],[[],27],[[],27],[-1,[],[]],[[-1,[5,[17]],4],[[14,[4]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,30,[]],[-1,30,[]],[-1,[[2,[-1]]],[10,12]],[[[2,[-1]],[18,[17]],[5,[4]]],[[32,[[19,[[5,[17]]]],[9,[31]]]]],[10,11,12]],[[[2,[-1]],4,[5,[17]]],[[5,[17]]],[10,12]],[[[2,[-1]],[5,[4]],[18,[17]],30],[[18,[[19,[17]]]]],[10,11,12]],[[[2,[-1]],4,[19,[17]]],[[5,[17]]],[10,11,12]],[[-1,17,17],14,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[62,63],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[[62,64],65],[27,14],[27,14],[[65,65],30],[[-1,-2],30,[],[]],[[-1,-2],30,[],[]],[[-1,-2],30,[],[]],[[65,28],29],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],27],[[],27],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,30,[]],[-1,30,[]],[[],62],0,[62,44],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[63,[[20,[66]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[66,66],[63,63],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[],63],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,14],[27,14],[[66,66],30],[[-1,-2],30,[],[]],[[-1,-2],30,[],[]],[[-1,-2],30,[],[]],[[63,64],[[33,[66]]]],[[66,28],29],[[66,28],29],[[63,28],29],[-1,-1,[]],[[[5,[66]]],63],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],27],[[],27],[-1,-2,[],[]],[-1,-2,[],[]],[-1,30,[]],[-1,30,[]],[[],[[67,[66]]]],[66,[[20,[64]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,13,[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],[-1,-2,[],[]],[-1,-2,[],[]],[62,68],[[[5,[13]],69],70],[3,68],[[[20,[[14,[17,17]]]]],71],[[62,72],68],[62,73],[[],70],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[27,-1,[]],[27,-1,[]],[27,14],0,[[74,28],29],[-1,-1,[]],[-1,-2,[],[]],[[],27],[-1,-2,[],[]],[-1,30,[]],0,[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[27,-1,[]],[27,-1,[]],[27,14],[-1,-1,[]],[-1,-2,[],[]],[[],27],[-1,-2,[],[]],[-1,30,[]],[72,75],[75,[[33,[74]]]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[64,64],[[-1,-2],14,[],[]],[27,-1,[]],[27,-1,[]],[27,14],[[64,64],30],[[-1,-2],30,[],[]],[[-1,-2],30,[],[]],[[-1,-2],30,[],[]],[[64,28],29],[[64,28],29],[76,64],[-1,-1,[]],[77,64],[-1,-2,[],[]],[[-1,-2],78,[79,80],81],[[64,-1],14,82],[[],27],[-1,-2,[],[]],[64,30],[-1,30,[]],[64,30],[-1,-2,[],[]],[-1,13,[]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,-2,[],[]],0,[[83,44],14],[-1,-2,[],[]],[-1,-2,[],[]],[83,83],[[-1,-2],14,[],[]],0,[[],83],[27,-1,[]],[27,-1,[]],[27,14],[[83,28],29],[-1,-1,[]],[-1,-2,[],[]],[[],27],[-1,-2,[],[]],[-1,30,[]],[[],83],[-1,-2,[],[]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,-2,[],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[27,-1,[]],[27,-1,[]],[[84,62,83,72,3,[5,[13]]],14],[27,14],[-1,-1,[]],[-1,-2,[],[]],[[],27],[[],14],[-1,-2,[],[]],[-1,30,[]],[[[85,[6]],3],[[15,[14]]]],[-1,[[33,[-2]]],[],[]],[-1,-2,[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,34,[]],[-1,-2,[],[]]],"c":[],"p":[[3,"NPResult",276],[3,"Engine",601],[3,"Settings",405],[3,"Scenario",34],[3,"Vec",928],[4,"Comm",903],[3,"UnboundedSender",929],[8,"Algorithm",6],[3,"Box",930],[8,"Predict",601],[8,"Sync",931],[8,"Clone",932],[3,"String",933],[15,"tuple"],[6,"Result",934],[8,"Send",931],[15,"f64"],[6,"Array2",935],[6,"Array1",935],[15,"slice"],[3,"Infusion",34],[3,"Dose",34],[3,"CovLine",34],[3,"Block",34],[3,"Event",34],[4,"Ordering",936],[15,"usize"],[3,"Formatter",937],[6,"Result",937],[15,"bool"],[8,"Error",938],[4,"Result",939],[4,"Option",940],[3,"TypeId",941],[3,"OwnedRepr",942],[15,"array"],[3,"Dim",943],[3,"ArrayBase",944],[8,"Sigma",203],[4,"ErrorType",203],[3,"ErrorPoly",203],[3,"SppOptimizer",256],[3,"Error",945],[3,"NPCycle",276],[3,"CycleWriter",276],[3,"CycleLog",276],[3,"MetaWriter",276],[15,"str"],[3,"Paths",405],[3,"Config",405],[3,"Random",405],[3,"Fixed",405],[3,"Constant",405],[3,"Error",405],[8,"Deserializer",946],[4,"ConfigError",947],[8,"Serializer",948],[3,"Error",949],[3,"HashMap",950],[3,"Model",601],[8,"Debug",937],[3,"App",660],[3,"Actions",710],[4,"Key",814],[4,"AppReturn",660],[4,"Action",710],[3,"Iter",951],[3,"Table",952],[15,"u16"],[3,"Paragraph",953],[3,"Chart",954],[3,"Duration",955],[3,"Tabs",956],[4,"InputEvent",774],[3,"Events",795],[3,"KeyEvent",957],[15,"u8"],[15,"u64"],[8,"Hash",958],[8,"Sized",931],[8,"BuildHasher",958],[8,"Hasher",958],[3,"CycleHistory",878],[3,"Frame",959],[3,"UnboundedReceiver",929]],"b":[[736,"impl-Display-for-Action"],[737,"impl-Debug-for-Action"],[857,"impl-Debug-for-Key"],[858,"impl-Display-for-Key"]]}\ }'); if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)}; if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex}; diff --git a/src-files.js b/src-files.js index b7b8a7789..748789792 100644 --- a/src-files.js +++ b/src-files.js @@ -1,4 +1,4 @@ var srcIndex = JSON.parse('{\ -"npcore":["",[["algorithms",[],["npag.rs","npod.rs","postprob.rs"]],["routines",[["condensation",[],["prune.rs"]],["evaluation",[],["ipm.rs","prob.rs","qr.rs","sigma.rs"]],["expansion",[],["adaptative_grid.rs"]],["initialization",[],["sobol.rs"]],["optimization",[],["d_optimizer.rs","optim.rs"]],["settings",[],["run.rs","simulator.rs"]],["simulation",[],["predict.rs"]]],["datafile.rs","initialization.rs","output.rs"]],["tests",[],["mod.rs"]],["tui",[["inputs",[],["events.rs","key.rs","mod.rs"]]],["actions.rs","components.rs","mod.rs","state.rs","ui.rs"]]],["algorithms.rs","entrypoints.rs","lib.rs","logger.rs"]]\ +"npcore":["",[["algorithms",[],["npag.rs","npod.rs","postprob.rs"]],["routines",[["condensation",[],["prune.rs"]],["evaluation",[],["ipm.rs","prob.rs","qr.rs","sigma.rs"]],["expansion",[],["adaptative_grid.rs"]],["initialization",[],["sobol.rs"]],["optimization",[],["d_optimizer.rs","optim.rs"]],["simulation",[],["predict.rs"]]],["datafile.rs","initialization.rs","output.rs","settings.rs"]],["tests",[],["mod.rs"]],["tui",[["inputs",[],["events.rs","key.rs","mod.rs"]]],["actions.rs","components.rs","mod.rs","state.rs","ui.rs"]]],["algorithms.rs","entrypoints.rs","lib.rs","logger.rs"]]\ }'); createSrcSidebar(); diff --git a/src/npcore/algorithms.rs.html b/src/npcore/algorithms.rs.html index 9b301e4ea..f818d85a8 100644 --- a/src/npcore/algorithms.rs.html +++ b/src/npcore/algorithms.rs.html @@ -66,13 +66,7 @@ 66 67 68 -69 -70 -71 -72 -73 -74 -
    use crate::prelude::{self, settings::run::Settings};
    +

    use crate::prelude::{self, settings::Settings};
     
     use output::NPResult;
     use prelude::{datafile::Scenario, *};
    @@ -83,13 +77,7 @@
     mod npod;
     mod postprob;
     
    -// pub enum Type {
    -//     NPAG,
    -//     NPOD,
    -//     POSTPROB,
    -// }
    -
    -pub trait Algorithm {
    +pub trait Algorithm {
         fn fit(&mut self) -> NPResult;
         fn to_npresult(&self) -> NPResult;
     }
    @@ -109,17 +97,17 @@
                 Err(err) => panic!("Unable to remove previous stop file: {}", err),
             }
         }
    -    let ranges = settings.computed.random.ranges.clone();
    +    let ranges = settings.random.ranges();
         let theta = initialization::sample_space(&settings, &ranges);
     
         //This should be a macro, so it can automatically expands as soon as we add a new option in the Type Enum
    -    match settings.parsed.config.engine.as_str() {
    +    match settings.config.engine.as_str() {
             "NPAG" => Box::new(npag::NPAG::new(
                 engine,
                 ranges,
                 theta,
                 scenarios,
    -            settings.parsed.error.poly,
    +            settings.error.poly,
                 tx,
                 settings,
             )),
    @@ -128,7 +116,7 @@
                 ranges,
                 theta,
                 scenarios,
    -            settings.parsed.error.poly,
    +            settings.error.poly,
                 tx,
                 settings,
             )),
    @@ -136,7 +124,7 @@
                 engine,
                 theta,
                 scenarios,
    -            settings.parsed.error.poly,
    +            settings.error.poly,
                 tx,
                 settings,
             )),
    diff --git a/src/npcore/algorithms/npag.rs.html b/src/npcore/algorithms/npag.rs.html
    index 18e11b81f..ff85f358d 100644
    --- a/src/npcore/algorithms/npag.rs.html
    +++ b/src/npcore/algorithms/npag.rs.html
    @@ -333,6 +333,7 @@
     333
     334
     335
    +336
     
    use crate::{
         prelude::{
             algorithms::Algorithm,
    @@ -342,7 +343,7 @@
             output::NPResult,
             output::{CycleLog, NPCycle},
             prob, qr,
    -        settings::run::Settings,
    +        settings::Settings,
             simulation::predict::Engine,
             simulation::predict::{sim_obs, Predict},
         },
    @@ -453,15 +454,15 @@
                 f1: f64::default(),
                 cycle: 1,
                 gamma_delta: 0.1,
    -            gamma: settings.parsed.error.value,
    -            error_type: match settings.parsed.error.class.to_lowercase().as_str() {
    +            gamma: settings.error.value,
    +            error_type: match settings.error.class.to_lowercase().as_str() {
                     "additive" => ErrorType::Add,
                     "proportional" => ErrorType::Prop,
                     _ => panic!("Error type not supported"),
                 },
                 converged: false,
    -            cycle_log: CycleLog::new(&settings.computed.random.names),
    -            cache: settings.parsed.config.cache.unwrap_or(false),
    +            cycle_log: CycleLog::new(&settings.random.names()),
    +            cache: settings.config.cache,
                 tx,
                 settings,
                 scenarios,
    @@ -612,8 +613,6 @@
                     gamlam: self.gamma,
                 };
                 self.tx.send(Comm::NPCycle(state.clone())).unwrap();
    -            self.cycle_log
    -                .push_and_write(state, self.settings.parsed.config.pmetrics_outputs.unwrap());
     
                 // Increasing objf signals instability or model misspecification.
                 if self.last_objf > self.objf {
    @@ -627,6 +626,9 @@
                 self.w = self.lambda.clone();
                 let pyl = self.psi.dot(&self.w);
     
    +            self.cycle_log
    +                .push_and_write(state, self.settings.config.output);
    +
                 // Stop if we have reached convergence criteria
                 if (self.last_objf - self.objf).abs() <= THETA_G && self.eps > THETA_E {
                     self.eps /= 2.;
    @@ -644,7 +646,7 @@
                 }
     
                 // Stop if we have reached maximum number of cycles
    -            if self.cycle >= self.settings.parsed.config.cycles {
    +            if self.cycle >= self.settings.config.cycles {
                     tracing::warn!("Maximum number of cycles reached");
                     break;
                 }
    diff --git a/src/npcore/algorithms/npod.rs.html b/src/npcore/algorithms/npod.rs.html
    index b698b848c..6eb15a40c 100644
    --- a/src/npcore/algorithms/npod.rs.html
    +++ b/src/npcore/algorithms/npod.rs.html
    @@ -334,7 +334,7 @@
             output::NPResult,
             output::{CycleLog, NPCycle},
             prob, qr,
    -        settings::run::Settings,
    +        settings::Settings,
             simulation::predict::Engine,
             simulation::predict::{sim_obs, Predict},
         },
    @@ -436,15 +436,15 @@
                 objf: f64::INFINITY,
                 cycle: 1,
                 gamma_delta: 0.1,
    -            gamma: settings.parsed.error.value,
    -            error_type: match settings.parsed.error.class.as_str() {
    +            gamma: settings.error.value,
    +            error_type: match settings.error.class.as_str() {
                     "additive" => ErrorType::Add,
                     "proportional" => ErrorType::Prop,
                     _ => panic!("Error type not supported"),
                 },
                 converged: false,
    -            cycle_log: CycleLog::new(&settings.computed.random.names),
    -            cache: settings.parsed.config.cache.unwrap_or(false),
    +            cycle_log: CycleLog::new(&settings.random.names()),
    +            cache: settings.config.cache,
                 tx,
                 settings,
                 scenarios,
    @@ -621,7 +621,7 @@
                 }
     
                 // Stop if we have reached maximum number of cycles
    -            if self.cycle >= self.settings.parsed.config.cycles {
    +            if self.cycle >= self.settings.config.cycles {
                     tracing::warn!("Maximum number of cycles reached");
                     break;
                 }
    @@ -633,7 +633,7 @@
                 }
                 //TODO: the cycle migh break before reaching this point
                 self.cycle_log
    -                .push_and_write(state, self.settings.parsed.config.pmetrics_outputs.unwrap());
    +                .push_and_write(state, self.settings.config.output);
     
                 self.cycle += 1;
     
    diff --git a/src/npcore/algorithms/postprob.rs.html b/src/npcore/algorithms/postprob.rs.html
    index 4e9b84418..abf4de743 100644
    --- a/src/npcore/algorithms/postprob.rs.html
    +++ b/src/npcore/algorithms/postprob.rs.html
    @@ -120,7 +120,7 @@
             ipm,
             output::NPResult,
             prob,
    -        settings::run::Settings,
    +        settings::Settings,
             simulation::predict::Engine,
             simulation::predict::{sim_obs, Predict},
         },
    @@ -196,8 +196,8 @@
                 objf: f64::INFINITY,
                 cycle: 0,
                 converged: false,
    -            gamma: settings.parsed.error.value,
    -            error_type: match settings.parsed.error.class.as_str() {
    +            gamma: settings.error.value,
    +            error_type: match settings.error.class.as_str() {
                     "additive" => ErrorType::Add,
                     "proportional" => ErrorType::Prop,
                     _ => panic!("Error type not supported"),
    diff --git a/src/npcore/entrypoints.rs.html b/src/npcore/entrypoints.rs.html
    index 5b5e88c05..aaf5a4e9d 100644
    --- a/src/npcore/entrypoints.rs.html
    +++ b/src/npcore/entrypoints.rs.html
    @@ -182,6 +182,12 @@
     182
     183
     184
    +185
    +186
    +187
    +188
    +189
    +190
     
    use crate::algorithms::initialize_algorithm;
     use crate::prelude::{
         output::NPResult,
    @@ -189,7 +195,7 @@
         *,
     };
     use crate::routines::datafile::Scenario;
    -use crate::routines::settings::run::Settings;
    +use crate::routines::settings::*;
     
     use csv::{ReaderBuilder, WriterBuilder};
     use eyre::Result;
    @@ -219,16 +225,16 @@
     where
         S: Predict<'static> + std::marker::Sync + std::marker::Send + 'static + Clone,
     {
    -    let settings = settings::simulator::read(settings_path);
    -    let theta_file = File::open(settings.paths.theta).unwrap();
    +    let settings: Settings = read_settings(settings_path).unwrap();
    +    let theta_file = File::open(settings.paths.prior.unwrap()).unwrap();
         let mut reader = ReaderBuilder::new()
             .has_headers(true)
             .from_reader(theta_file);
         let theta: Array2<f64> = reader.deserialize_array2_dynamic().unwrap();
     
         // Expand data
    -    let idelta = settings.config.idelta.unwrap_or(0.0);
    -    let tad = settings.config.tad.unwrap_or(0.0);
    +    let idelta = settings.config.idelta;
    +    let tad = settings.config.tad;
         let mut scenarios = datafile::parse(&settings.paths.data).unwrap();
         scenarios.iter_mut().for_each(|scenario| {
             *scenario = scenario.add_event_interval(idelta, tad);
    @@ -272,17 +278,23 @@
         S: Predict<'static> + std::marker::Sync + std::marker::Send + 'static + Clone,
     {
         let now = Instant::now();
    -    let settings = settings::run::read(settings_path);
    +    let settings = match read_settings(settings_path) {
    +        Ok(s) => s,
    +        Err(e) => {
    +            eprintln!("Error reading settings: {:?}", e);
    +            std::process::exit(-1);
    +        }
    +    };
         let (tx, rx) = mpsc::unbounded_channel::<Comm>();
         let maintx = tx.clone();
         logger::setup_log(&settings, tx.clone());
         tracing::info!("Starting NPcore");
     
         // Read input data and remove excluded scenarios (if any)
    -    let mut scenarios = datafile::parse(&settings.parsed.paths.data).unwrap();
    -    if let Some(exclude) = &settings.parsed.config.exclude {
    +    let mut scenarios = datafile::parse(&settings.paths.data).unwrap();
    +    if let Some(exclude) = &settings.config.exclude {
             for val in exclude {
    -            scenarios.remove(val.as_integer().unwrap() as usize);
    +            scenarios.remove(val.as_ptr() as usize);
             }
         }
     
    @@ -295,7 +307,7 @@
     
         // Spawn new thread for TUI
         let settings_tui = settings.clone();
    -    let handle = if settings.parsed.config.tui {
    +    let handle = if settings.config.tui {
             spawn(move || {
                 start_ui(rx, settings_tui).expect("Failed to start TUI");
             })
    @@ -312,10 +324,10 @@
         tracing::info!("Total time: {:.2?}", now.elapsed());
     
         // Write output files (if configured)
    -    if let Some(write) = &settings.parsed.config.pmetrics_outputs {
    -        let idelta = settings.parsed.config.idelta.unwrap_or(0.0);
    -        let tad = settings.parsed.config.tad.unwrap_or(0.0);
    -        result.write_outputs(*write, &engine, idelta, tad);
    +    if settings.config.output {
    +        let idelta = settings.config.idelta;
    +        let tad = settings.config.tad;
    +        result.write_outputs(true, &engine, idelta, tad);
         }
     
         tracing::info!("Program complete");
    diff --git a/src/npcore/lib.rs.html b/src/npcore/lib.rs.html
    index bf7073745..c8e326c49 100644
    --- a/src/npcore/lib.rs.html
    +++ b/src/npcore/lib.rs.html
    @@ -50,9 +50,6 @@
     50
     51
     52
    -53
    -54
    -55
     
    //! NPcore is a framework for developing and running non-parametric algorithms for population pharmacokinetic modelling
     
     pub mod algorithms;
    @@ -71,10 +68,7 @@
             pub mod adaptative_grid;
         }
     
    -    pub mod settings {
    -        pub mod run;
    -        pub mod simulator;
    -    }
    +    pub mod settings;
         pub mod evaluation {
     
             pub mod ipm;
    diff --git a/src/npcore/logger.rs.html b/src/npcore/logger.rs.html
    index b1bfc8b21..de1052f4f 100644
    --- a/src/npcore/logger.rs.html
    +++ b/src/npcore/logger.rs.html
    @@ -113,11 +113,7 @@
     113
     114
     115
    -116
    -117
    -118
    -119
    -
    use crate::routines::settings::run::Settings;
    +
    use crate::routines::settings::Settings;
     use crate::tui::ui::Comm;
     use std::io::{self, Write};
     use tokio::sync::mpsc::UnboundedSender;
    @@ -141,14 +137,10 @@
     /// If not, the log messages are written to stdout.
     pub fn setup_log(settings: &Settings, ui_tx: UnboundedSender<Comm>) {
         // Use the log level defined in configuration file, or default to info
    -    let log_level = settings
    -        .parsed
    -        .config
    -        .log_level
    -        .as_ref()
    -        .map(|level| level.as_str())
    -        .unwrap_or("info")
    -        .to_lowercase();
    +    let log_level = settings.config.log_level.as_str();
    +
    +    // Use the log file defined in configuration file, or default to npcore.log
    +    let log_path = settings.paths.log.as_ref().unwrap();
     
         let env_filter = EnvFilter::new(&log_level);
     
    @@ -160,7 +152,7 @@
             .create(true)
             .write(true)
             .truncate(true)
    -        .open(&settings.parsed.paths.log_out)
    +        .open(log_path)
             .expect("Failed to open log file - does the directory exist?");
     
         let file_layer = fmt::layer()
    @@ -169,7 +161,7 @@
             .with_timer(CompactTimestamp);
     
         // Define layer for stdout
    -    let stdout_layer = if !settings.parsed.config.tui {
    +    let stdout_layer = if !settings.config.tui {
             let layer = fmt::layer()
                 .with_writer(std::io::stdout)
                 .with_ansi(true)
    @@ -185,7 +177,7 @@
             ui_tx: ui_tx.clone(),
         };
     
    -    let tui_layer = if settings.parsed.config.tui {
    +    let tui_layer = if settings.config.tui {
             let layer = fmt::layer()
                 .with_writer(tui_writer_closure)
                 .with_ansi(false)
    diff --git a/src/npcore/routines/evaluation/ipm.rs.html b/src/npcore/routines/evaluation/ipm.rs.html
    index b351ba510..228d2c4db 100644
    --- a/src/npcore/routines/evaluation/ipm.rs.html
    +++ b/src/npcore/routines/evaluation/ipm.rs.html
    @@ -127,7 +127,6 @@
     127
     128
     129
    -130
     
    use std::error;
     
     use linfa_linalg::{cholesky::Cholesky, triangular::SolveTriangular};
    @@ -171,7 +170,7 @@
         // if row>col {
         //     return Err("The matrix PSI has row>col".into());
         // }
    -    if psi.min().unwrap() < &0.0 {
    +    if psi.min()? < &0.0 {
             return Err("PSI contains negative elements".into());
         }
         let ecol: ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>> = Array::ones(col);
    @@ -185,7 +184,7 @@
         let mut lam = ecol.clone();
         let mut w = 1. / &plam;
         let mut ptw = psi.t().dot(&w);
    -    let shrink = 2. * *ptw.max().unwrap();
    +    let shrink = 2. * *ptw.max()?;
         lam *= shrink;
         plam *= shrink;
         w /= shrink;
    @@ -218,10 +217,10 @@
             let dw = dw_aux.column(0);
             let dy = -psi.t().dot(&dw);
             let dlam = smuyinv - &lam - inner * &dy;
    -        let mut alfpri = -1. / ((&dlam / &lam).min().unwrap().min(-0.5));
    +        let mut alfpri = -1. / ((&dlam / &lam).min()?.min(-0.5));
             alfpri = (0.99995 * alfpri).min(1.0);
    -        let mut alfdual = -1. / ((&dy / &y).min().unwrap().min(-0.5));
    -        alfdual = alfdual.min(-1. / (&dw / &w).min().unwrap().min(-0.5));
    +        let mut alfdual = -1. / ((&dy / &y).min()?.min(-0.5));
    +        alfdual = alfdual.min(-1. / (&dw / &w).min()?.min(-0.5));
             alfdual = (0.99995 * alfdual).min(1.0);
             lam = lam + alfpri * dlam;
             w = w + alfdual * &dw;
    @@ -241,9 +240,8 @@
                     (1. - alfdual).powi(2),
                     (norm_r - mu) / (norm_r + 100. * mu)
                 ]]
    -            .max()
    -            .unwrap()
    -            .min(0.3);
    +            .max()?
    +            .min(0.3);
             }
         }
         lam /= row as f64;
    diff --git a/src/npcore/routines/initialization.rs.html b/src/npcore/routines/initialization.rs.html
    index b7f82219d..8d321ef89 100644
    --- a/src/npcore/routines/initialization.rs.html
    +++ b/src/npcore/routines/initialization.rs.html
    @@ -75,25 +75,18 @@
     75
     76
     77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
     
    use std::fs::File;
     
     use ndarray::Array2;
     
    -use crate::prelude::settings::run::Settings;
    +use crate::prelude::settings::Settings;
     
     pub mod sobol;
     
     pub fn sample_space(settings: &Settings, ranges: &Vec<(f64, f64)>) -> Array2<f64> {
    -    match &settings.parsed.paths.prior_dist {
    +    match &settings.paths.prior {
             Some(prior_path) => {
    +            tracing::info!("Reading prior from {}", prior_path);
                 let file = File::open(prior_path).unwrap();
                 let mut reader = csv::ReaderBuilder::new()
                     .has_headers(true)
    @@ -113,12 +106,7 @@
                 }
     
                 // Check and reorder parameters to match names in settings.parsed.random
    -            let random_names: Vec<String> = settings
    -                .parsed
    -                .random
    -                .iter()
    -                .map(|(name, _)| name.clone())
    -                .collect();
    +            let random_names: Vec<String> = settings.random.names();
     
                 let mut reordered_indices: Vec<usize> = Vec::new();
                 for random_name in &random_names {
    @@ -161,11 +149,7 @@
                 Array2::from_shape_vec((n_points, n_params), theta_values)
                     .expect("Failed to create theta Array2")
             }
    -        None => sobol::generate(
    -            settings.parsed.config.init_points,
    -            ranges,
    -            settings.parsed.config.seed,
    -        ),
    +        None => sobol::generate(settings.config.init_points, ranges, settings.config.seed),
         }
     }
     
    \ No newline at end of file diff --git a/src/npcore/routines/initialization/sobol.rs.html b/src/npcore/routines/initialization/sobol.rs.html index 41d562a58..0b43a5028 100644 --- a/src/npcore/routines/initialization/sobol.rs.html +++ b/src/npcore/routines/initialization/sobol.rs.html @@ -43,7 +43,7 @@ pub fn generate( n_points: usize, range_params: &Vec<(f64, f64)>, - seed: u32, + seed: usize, ) -> ArrayBase<OwnedRepr<f64>, Dim<[usize; 2]>> { let n_params = range_params.len(); let mut seq = Array::<f64, _>::zeros((n_points, n_params).f()); @@ -51,7 +51,7 @@ let mut row = seq.slice_mut(s![i, ..]); let mut point: Vec<f64> = Vec::new(); for j in 0..n_params { - point.push(sample(i.try_into().unwrap(), j.try_into().unwrap(), seed) as f64) + point.push(sample(i.try_into().unwrap(), j.try_into().unwrap(), seed as u32) as f64) } row.assign(&Array::from(point)); } diff --git a/src/npcore/routines/output.rs.html b/src/npcore/routines/output.rs.html index 5a5d173ef..c6ec698ae 100644 --- a/src/npcore/routines/output.rs.html +++ b/src/npcore/routines/output.rs.html @@ -567,17 +567,13 @@ 567 568 569 -570 -571 -572 -573
    use crate::prelude::*;
     use csv::WriterBuilder;
     use datafile::Scenario;
     use ndarray::parallel::prelude::*;
     use ndarray::{Array, Array1, Array2, Axis};
     use predict::{post_predictions, sim_obs, Engine, Predict};
    -use settings::run::Settings;
    +use settings::Settings;
     use std::fs::File;
     
     /// Defines the result objects from an NPAG run
    @@ -609,12 +605,8 @@
         ) -> Self {
             // TODO: Add support for fixed and constant parameters
     
    -        let par_names = settings
    -            .parsed
    -            .random
    -            .iter()
    -            .map(|(name, _)| name.clone())
    -            .collect();
    +        let par_names = settings.random.names();
    +
             Self {
                 scenarios,
                 theta,
    @@ -931,7 +923,7 @@
     
         pub fn write(&mut self, cycle: usize, objf: f64, gamma: f64, theta: &Array2<f64>) {
             self.writer.write_field(format!("{}", cycle)).unwrap();
    -        self.writer.write_field(format!("{}", objf)).unwrap();
    +        self.writer.write_field(format!("{}", -2. * objf)).unwrap();
             self.writer.write_field(format!("{}", gamma)).unwrap();
             self.writer
                 .write_field(format!("{}", theta.nrows()))
    diff --git a/src/npcore/routines/settings.rs.html b/src/npcore/routines/settings.rs.html
    new file mode 100644
    index 000000000..eaca7af38
    --- /dev/null
    +++ b/src/npcore/routines/settings.rs.html
    @@ -0,0 +1,467 @@
    +settings.rs - source
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +
    #![allow(dead_code)]
    +
    +use config::Config as eConfig;
    +use serde::Deserialize;
    +use serde_derive::Serialize;
    +use serde_json;
    +use std::collections::HashMap;
    +
    +/// Contains all settings NPcore
    +#[derive(Debug, Deserialize, Clone, Serialize)]
    +#[serde(deny_unknown_fields)]
    +pub struct Settings {
    +    pub paths: Paths,
    +    pub config: Config,
    +    pub random: Random,
    +    pub fixed: Option<Fixed>,
    +    pub constant: Option<Constant>,
    +    pub error: Error,
    +}
    +
    +/// This struct contains the paths to the data, log and prior files.
    +#[derive(Debug, Deserialize, Clone, Serialize)]
    +#[serde(deny_unknown_fields)]
    +pub struct Paths {
    +    /// Path to the data file, see `datafile::parse` for details.
    +    pub data: String,
    +    /// If provided, the log file will be written to this path.
    +    pub log: Option<String>,
    +    /// If provided, NPcore will use this prior instead of a "uniform" prior, see `sobol::generate` for details.
    +    pub prior: Option<String>,
    +}
    +
    +/// General configuration settings
    +#[derive(Debug, Deserialize, Clone, Serialize)]
    +#[serde(deny_unknown_fields)]
    +pub struct Config {
    +    pub cycles: usize,
    +    pub engine: String,
    +    #[serde(default = "default_seed")]
    +    pub seed: usize,
    +    #[serde(default = "default_10k")]
    +    pub init_points: usize,
    +    #[serde(default = "default_false")]
    +    pub tui: bool,
    +    #[serde(default = "default_true")]
    +    pub output: bool,
    +    #[serde(default = "default_true")]
    +    pub cache: bool,
    +    #[serde(default = "default_idelta")]
    +    pub idelta: f64,
    +    #[serde(default = "default_log_level")]
    +    pub log_level: String,
    +    pub exclude: Option<Vec<String>>,
    +    #[serde(default = "default_tad")]
    +    pub tad: f64,
    +}
    +
    +/// Random parameters to be estimated
    +///
    +/// This struct contains the random parameters to be estimated. The parameters are specified as a hashmap, where the key is the name of the parameter, and the value is a tuple containing the upper and lower bounds of the parameter.
    +///
    +/// # Example
    +///
    +/// ```toml
    +/// [random]
    +/// alpha = [0.0, 1.0]
    +/// beta = [0.0, 1.0]
    +/// ```
    +#[derive(Debug, Deserialize, Clone, Serialize)]
    +pub struct Random {
    +    #[serde(flatten)]
    +    pub parameters: HashMap<String, (f64, f64)>,
    +}
    +
    +impl Random {
    +    /// Get the upper and lower bounds of a random parameter from its key
    +    pub fn get(&self, key: &str) -> Option<&(f64, f64)> {
    +        self.parameters.get(key)
    +    }
    +
    +    /// Returns a vector of tuples containing the names and ranges of the random parameters
    +    pub fn names_and_ranges(&self) -> Vec<(String, (f64, f64))> {
    +        let mut pairs: Vec<(String, (f64, f64))> = self
    +            .parameters
    +            .iter()
    +            .map(|(key, &(upper, lower))| (key.clone(), (upper, lower)))
    +            .collect();
    +
    +        // Sorting alphabetically by name
    +        pairs.sort_by(|a, b| a.0.cmp(&b.0));
    +
    +        pairs
    +    }
    +    /// Returns a vector of the names of the random parameters
    +    pub fn names(&self) -> Vec<String> {
    +        self.names_and_ranges()
    +            .into_iter()
    +            .map(|(name, _)| name)
    +            .collect()
    +    }
    +
    +    /// Returns a vector of the upper and lower bounds of the random parameters
    +    pub fn ranges(&self) -> Vec<(f64, f64)> {
    +        self.names_and_ranges()
    +            .into_iter()
    +            .map(|(_, range)| range)
    +            .collect()
    +    }
    +
    +    /// Validate the boundaries of the random parameters
    +    pub fn validate(&self) -> Result<(), String> {
    +        for (key, &(lower, upper)) in &self.parameters {
    +            if lower >= upper {
    +                return Err(format!(
    +                    "In key '{}', lower bound ({}) is not less than upper bound ({})",
    +                    key, lower, upper
    +                ));
    +            }
    +        }
    +        Ok(())
    +    }
    +}
    +
    +/// Parameters which are estimated, but fixed for the population
    +#[derive(Debug, Deserialize, Clone, Serialize)]
    +pub struct Fixed {
    +    #[serde(flatten)]
    +    pub parameters: HashMap<String, f64>,
    +}
    +
    +/// Parameters which are held constant
    +#[derive(Debug, Deserialize, Clone, Serialize)]
    +pub struct Constant {
    +    #[serde(flatten)]
    +    pub parameters: HashMap<String, f64>,
    +}
    +
    +/// Defines the error model and polynomial to be used
    +#[derive(Debug, Deserialize, Clone, Serialize)]
    +#[serde(deny_unknown_fields)]
    +pub struct Error {
    +    pub value: f64,
    +    pub class: String,
    +    pub poly: (f64, f64, f64, f64),
    +}
    +
    +impl Error {
    +    pub fn validate(&self) -> Result<(), String> {
    +        if self.value < 0.0 {
    +            return Err(format!(
    +                "Error value must be non-negative, got {}",
    +                self.value
    +            ));
    +        }
    +        Ok(())
    +    }
    +}
    +
    +/// Parses the settings from a TOML configuration file
    +///
    +/// This function parses the settings from a TOML configuration file. The settings are validated, and a copy of the settings is written to file.
    +///
    +/// Entries in the TOML file may be overridden by environment variables. The environment variables must be prefixed with `NPCORE_`, and the TOML entry must be in uppercase. For example, the TUI may be disabled by setting the environment variable `NPCORE_TUI=false`.
    +pub fn read_settings(path: String) -> Result<Settings, config::ConfigError> {
    +    let settings_path = path;
    +
    +    let parsed = eConfig::builder()
    +        .add_source(config::File::with_name(&settings_path).format(config::FileFormat::Toml))
    +        .add_source(config::Environment::with_prefix("NPCORE").separator("_"))
    +        .build()?;
    +
    +    // Deserialize settings to the Settings struct
    +    let settings: Settings = parsed.try_deserialize()?;
    +
    +    // Validate entries
    +    settings
    +        .random
    +        .validate()
    +        .map_err(config::ConfigError::Message)?;
    +    settings
    +        .error
    +        .validate()
    +        .map_err(config::ConfigError::Message)?;
    +
    +    // Write a copy of the settings to file
    +    write_settings_to_file(&settings).expect("Could not write settings to file");
    +
    +    Ok(settings) // Return the settings wrapped in Ok
    +}
    +
    +/// Writes a copy of the parsed settings to file
    +///
    +/// This function writes a copy of the parsed settings to file. The file is written to the current working directory, and is named `settings.json`.
    +pub fn write_settings_to_file(settings: &Settings) -> Result<(), std::io::Error> {
    +    let serialized = serde_json::to_string_pretty(settings)
    +        .map_err(|e| std::io::Error::new(std::io::ErrorKind::Other, e))?;
    +
    +    let file_path = "settings.json";
    +    let mut file = std::fs::File::create(file_path)?;
    +    std::io::Write::write_all(&mut file, serialized.as_bytes())?;
    +    Ok(())
    +}
    +
    +// *********************************
    +// Default values for deserializing
    +// *********************************
    +fn default_true() -> bool {
    +    true
    +}
    +
    +fn default_false() -> bool {
    +    false
    +}
    +
    +fn default_log_level() -> String {
    +    "info".to_string()
    +}
    +
    +fn default_seed() -> usize {
    +    347
    +}
    +
    +fn default_idelta() -> f64 {
    +    0.12
    +}
    +
    +fn default_tad() -> f64 {
    +    0.0
    +}
    +
    +fn default_10k() -> usize {
    +    10_000
    +}
    +
    \ No newline at end of file diff --git a/src/npcore/routines/settings/run.rs.html b/src/npcore/routines/settings/run.rs.html deleted file mode 100644 index d31a559e1..000000000 --- a/src/npcore/routines/settings/run.rs.html +++ /dev/null @@ -1,305 +0,0 @@ -run.rs - source
    1
    -2
    -3
    -4
    -5
    -6
    -7
    -8
    -9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    -22
    -23
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -32
    -33
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -
    use serde_derive::Deserialize;
    -use std::fs;
    -use std::process::exit;
    -use toml::value::Array;
    -use toml::{self, Table};
    -
    -/// Settings used for algorithm execution
    -///
    -/// The user can specify the desired settings in a TOML configuration file, see `routines::settings::run` for details.
    -#[derive(Deserialize, Clone, Debug)]
    -pub struct Settings {
    -    pub computed: Computed,
    -    pub parsed: Parsed,
    -}
    -
    -#[derive(Deserialize, Clone, Debug)]
    -pub struct Computed {
    -    pub random: Range,
    -    pub constant: Single,
    -    pub fixed: Single,
    -}
    -
    -/// The `Error` struct is used to specify the error model
    -/// - `value`: the value of the error
    -/// - `class`: the class of the error, can be either `additive` or `proportional`
    -/// - `poly`: the polynomial coefficients of the error model
    -///
    -/// For more information see `routines::evaluation::sigma`
    -#[derive(Deserialize, Clone, Debug)]
    -pub struct Error {
    -    pub value: f64,
    -    pub class: String,
    -    pub poly: (f64, f64, f64, f64),
    -}
    -
    -#[derive(Deserialize, Clone, Debug)]
    -pub struct Range {
    -    pub names: Vec<String>,
    -    pub ranges: Vec<(f64, f64)>,
    -}
    -
    -#[derive(Deserialize, Clone, Debug)]
    -pub struct Single {
    -    pub names: Vec<String>,
    -    pub values: Vec<f64>,
    -}
    -
    -#[derive(Deserialize, Clone, Debug)]
    -pub struct Parsed {
    -    pub paths: Paths,
    -    pub config: Config,
    -    pub random: Table,
    -    pub fixed: Option<Table>,
    -    pub constant: Option<Table>,
    -    pub error: Error,
    -}
    -
    -#[derive(Deserialize, Clone, Debug)]
    -pub struct Paths {
    -    pub data: String,
    -    pub log_out: String,
    -    pub prior_dist: Option<String>,
    -}
    -
    -#[derive(Deserialize, Clone, Debug)]
    -pub struct Config {
    -    pub cycles: usize,
    -    pub engine: String,
    -    pub init_points: usize,
    -    pub seed: u32,
    -    pub tui: bool,
    -    pub pmetrics_outputs: Option<bool>,
    -    pub exclude: Option<Array>,
    -    pub cache: Option<bool>,
    -    pub idelta: Option<f64>,
    -    pub tad: Option<f64>,
    -    pub log_level: Option<String>,
    -}
    -
    -/// Read and parse settings from a TOML configuration file
    -pub fn read(filename: String) -> Settings {
    -    let contents = match fs::read_to_string(&filename) {
    -        Ok(c) => c,
    -        Err(e) => {
    -            eprintln!("{}", e);
    -            eprintln!("ERROR: Could not read file {}", &filename);
    -            exit(1);
    -        }
    -    };
    -
    -    let parsed: Parsed = match toml::from_str(&contents) {
    -        Ok(d) => d,
    -        Err(e) => {
    -            eprintln!("{}", e);
    -            eprintln!("ERROR: Unable to load data from {}", &filename);
    -            exit(1);
    -        }
    -    };
    -    //Pri
    -    let mut pr = vec![];
    -    let mut pn = vec![];
    -    for (name, range) in &parsed.random {
    -        let range = range.as_array().unwrap();
    -        if range.len() != 2 {
    -            eprintln!(
    -                "ERROR: Ranges can only have 2 elements, {} found",
    -                range.len()
    -            );
    -            eprintln!("ERROR: In {:?}: {:?}", name, range);
    -            exit(1);
    -        }
    -        pn.push(name.clone());
    -        pr.push((range[0].as_float().unwrap(), range[1].as_float().unwrap()));
    -    }
    -    //Constant
    -    let mut cn = vec![];
    -    let mut cv = vec![];
    -    if let Some(constant) = &parsed.constant {
    -        for (name, value) in constant {
    -            cn.push(name.clone());
    -            cv.push(value.as_float().unwrap());
    -        }
    -    }
    -
    -    //Randfix
    -    let mut rn = vec![];
    -    let mut rv = vec![];
    -    if let Some(randfix) = &parsed.fixed {
    -        for (name, value) in randfix {
    -            rn.push(name.clone());
    -            rv.push(value.as_float().unwrap());
    -        }
    -    }
    -
    -    Settings {
    -        computed: Computed {
    -            random: Range {
    -                names: pn,
    -                ranges: pr,
    -            },
    -            constant: Single {
    -                names: cn,
    -                values: cv,
    -            },
    -            fixed: Single {
    -                names: rn,
    -                values: rv,
    -            },
    -        },
    -        parsed,
    -    }
    -}
    -
    \ No newline at end of file diff --git a/src/npcore/routines/settings/simulator.rs.html b/src/npcore/routines/settings/simulator.rs.html deleted file mode 100644 index 2a3519cd1..000000000 --- a/src/npcore/routines/settings/simulator.rs.html +++ /dev/null @@ -1,103 +0,0 @@ -simulator.rs - source
    1
    -2
    -3
    -4
    -5
    -6
    -7
    -8
    -9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    -22
    -23
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -32
    -33
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -
    use serde_derive::Deserialize;
    -use std::fs;
    -use std::process::exit;
    -use toml;
    -
    -#[derive(Deserialize, Clone, Debug)]
    -pub struct Settings {
    -    pub paths: Paths,
    -    pub config: Config,
    -}
    -
    -#[derive(Deserialize, Clone, Debug)]
    -pub struct Paths {
    -    pub data: String,
    -    pub theta: String,
    -}
    -
    -#[derive(Deserialize, Clone, Debug)]
    -pub struct Config {
    -    pub idelta: Option<f64>,
    -    pub tad: Option<f64>,
    -}
    -
    -pub fn read(filename: String) -> Settings {
    -    let contents = match fs::read_to_string(&filename) {
    -        Ok(c) => c,
    -        Err(e) => {
    -            eprintln!("{}", e);
    -            eprintln!("ERROR: Could not read file {}", &filename);
    -            exit(1);
    -        }
    -    };
    -    let parse: Settings = match toml::from_str(&contents) {
    -        Ok(d) => d,
    -        Err(e) => {
    -            eprintln!("{}", e);
    -            eprintln!("ERROR: Unable to load data from {}", &filename);
    -            exit(1);
    -        }
    -    };
    -    Settings {
    -        paths: Paths {
    -            data: parse.paths.data,
    -            theta: parse.paths.theta,
    -        },
    -        config: Config {
    -            idelta: parse.config.idelta,
    -            tad: parse.config.tad,
    -        },
    -    }
    -}
    -
    \ No newline at end of file diff --git a/src/npcore/tests/mod.rs.html b/src/npcore/tests/mod.rs.html index 91fc5e98a..4930bf57e 100644 --- a/src/npcore/tests/mod.rs.html +++ b/src/npcore/tests/mod.rs.html @@ -46,45 +46,6 @@ 46 47 48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87
    #[cfg(test)]
     use crate::prelude::*;
     
    @@ -120,45 +81,6 @@
         )
     }
     
    -#[test]
    -fn read_mandatory_settings() {
    -    let settings = settings::run::read("src/tests/config.toml".to_string());
    -    assert_eq!(settings.parsed.paths.data, "data.csv");
    -    assert_eq!(settings.parsed.config.cycles, 1024);
    -    assert_eq!(settings.parsed.config.engine, "NPAG");
    -}
    -
    -#[test]
    -fn read_parameter_names() {
    -    let settings = settings::run::read("src/tests/config.toml".to_string());
    -    assert_eq!(settings.computed.random.names, vec!["ka", "ke", "v"]);
    -}
    -
    -#[test]
    -fn read_parameter_ranges() {
    -    let settings = settings::run::read("src/tests/config.toml".to_string());
    -
    -    assert_eq!(
    -        settings.computed.random.ranges,
    -        vec![(0.1, 0.9), (0.001, 0.1), (30.0, 120.0)]
    -    );
    -}
    -
    -#[test]
    -fn read_randfix() {
    -    let settings = settings::run::read("src/tests/config.toml".to_string());
    -    assert_eq!(settings.computed.fixed.names, vec!["KCP", "KPC"]);
    -    assert_eq!(settings.computed.fixed.values, vec![5.1, 2.0]);
    -}
    -
    -#[test]
    -fn read_error() {
    -    let settings = settings::run::read("src/tests/config.toml".to_string());
    -    assert_eq!(settings.parsed.error.value, 0.5);
    -    assert_eq!(settings.parsed.error.class, "additive");
    -    assert_eq!(settings.parsed.error.poly, (0.0, 0.5, 0.0, 0.0))
    -}
    -
     #[test]
     fn read_test_datafile() {
         let scenarios = datafile::parse(&"src/tests/test.csv".to_string());
    diff --git a/src/npcore/tui/components.rs.html b/src/npcore/tui/components.rs.html
    index b4031b0ce..aca835fc8 100644
    --- a/src/npcore/tui/components.rs.html
    +++ b/src/npcore/tui/components.rs.html
    @@ -268,65 +268,6 @@
     268
     269
     270
    -271
    -272
    -273
    -274
    -275
    -276
    -277
    -278
    -279
    -280
    -281
    -282
    -283
    -284
    -285
    -286
    -287
    -288
    -289
    -290
    -291
    -292
    -293
    -294
    -295
    -296
    -297
    -298
    -299
    -300
    -301
    -302
    -303
    -304
    -305
    -306
    -307
    -308
    -309
    -310
    -311
    -312
    -313
    -314
    -315
    -316
    -317
    -318
    -319
    -320
    -321
    -322
    -323
    -324
    -325
    -326
    -327
    -328
    -329
     
    use std::time::Duration;
     
     /// This file contains the different components of the TUI
    @@ -344,7 +285,7 @@
     
     use super::App;
     
    -use crate::prelude::settings::run::Settings;
    +use crate::prelude::settings::Settings;
     
     pub fn draw_title<'a>() -> Paragraph<'a> {
         Paragraph::new("NPcore Execution")
    @@ -407,17 +348,16 @@
     pub fn draw_options<'a>(settings: &Settings) -> Table<'a> {
         // Define the table data
     
    -    let cycles = settings.parsed.config.cycles.to_string();
    -    let engine = settings.parsed.config.engine.to_string();
    +    let cycles = settings.config.cycles.to_string();
    +    let engine = settings.config.engine.to_string();
         let conv_crit = "Placeholder".to_string();
    -    let indpts = settings.parsed.config.init_points.to_string();
    -    let error = settings.parsed.error.class.to_string();
    -    let cache = match settings.parsed.config.cache {
    -        Some(true) => "Yes".to_string(),
    -        Some(false) => "No".to_string(),
    -        None => "Not set".to_string(),
    +    let indpts = settings.config.init_points.to_string();
    +    let error = settings.error.class.to_string();
    +    let cache = match settings.config.cache {
    +        true => "Enabled".to_string(),
    +        false => "Disabled".to_string(),
         };
    -    let seed = settings.parsed.config.seed.to_string();
    +    let seed = settings.config.seed.to_string();
     
         let data = vec![
             ("Maximum cycles", cycles),
    @@ -584,64 +524,6 @@
         tabs
     }
     
    -fn get_computed_settings(settings: &Settings) -> Vec<Row> {
    -    let computed = settings.computed.clone();
    -    let mut rows = Vec::new();
    -    let key_style = Style::default().fg(Color::LightCyan);
    -    let help_style = Style::default().fg(Color::Gray);
    -
    -    // Iterate over the random ranges
    -    for (name, &(start, end)) in computed.random.names.iter().zip(&computed.random.ranges) {
    -        let row = Row::new(vec![
    -            Cell::from(Span::styled(name.to_string(), key_style)),
    -            Cell::from(Span::styled(
    -                format!("{:.2} - {:.2}", start, end),
    -                help_style,
    -            )),
    -        ]);
    -        rows.push(row);
    -    }
    -
    -    // Iterate over the constant values
    -    for (name, &value) in computed
    -        .constant
    -        .names
    -        .iter()
    -        .zip(&computed.constant.values)
    -    {
    -        let row = Row::new(vec![
    -            Cell::from(Span::styled(name.to_string(), key_style)),
    -            Cell::from(Span::styled(format!("{:.2} (Constant)", value), help_style)),
    -        ]);
    -        rows.push(row);
    -    }
    -
    -    // Iterate over the fixed values
    -    for (name, &value) in computed.fixed.names.iter().zip(&computed.fixed.values) {
    -        let row = Row::new(vec![
    -            Cell::from(Span::styled(name.to_string(), key_style)),
    -            Cell::from(Span::styled(format!("{:.2} (Fixed)", value), help_style)),
    -        ]);
    -        rows.push(row);
    -    }
    -
    -    rows
    -}
    -
    -pub fn draw_parameter_bounds(settings: &Settings) -> Table {
    -    let rows = get_computed_settings(&settings);
    -    Table::default()
    -        .rows(rows)
    -        .block(
    -            Block::default()
    -                .borders(Borders::ALL)
    -                .border_type(BorderType::Plain)
    -                .title(" Parameters "),
    -        )
    -        .widths(&[Constraint::Percentage(20), Constraint::Percentage(80)]) // Set percentage widths for columns
    -        .column_spacing(1)
    -}
    -
     fn format_time(elapsed_time: std::time::Duration) -> String {
         let elapsed_seconds = elapsed_time.as_secs();
         let (elapsed, unit) = if elapsed_seconds < 60 {
    diff --git a/src/npcore/tui/ui.rs.html b/src/npcore/tui/ui.rs.html
    index 5ec3c93c7..8ccf892a0 100644
    --- a/src/npcore/tui/ui.rs.html
    +++ b/src/npcore/tui/ui.rs.html
    @@ -234,6 +234,19 @@
     234
     235
     236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
    +245
    +246
    +247
    +248
    +249
     
    //! Defines the Terminal User Interface (TUI) for NPcore
     
     use crossterm::execute;
    @@ -264,10 +277,11 @@
         LogMessage(String),
     }
     
    -use crate::prelude::{output::NPCycle, settings::run::Settings};
    +use crate::prelude::{output::NPCycle, settings::Settings};
     use crate::tui::components::*;
     
     pub fn start_ui(mut rx: UnboundedReceiver<Comm>, settings: Settings) -> Result<()> {
    +    initialize_panic_handler();
         let mut stdout = stdout();
         execute!(stdout, crossterm::terminal::EnterAlternateScreen)?;
         crossterm::terminal::enable_raw_mode()?;
    @@ -464,10 +478,22 @@
                 rect.render_widget(plot, tab_layout[1]);
             }
             2 => {
    -            let par_bounds = draw_parameter_bounds(&settings);
    -            rect.render_widget(par_bounds, tab_layout[1]);
    +            // TODO: Return this to show the parameter boundaries
    +            let plot = draw_plot(&mut norm_data);
    +            rect.render_widget(plot, tab_layout[1]);
             }
             _ => unreachable!(),
         };
     }
    +
    +// From https://ratatui.rs/how-to/develop-apps/panic-hooks/
    +pub fn initialize_panic_handler() {
    +    let original_hook = std::panic::take_hook();
    +    std::panic::set_hook(Box::new(move |panic_info| {
    +        crossterm::execute!(std::io::stderr(), crossterm::terminal::LeaveAlternateScreen).unwrap();
    +        crossterm::terminal::disable_raw_mode().unwrap();
    +        crossterm::terminal::Clear(crossterm::terminal::ClearType::All);
    +        original_hook(panic_info);
    +    }));
    +}
     
    \ No newline at end of file diff --git a/trait.impl/core/clone/trait.Clone.js b/trait.impl/core/clone/trait.Clone.js index 9de19bb92..fe3a2d06c 100644 --- a/trait.impl/core/clone/trait.Clone.js +++ b/trait.impl/core/clone/trait.Clone.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"npcore":[["impl Clone for Error"],["impl<S> Clone for Engine<S>where\n S: Predict<'static> + Clone + Clone,"],["impl Clone for CycleHistory"],["impl Clone for Model"],["impl Clone for Config"],["impl Clone for Settings"],["impl Clone for Actions"],["impl Clone for Infusion"],["impl Clone for CovLine"],["impl Clone for Single"],["impl Clone for Paths"],["impl Clone for Config"],["impl Clone for Scenario"],["impl Clone for Range"],["impl Clone for Event"],["impl Clone for Parsed"],["impl Clone for Settings"],["impl Clone for Key"],["impl Clone for Dose"],["impl Clone for ErrorType"],["impl Clone for Action"],["impl Clone for NPCycle"],["impl Clone for Computed"],["impl Clone for Block"],["impl Clone for Paths"]] +"npcore":[["impl Clone for Dose"],["impl Clone for Fixed"],["impl Clone for Constant"],["impl Clone for Model"],["impl Clone for Error"],["impl Clone for NPCycle"],["impl Clone for Event"],["impl Clone for Action"],["impl Clone for CycleHistory"],["impl Clone for ErrorType"],["impl Clone for CovLine"],["impl Clone for Key"],["impl<S> Clone for Engine<S>where\n S: Predict<'static> + Clone + Clone,"],["impl Clone for Block"],["impl Clone for Infusion"],["impl Clone for Random"],["impl Clone for Paths"],["impl Clone for Scenario"],["impl Clone for Actions"],["impl Clone for Config"],["impl Clone for Settings"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/cmp/trait.Eq.js b/trait.impl/core/cmp/trait.Eq.js index f397c3480..9a509030c 100644 --- a/trait.impl/core/cmp/trait.Eq.js +++ b/trait.impl/core/cmp/trait.Eq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"npcore":[["impl Eq for AppReturn"],["impl Eq for Key"],["impl Eq for Action"]] +"npcore":[["impl Eq for AppReturn"],["impl Eq for Action"],["impl Eq for Key"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/convert/trait.From.js b/trait.impl/core/convert/trait.From.js index ec7c1e702..e4fc8bfd8 100644 --- a/trait.impl/core/convert/trait.From.js +++ b/trait.impl/core/convert/trait.From.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"npcore":[["impl From<Vec<Action>> for Actions"],["impl From<KeyEvent> for Key"]] +"npcore":[["impl From<KeyEvent> for Key"],["impl From<Vec<Action>> for Actions"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/default/trait.Default.js b/trait.impl/core/default/trait.Default.js index ba131f7ea..96bcf2be0 100644 --- a/trait.impl/core/default/trait.Default.js +++ b/trait.impl/core/default/trait.Default.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"npcore":[["impl Default for Actions"],["impl Default for NPCycle"],["impl Default for CycleHistory"]] +"npcore":[["impl Default for Actions"],["impl Default for CycleHistory"],["impl Default for NPCycle"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/fmt/trait.Debug.js b/trait.impl/core/fmt/trait.Debug.js index 2b78f58f2..3fddac3f4 100644 --- a/trait.impl/core/fmt/trait.Debug.js +++ b/trait.impl/core/fmt/trait.Debug.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"npcore":[["impl Debug for Paths"],["impl Debug for Config"],["impl Debug for Block"],["impl Debug for Single"],["impl Debug for Settings"],["impl<S> Debug for Engine<S>where\n S: Predict<'static> + Clone + Debug,"],["impl Debug for Parsed"],["impl Debug for Computed"],["impl Debug for Action"],["impl Debug for CycleWriter"],["impl Debug for Error"],["impl Debug for Range"],["impl Debug for InputEvent"],["impl Debug for CovLine"],["impl Debug for Key"],["impl Debug for Actions"],["impl Debug for Scenario"],["impl Debug for MetaWriter"],["impl Debug for Model"],["impl Debug for Event"],["impl Debug for Infusion"],["impl Debug for CycleHistory"],["impl Debug for Settings"],["impl Debug for NPResult"],["impl Debug for CycleLog"],["impl Debug for NPCycle"],["impl Debug for Paths"],["impl Debug for Config"],["impl Debug for AppReturn"],["impl Debug for ErrorType"],["impl Debug for Dose"]] +"npcore":[["impl Debug for Infusion"],["impl Debug for Key"],["impl Debug for CycleWriter"],["impl Debug for Paths"],["impl Debug for Config"],["impl Debug for Actions"],["impl Debug for Fixed"],["impl Debug for CovLine"],["impl Debug for Event"],["impl Debug for CycleHistory"],["impl Debug for Random"],["impl Debug for ErrorType"],["impl Debug for Settings"],["impl Debug for CycleLog"],["impl Debug for Error"],["impl<S> Debug for Engine<S>where\n S: Predict<'static> + Clone + Debug,"],["impl Debug for Action"],["impl Debug for Constant"],["impl Debug for Block"],["impl Debug for Dose"],["impl Debug for NPResult"],["impl Debug for Model"],["impl Debug for MetaWriter"],["impl Debug for InputEvent"],["impl Debug for NPCycle"],["impl Debug for Scenario"],["impl Debug for AppReturn"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/fmt/trait.Display.js b/trait.impl/core/fmt/trait.Display.js index 0cde9b34e..14b37a644 100644 --- a/trait.impl/core/fmt/trait.Display.js +++ b/trait.impl/core/fmt/trait.Display.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"npcore":[["impl Display for Action"],["impl Display for Key"]] +"npcore":[["impl Display for Key"],["impl Display for Action"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Freeze.js b/trait.impl/core/marker/trait.Freeze.js index f3cf38bc7..45b5cbec3 100644 --- a/trait.impl/core/marker/trait.Freeze.js +++ b/trait.impl/core/marker/trait.Freeze.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"npcore":[["impl Freeze for Scenario",1,["npcore::routines::datafile::Scenario"]],["impl Freeze for Infusion",1,["npcore::routines::datafile::Infusion"]],["impl Freeze for Dose",1,["npcore::routines::datafile::Dose"]],["impl Freeze for CovLine",1,["npcore::routines::datafile::CovLine"]],["impl Freeze for Block",1,["npcore::routines::datafile::Block"]],["impl Freeze for Event",1,["npcore::routines::datafile::Event"]],["impl<'a, S, P> Freeze for SppOptimizer<'a, S, P>",1,["npcore::routines::optimization::d_optimizer::SppOptimizer"]],["impl Freeze for NPResult",1,["npcore::routines::output::NPResult"]],["impl Freeze for CycleLog",1,["npcore::routines::output::CycleLog"]],["impl Freeze for NPCycle",1,["npcore::routines::output::NPCycle"]],["impl Freeze for CycleWriter",1,["npcore::routines::output::CycleWriter"]],["impl Freeze for MetaWriter",1,["npcore::routines::output::MetaWriter"]],["impl Freeze for Settings",1,["npcore::routines::settings::run::Settings"]],["impl Freeze for Computed",1,["npcore::routines::settings::run::Computed"]],["impl Freeze for Error",1,["npcore::routines::settings::run::Error"]],["impl Freeze for Range",1,["npcore::routines::settings::run::Range"]],["impl Freeze for Single",1,["npcore::routines::settings::run::Single"]],["impl Freeze for Parsed",1,["npcore::routines::settings::run::Parsed"]],["impl Freeze for Paths",1,["npcore::routines::settings::run::Paths"]],["impl Freeze for Config",1,["npcore::routines::settings::run::Config"]],["impl Freeze for Settings",1,["npcore::routines::settings::simulator::Settings"]],["impl Freeze for Paths",1,["npcore::routines::settings::simulator::Paths"]],["impl Freeze for Config",1,["npcore::routines::settings::simulator::Config"]],["impl<'a> Freeze for ErrorPoly<'a>",1,["npcore::routines::evaluation::sigma::ErrorPoly"]],["impl Freeze for ErrorType",1,["npcore::routines::evaluation::sigma::ErrorType"]],["impl Freeze for Model",1,["npcore::routines::simulation::predict::Model"]],["impl<S> Freeze for Engine<S>where\n S: Freeze,",1,["npcore::routines::simulation::predict::Engine"]],["impl Freeze for Action",1,["npcore::tui::actions::Action"]],["impl Freeze for Actions",1,["npcore::tui::actions::Actions"]],["impl Freeze for Events",1,["npcore::tui::inputs::events::Events"]],["impl Freeze for Key",1,["npcore::tui::inputs::key::Key"]],["impl Freeze for InputEvent",1,["npcore::tui::inputs::InputEvent"]],["impl Freeze for CycleHistory",1,["npcore::tui::state::CycleHistory"]],["impl Freeze for Comm",1,["npcore::tui::ui::Comm"]],["impl Freeze for AppReturn",1,["npcore::tui::AppReturn"]],["impl Freeze for App",1,["npcore::tui::App"]]] +"npcore":[["impl Freeze for Scenario",1,["npcore::routines::datafile::Scenario"]],["impl Freeze for Infusion",1,["npcore::routines::datafile::Infusion"]],["impl Freeze for Dose",1,["npcore::routines::datafile::Dose"]],["impl Freeze for CovLine",1,["npcore::routines::datafile::CovLine"]],["impl Freeze for Block",1,["npcore::routines::datafile::Block"]],["impl Freeze for Event",1,["npcore::routines::datafile::Event"]],["impl<'a, S, P> Freeze for SppOptimizer<'a, S, P>",1,["npcore::routines::optimization::d_optimizer::SppOptimizer"]],["impl Freeze for NPResult",1,["npcore::routines::output::NPResult"]],["impl Freeze for CycleLog",1,["npcore::routines::output::CycleLog"]],["impl Freeze for NPCycle",1,["npcore::routines::output::NPCycle"]],["impl Freeze for CycleWriter",1,["npcore::routines::output::CycleWriter"]],["impl Freeze for MetaWriter",1,["npcore::routines::output::MetaWriter"]],["impl Freeze for Settings",1,["npcore::routines::settings::Settings"]],["impl Freeze for Paths",1,["npcore::routines::settings::Paths"]],["impl Freeze for Config",1,["npcore::routines::settings::Config"]],["impl Freeze for Random",1,["npcore::routines::settings::Random"]],["impl Freeze for Fixed",1,["npcore::routines::settings::Fixed"]],["impl Freeze for Constant",1,["npcore::routines::settings::Constant"]],["impl Freeze for Error",1,["npcore::routines::settings::Error"]],["impl<'a> Freeze for ErrorPoly<'a>",1,["npcore::routines::evaluation::sigma::ErrorPoly"]],["impl Freeze for ErrorType",1,["npcore::routines::evaluation::sigma::ErrorType"]],["impl Freeze for Model",1,["npcore::routines::simulation::predict::Model"]],["impl<S> Freeze for Engine<S>where\n S: Freeze,",1,["npcore::routines::simulation::predict::Engine"]],["impl Freeze for Action",1,["npcore::tui::actions::Action"]],["impl Freeze for Actions",1,["npcore::tui::actions::Actions"]],["impl Freeze for Events",1,["npcore::tui::inputs::events::Events"]],["impl Freeze for Key",1,["npcore::tui::inputs::key::Key"]],["impl Freeze for InputEvent",1,["npcore::tui::inputs::InputEvent"]],["impl Freeze for CycleHistory",1,["npcore::tui::state::CycleHistory"]],["impl Freeze for Comm",1,["npcore::tui::ui::Comm"]],["impl Freeze for AppReturn",1,["npcore::tui::AppReturn"]],["impl Freeze for App",1,["npcore::tui::App"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Send.js b/trait.impl/core/marker/trait.Send.js index 8debc8a8e..67e475bc7 100644 --- a/trait.impl/core/marker/trait.Send.js +++ b/trait.impl/core/marker/trait.Send.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"npcore":[["impl Send for Scenario",1,["npcore::routines::datafile::Scenario"]],["impl Send for Infusion",1,["npcore::routines::datafile::Infusion"]],["impl Send for Dose",1,["npcore::routines::datafile::Dose"]],["impl Send for CovLine",1,["npcore::routines::datafile::CovLine"]],["impl Send for Block",1,["npcore::routines::datafile::Block"]],["impl Send for Event",1,["npcore::routines::datafile::Event"]],["impl<'a, S, P> Send for SppOptimizer<'a, S, P>",1,["npcore::routines::optimization::d_optimizer::SppOptimizer"]],["impl Send for NPResult",1,["npcore::routines::output::NPResult"]],["impl Send for CycleLog",1,["npcore::routines::output::CycleLog"]],["impl Send for NPCycle",1,["npcore::routines::output::NPCycle"]],["impl Send for CycleWriter",1,["npcore::routines::output::CycleWriter"]],["impl Send for MetaWriter",1,["npcore::routines::output::MetaWriter"]],["impl Send for Settings",1,["npcore::routines::settings::run::Settings"]],["impl Send for Computed",1,["npcore::routines::settings::run::Computed"]],["impl Send for Error",1,["npcore::routines::settings::run::Error"]],["impl Send for Range",1,["npcore::routines::settings::run::Range"]],["impl Send for Single",1,["npcore::routines::settings::run::Single"]],["impl Send for Parsed",1,["npcore::routines::settings::run::Parsed"]],["impl Send for Paths",1,["npcore::routines::settings::run::Paths"]],["impl Send for Config",1,["npcore::routines::settings::run::Config"]],["impl Send for Settings",1,["npcore::routines::settings::simulator::Settings"]],["impl Send for Paths",1,["npcore::routines::settings::simulator::Paths"]],["impl Send for Config",1,["npcore::routines::settings::simulator::Config"]],["impl<'a> Send for ErrorPoly<'a>",1,["npcore::routines::evaluation::sigma::ErrorPoly"]],["impl Send for ErrorType",1,["npcore::routines::evaluation::sigma::ErrorType"]],["impl Send for Model",1,["npcore::routines::simulation::predict::Model"]],["impl<S> Send for Engine<S>where\n S: Send,",1,["npcore::routines::simulation::predict::Engine"]],["impl Send for Action",1,["npcore::tui::actions::Action"]],["impl Send for Actions",1,["npcore::tui::actions::Actions"]],["impl Send for Events",1,["npcore::tui::inputs::events::Events"]],["impl Send for Key",1,["npcore::tui::inputs::key::Key"]],["impl Send for InputEvent",1,["npcore::tui::inputs::InputEvent"]],["impl Send for CycleHistory",1,["npcore::tui::state::CycleHistory"]],["impl Send for Comm",1,["npcore::tui::ui::Comm"]],["impl Send for AppReturn",1,["npcore::tui::AppReturn"]],["impl Send for App",1,["npcore::tui::App"]]] +"npcore":[["impl Send for Scenario",1,["npcore::routines::datafile::Scenario"]],["impl Send for Infusion",1,["npcore::routines::datafile::Infusion"]],["impl Send for Dose",1,["npcore::routines::datafile::Dose"]],["impl Send for CovLine",1,["npcore::routines::datafile::CovLine"]],["impl Send for Block",1,["npcore::routines::datafile::Block"]],["impl Send for Event",1,["npcore::routines::datafile::Event"]],["impl<'a, S, P> Send for SppOptimizer<'a, S, P>",1,["npcore::routines::optimization::d_optimizer::SppOptimizer"]],["impl Send for NPResult",1,["npcore::routines::output::NPResult"]],["impl Send for CycleLog",1,["npcore::routines::output::CycleLog"]],["impl Send for NPCycle",1,["npcore::routines::output::NPCycle"]],["impl Send for CycleWriter",1,["npcore::routines::output::CycleWriter"]],["impl Send for MetaWriter",1,["npcore::routines::output::MetaWriter"]],["impl Send for Settings",1,["npcore::routines::settings::Settings"]],["impl Send for Paths",1,["npcore::routines::settings::Paths"]],["impl Send for Config",1,["npcore::routines::settings::Config"]],["impl Send for Random",1,["npcore::routines::settings::Random"]],["impl Send for Fixed",1,["npcore::routines::settings::Fixed"]],["impl Send for Constant",1,["npcore::routines::settings::Constant"]],["impl Send for Error",1,["npcore::routines::settings::Error"]],["impl<'a> Send for ErrorPoly<'a>",1,["npcore::routines::evaluation::sigma::ErrorPoly"]],["impl Send for ErrorType",1,["npcore::routines::evaluation::sigma::ErrorType"]],["impl Send for Model",1,["npcore::routines::simulation::predict::Model"]],["impl<S> Send for Engine<S>where\n S: Send,",1,["npcore::routines::simulation::predict::Engine"]],["impl Send for Action",1,["npcore::tui::actions::Action"]],["impl Send for Actions",1,["npcore::tui::actions::Actions"]],["impl Send for Events",1,["npcore::tui::inputs::events::Events"]],["impl Send for Key",1,["npcore::tui::inputs::key::Key"]],["impl Send for InputEvent",1,["npcore::tui::inputs::InputEvent"]],["impl Send for CycleHistory",1,["npcore::tui::state::CycleHistory"]],["impl Send for Comm",1,["npcore::tui::ui::Comm"]],["impl Send for AppReturn",1,["npcore::tui::AppReturn"]],["impl Send for App",1,["npcore::tui::App"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.StructuralPartialEq.js b/trait.impl/core/marker/trait.StructuralPartialEq.js index 499f71d7f..e2146cf5d 100644 --- a/trait.impl/core/marker/trait.StructuralPartialEq.js +++ b/trait.impl/core/marker/trait.StructuralPartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"npcore":[["impl StructuralPartialEq for Key"],["impl StructuralPartialEq for AppReturn"],["impl StructuralPartialEq for Action"]] +"npcore":[["impl StructuralPartialEq for Action"],["impl StructuralPartialEq for AppReturn"],["impl StructuralPartialEq for Key"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Sync.js b/trait.impl/core/marker/trait.Sync.js index bd918af9f..edd5478e2 100644 --- a/trait.impl/core/marker/trait.Sync.js +++ b/trait.impl/core/marker/trait.Sync.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"npcore":[["impl Sync for Scenario",1,["npcore::routines::datafile::Scenario"]],["impl Sync for Infusion",1,["npcore::routines::datafile::Infusion"]],["impl Sync for Dose",1,["npcore::routines::datafile::Dose"]],["impl Sync for CovLine",1,["npcore::routines::datafile::CovLine"]],["impl Sync for Block",1,["npcore::routines::datafile::Block"]],["impl Sync for Event",1,["npcore::routines::datafile::Event"]],["impl<'a, S, P> Sync for SppOptimizer<'a, S, P>",1,["npcore::routines::optimization::d_optimizer::SppOptimizer"]],["impl Sync for NPResult",1,["npcore::routines::output::NPResult"]],["impl Sync for CycleLog",1,["npcore::routines::output::CycleLog"]],["impl Sync for NPCycle",1,["npcore::routines::output::NPCycle"]],["impl Sync for CycleWriter",1,["npcore::routines::output::CycleWriter"]],["impl Sync for MetaWriter",1,["npcore::routines::output::MetaWriter"]],["impl Sync for Settings",1,["npcore::routines::settings::run::Settings"]],["impl Sync for Computed",1,["npcore::routines::settings::run::Computed"]],["impl Sync for Error",1,["npcore::routines::settings::run::Error"]],["impl Sync for Range",1,["npcore::routines::settings::run::Range"]],["impl Sync for Single",1,["npcore::routines::settings::run::Single"]],["impl Sync for Parsed",1,["npcore::routines::settings::run::Parsed"]],["impl Sync for Paths",1,["npcore::routines::settings::run::Paths"]],["impl Sync for Config",1,["npcore::routines::settings::run::Config"]],["impl Sync for Settings",1,["npcore::routines::settings::simulator::Settings"]],["impl Sync for Paths",1,["npcore::routines::settings::simulator::Paths"]],["impl Sync for Config",1,["npcore::routines::settings::simulator::Config"]],["impl<'a> Sync for ErrorPoly<'a>",1,["npcore::routines::evaluation::sigma::ErrorPoly"]],["impl Sync for ErrorType",1,["npcore::routines::evaluation::sigma::ErrorType"]],["impl Sync for Model",1,["npcore::routines::simulation::predict::Model"]],["impl<S> Sync for Engine<S>where\n S: Sync,",1,["npcore::routines::simulation::predict::Engine"]],["impl Sync for Action",1,["npcore::tui::actions::Action"]],["impl Sync for Actions",1,["npcore::tui::actions::Actions"]],["impl Sync for Events",1,["npcore::tui::inputs::events::Events"]],["impl Sync for Key",1,["npcore::tui::inputs::key::Key"]],["impl Sync for InputEvent",1,["npcore::tui::inputs::InputEvent"]],["impl Sync for CycleHistory",1,["npcore::tui::state::CycleHistory"]],["impl Sync for Comm",1,["npcore::tui::ui::Comm"]],["impl Sync for AppReturn",1,["npcore::tui::AppReturn"]],["impl Sync for App",1,["npcore::tui::App"]]] +"npcore":[["impl Sync for Scenario",1,["npcore::routines::datafile::Scenario"]],["impl Sync for Infusion",1,["npcore::routines::datafile::Infusion"]],["impl Sync for Dose",1,["npcore::routines::datafile::Dose"]],["impl Sync for CovLine",1,["npcore::routines::datafile::CovLine"]],["impl Sync for Block",1,["npcore::routines::datafile::Block"]],["impl Sync for Event",1,["npcore::routines::datafile::Event"]],["impl<'a, S, P> Sync for SppOptimizer<'a, S, P>",1,["npcore::routines::optimization::d_optimizer::SppOptimizer"]],["impl Sync for NPResult",1,["npcore::routines::output::NPResult"]],["impl Sync for CycleLog",1,["npcore::routines::output::CycleLog"]],["impl Sync for NPCycle",1,["npcore::routines::output::NPCycle"]],["impl Sync for CycleWriter",1,["npcore::routines::output::CycleWriter"]],["impl Sync for MetaWriter",1,["npcore::routines::output::MetaWriter"]],["impl Sync for Settings",1,["npcore::routines::settings::Settings"]],["impl Sync for Paths",1,["npcore::routines::settings::Paths"]],["impl Sync for Config",1,["npcore::routines::settings::Config"]],["impl Sync for Random",1,["npcore::routines::settings::Random"]],["impl Sync for Fixed",1,["npcore::routines::settings::Fixed"]],["impl Sync for Constant",1,["npcore::routines::settings::Constant"]],["impl Sync for Error",1,["npcore::routines::settings::Error"]],["impl<'a> Sync for ErrorPoly<'a>",1,["npcore::routines::evaluation::sigma::ErrorPoly"]],["impl Sync for ErrorType",1,["npcore::routines::evaluation::sigma::ErrorType"]],["impl Sync for Model",1,["npcore::routines::simulation::predict::Model"]],["impl<S> Sync for Engine<S>where\n S: Sync,",1,["npcore::routines::simulation::predict::Engine"]],["impl Sync for Action",1,["npcore::tui::actions::Action"]],["impl Sync for Actions",1,["npcore::tui::actions::Actions"]],["impl Sync for Events",1,["npcore::tui::inputs::events::Events"]],["impl Sync for Key",1,["npcore::tui::inputs::key::Key"]],["impl Sync for InputEvent",1,["npcore::tui::inputs::InputEvent"]],["impl Sync for CycleHistory",1,["npcore::tui::state::CycleHistory"]],["impl Sync for Comm",1,["npcore::tui::ui::Comm"]],["impl Sync for AppReturn",1,["npcore::tui::AppReturn"]],["impl Sync for App",1,["npcore::tui::App"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Unpin.js b/trait.impl/core/marker/trait.Unpin.js index 46caee3f5..25a923a5e 100644 --- a/trait.impl/core/marker/trait.Unpin.js +++ b/trait.impl/core/marker/trait.Unpin.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"npcore":[["impl Unpin for Scenario",1,["npcore::routines::datafile::Scenario"]],["impl Unpin for Infusion",1,["npcore::routines::datafile::Infusion"]],["impl Unpin for Dose",1,["npcore::routines::datafile::Dose"]],["impl Unpin for CovLine",1,["npcore::routines::datafile::CovLine"]],["impl Unpin for Block",1,["npcore::routines::datafile::Block"]],["impl Unpin for Event",1,["npcore::routines::datafile::Event"]],["impl<'a, S, P> Unpin for SppOptimizer<'a, S, P>",1,["npcore::routines::optimization::d_optimizer::SppOptimizer"]],["impl Unpin for NPResult",1,["npcore::routines::output::NPResult"]],["impl Unpin for CycleLog",1,["npcore::routines::output::CycleLog"]],["impl Unpin for NPCycle",1,["npcore::routines::output::NPCycle"]],["impl Unpin for CycleWriter",1,["npcore::routines::output::CycleWriter"]],["impl Unpin for MetaWriter",1,["npcore::routines::output::MetaWriter"]],["impl Unpin for Settings",1,["npcore::routines::settings::run::Settings"]],["impl Unpin for Computed",1,["npcore::routines::settings::run::Computed"]],["impl Unpin for Error",1,["npcore::routines::settings::run::Error"]],["impl Unpin for Range",1,["npcore::routines::settings::run::Range"]],["impl Unpin for Single",1,["npcore::routines::settings::run::Single"]],["impl Unpin for Parsed",1,["npcore::routines::settings::run::Parsed"]],["impl Unpin for Paths",1,["npcore::routines::settings::run::Paths"]],["impl Unpin for Config",1,["npcore::routines::settings::run::Config"]],["impl Unpin for Settings",1,["npcore::routines::settings::simulator::Settings"]],["impl Unpin for Paths",1,["npcore::routines::settings::simulator::Paths"]],["impl Unpin for Config",1,["npcore::routines::settings::simulator::Config"]],["impl<'a> Unpin for ErrorPoly<'a>",1,["npcore::routines::evaluation::sigma::ErrorPoly"]],["impl Unpin for ErrorType",1,["npcore::routines::evaluation::sigma::ErrorType"]],["impl Unpin for Model",1,["npcore::routines::simulation::predict::Model"]],["impl<S> Unpin for Engine<S>where\n S: Unpin,",1,["npcore::routines::simulation::predict::Engine"]],["impl Unpin for Action",1,["npcore::tui::actions::Action"]],["impl Unpin for Actions",1,["npcore::tui::actions::Actions"]],["impl Unpin for Events",1,["npcore::tui::inputs::events::Events"]],["impl Unpin for Key",1,["npcore::tui::inputs::key::Key"]],["impl Unpin for InputEvent",1,["npcore::tui::inputs::InputEvent"]],["impl Unpin for CycleHistory",1,["npcore::tui::state::CycleHistory"]],["impl Unpin for Comm",1,["npcore::tui::ui::Comm"]],["impl Unpin for AppReturn",1,["npcore::tui::AppReturn"]],["impl Unpin for App",1,["npcore::tui::App"]]] +"npcore":[["impl Unpin for Scenario",1,["npcore::routines::datafile::Scenario"]],["impl Unpin for Infusion",1,["npcore::routines::datafile::Infusion"]],["impl Unpin for Dose",1,["npcore::routines::datafile::Dose"]],["impl Unpin for CovLine",1,["npcore::routines::datafile::CovLine"]],["impl Unpin for Block",1,["npcore::routines::datafile::Block"]],["impl Unpin for Event",1,["npcore::routines::datafile::Event"]],["impl<'a, S, P> Unpin for SppOptimizer<'a, S, P>",1,["npcore::routines::optimization::d_optimizer::SppOptimizer"]],["impl Unpin for NPResult",1,["npcore::routines::output::NPResult"]],["impl Unpin for CycleLog",1,["npcore::routines::output::CycleLog"]],["impl Unpin for NPCycle",1,["npcore::routines::output::NPCycle"]],["impl Unpin for CycleWriter",1,["npcore::routines::output::CycleWriter"]],["impl Unpin for MetaWriter",1,["npcore::routines::output::MetaWriter"]],["impl Unpin for Settings",1,["npcore::routines::settings::Settings"]],["impl Unpin for Paths",1,["npcore::routines::settings::Paths"]],["impl Unpin for Config",1,["npcore::routines::settings::Config"]],["impl Unpin for Random",1,["npcore::routines::settings::Random"]],["impl Unpin for Fixed",1,["npcore::routines::settings::Fixed"]],["impl Unpin for Constant",1,["npcore::routines::settings::Constant"]],["impl Unpin for Error",1,["npcore::routines::settings::Error"]],["impl<'a> Unpin for ErrorPoly<'a>",1,["npcore::routines::evaluation::sigma::ErrorPoly"]],["impl Unpin for ErrorType",1,["npcore::routines::evaluation::sigma::ErrorType"]],["impl Unpin for Model",1,["npcore::routines::simulation::predict::Model"]],["impl<S> Unpin for Engine<S>where\n S: Unpin,",1,["npcore::routines::simulation::predict::Engine"]],["impl Unpin for Action",1,["npcore::tui::actions::Action"]],["impl Unpin for Actions",1,["npcore::tui::actions::Actions"]],["impl Unpin for Events",1,["npcore::tui::inputs::events::Events"]],["impl Unpin for Key",1,["npcore::tui::inputs::key::Key"]],["impl Unpin for InputEvent",1,["npcore::tui::inputs::InputEvent"]],["impl Unpin for CycleHistory",1,["npcore::tui::state::CycleHistory"]],["impl Unpin for Comm",1,["npcore::tui::ui::Comm"]],["impl Unpin for AppReturn",1,["npcore::tui::AppReturn"]],["impl Unpin for App",1,["npcore::tui::App"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js index 37cb300be..1be2cc8bc 100644 --- a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"npcore":[["impl RefUnwindSafe for Scenario",1,["npcore::routines::datafile::Scenario"]],["impl RefUnwindSafe for Infusion",1,["npcore::routines::datafile::Infusion"]],["impl RefUnwindSafe for Dose",1,["npcore::routines::datafile::Dose"]],["impl RefUnwindSafe for CovLine",1,["npcore::routines::datafile::CovLine"]],["impl RefUnwindSafe for Block",1,["npcore::routines::datafile::Block"]],["impl RefUnwindSafe for Event",1,["npcore::routines::datafile::Event"]],["impl<'a, S, P> RefUnwindSafe for SppOptimizer<'a, S, P>where\n P: RefUnwindSafe,\n S: RefUnwindSafe,",1,["npcore::routines::optimization::d_optimizer::SppOptimizer"]],["impl RefUnwindSafe for NPResult",1,["npcore::routines::output::NPResult"]],["impl RefUnwindSafe for CycleLog",1,["npcore::routines::output::CycleLog"]],["impl RefUnwindSafe for NPCycle",1,["npcore::routines::output::NPCycle"]],["impl RefUnwindSafe for CycleWriter",1,["npcore::routines::output::CycleWriter"]],["impl RefUnwindSafe for MetaWriter",1,["npcore::routines::output::MetaWriter"]],["impl RefUnwindSafe for Settings",1,["npcore::routines::settings::run::Settings"]],["impl RefUnwindSafe for Computed",1,["npcore::routines::settings::run::Computed"]],["impl RefUnwindSafe for Error",1,["npcore::routines::settings::run::Error"]],["impl RefUnwindSafe for Range",1,["npcore::routines::settings::run::Range"]],["impl RefUnwindSafe for Single",1,["npcore::routines::settings::run::Single"]],["impl RefUnwindSafe for Parsed",1,["npcore::routines::settings::run::Parsed"]],["impl RefUnwindSafe for Paths",1,["npcore::routines::settings::run::Paths"]],["impl RefUnwindSafe for Config",1,["npcore::routines::settings::run::Config"]],["impl RefUnwindSafe for Settings",1,["npcore::routines::settings::simulator::Settings"]],["impl RefUnwindSafe for Paths",1,["npcore::routines::settings::simulator::Paths"]],["impl RefUnwindSafe for Config",1,["npcore::routines::settings::simulator::Config"]],["impl<'a> RefUnwindSafe for ErrorPoly<'a>",1,["npcore::routines::evaluation::sigma::ErrorPoly"]],["impl RefUnwindSafe for ErrorType",1,["npcore::routines::evaluation::sigma::ErrorType"]],["impl RefUnwindSafe for Model",1,["npcore::routines::simulation::predict::Model"]],["impl<S> RefUnwindSafe for Engine<S>where\n S: RefUnwindSafe,",1,["npcore::routines::simulation::predict::Engine"]],["impl RefUnwindSafe for Action",1,["npcore::tui::actions::Action"]],["impl RefUnwindSafe for Actions",1,["npcore::tui::actions::Actions"]],["impl !RefUnwindSafe for Events",1,["npcore::tui::inputs::events::Events"]],["impl RefUnwindSafe for Key",1,["npcore::tui::inputs::key::Key"]],["impl RefUnwindSafe for InputEvent",1,["npcore::tui::inputs::InputEvent"]],["impl RefUnwindSafe for CycleHistory",1,["npcore::tui::state::CycleHistory"]],["impl RefUnwindSafe for Comm",1,["npcore::tui::ui::Comm"]],["impl RefUnwindSafe for AppReturn",1,["npcore::tui::AppReturn"]],["impl RefUnwindSafe for App",1,["npcore::tui::App"]]] +"npcore":[["impl RefUnwindSafe for Scenario",1,["npcore::routines::datafile::Scenario"]],["impl RefUnwindSafe for Infusion",1,["npcore::routines::datafile::Infusion"]],["impl RefUnwindSafe for Dose",1,["npcore::routines::datafile::Dose"]],["impl RefUnwindSafe for CovLine",1,["npcore::routines::datafile::CovLine"]],["impl RefUnwindSafe for Block",1,["npcore::routines::datafile::Block"]],["impl RefUnwindSafe for Event",1,["npcore::routines::datafile::Event"]],["impl<'a, S, P> RefUnwindSafe for SppOptimizer<'a, S, P>where\n P: RefUnwindSafe,\n S: RefUnwindSafe,",1,["npcore::routines::optimization::d_optimizer::SppOptimizer"]],["impl RefUnwindSafe for NPResult",1,["npcore::routines::output::NPResult"]],["impl RefUnwindSafe for CycleLog",1,["npcore::routines::output::CycleLog"]],["impl RefUnwindSafe for NPCycle",1,["npcore::routines::output::NPCycle"]],["impl RefUnwindSafe for CycleWriter",1,["npcore::routines::output::CycleWriter"]],["impl RefUnwindSafe for MetaWriter",1,["npcore::routines::output::MetaWriter"]],["impl RefUnwindSafe for Settings",1,["npcore::routines::settings::Settings"]],["impl RefUnwindSafe for Paths",1,["npcore::routines::settings::Paths"]],["impl RefUnwindSafe for Config",1,["npcore::routines::settings::Config"]],["impl RefUnwindSafe for Random",1,["npcore::routines::settings::Random"]],["impl RefUnwindSafe for Fixed",1,["npcore::routines::settings::Fixed"]],["impl RefUnwindSafe for Constant",1,["npcore::routines::settings::Constant"]],["impl RefUnwindSafe for Error",1,["npcore::routines::settings::Error"]],["impl<'a> RefUnwindSafe for ErrorPoly<'a>",1,["npcore::routines::evaluation::sigma::ErrorPoly"]],["impl RefUnwindSafe for ErrorType",1,["npcore::routines::evaluation::sigma::ErrorType"]],["impl RefUnwindSafe for Model",1,["npcore::routines::simulation::predict::Model"]],["impl<S> RefUnwindSafe for Engine<S>where\n S: RefUnwindSafe,",1,["npcore::routines::simulation::predict::Engine"]],["impl RefUnwindSafe for Action",1,["npcore::tui::actions::Action"]],["impl RefUnwindSafe for Actions",1,["npcore::tui::actions::Actions"]],["impl !RefUnwindSafe for Events",1,["npcore::tui::inputs::events::Events"]],["impl RefUnwindSafe for Key",1,["npcore::tui::inputs::key::Key"]],["impl RefUnwindSafe for InputEvent",1,["npcore::tui::inputs::InputEvent"]],["impl RefUnwindSafe for CycleHistory",1,["npcore::tui::state::CycleHistory"]],["impl RefUnwindSafe for Comm",1,["npcore::tui::ui::Comm"]],["impl RefUnwindSafe for AppReturn",1,["npcore::tui::AppReturn"]],["impl RefUnwindSafe for App",1,["npcore::tui::App"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js index 5efd3617c..b8bf538ad 100644 --- a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"npcore":[["impl UnwindSafe for Scenario",1,["npcore::routines::datafile::Scenario"]],["impl UnwindSafe for Infusion",1,["npcore::routines::datafile::Infusion"]],["impl UnwindSafe for Dose",1,["npcore::routines::datafile::Dose"]],["impl UnwindSafe for CovLine",1,["npcore::routines::datafile::CovLine"]],["impl UnwindSafe for Block",1,["npcore::routines::datafile::Block"]],["impl UnwindSafe for Event",1,["npcore::routines::datafile::Event"]],["impl<'a, S, P> UnwindSafe for SppOptimizer<'a, S, P>where\n P: RefUnwindSafe,\n S: RefUnwindSafe,",1,["npcore::routines::optimization::d_optimizer::SppOptimizer"]],["impl UnwindSafe for NPResult",1,["npcore::routines::output::NPResult"]],["impl UnwindSafe for CycleLog",1,["npcore::routines::output::CycleLog"]],["impl UnwindSafe for NPCycle",1,["npcore::routines::output::NPCycle"]],["impl UnwindSafe for CycleWriter",1,["npcore::routines::output::CycleWriter"]],["impl UnwindSafe for MetaWriter",1,["npcore::routines::output::MetaWriter"]],["impl UnwindSafe for Settings",1,["npcore::routines::settings::run::Settings"]],["impl UnwindSafe for Computed",1,["npcore::routines::settings::run::Computed"]],["impl UnwindSafe for Error",1,["npcore::routines::settings::run::Error"]],["impl UnwindSafe for Range",1,["npcore::routines::settings::run::Range"]],["impl UnwindSafe for Single",1,["npcore::routines::settings::run::Single"]],["impl UnwindSafe for Parsed",1,["npcore::routines::settings::run::Parsed"]],["impl UnwindSafe for Paths",1,["npcore::routines::settings::run::Paths"]],["impl UnwindSafe for Config",1,["npcore::routines::settings::run::Config"]],["impl UnwindSafe for Settings",1,["npcore::routines::settings::simulator::Settings"]],["impl UnwindSafe for Paths",1,["npcore::routines::settings::simulator::Paths"]],["impl UnwindSafe for Config",1,["npcore::routines::settings::simulator::Config"]],["impl<'a> UnwindSafe for ErrorPoly<'a>",1,["npcore::routines::evaluation::sigma::ErrorPoly"]],["impl UnwindSafe for ErrorType",1,["npcore::routines::evaluation::sigma::ErrorType"]],["impl UnwindSafe for Model",1,["npcore::routines::simulation::predict::Model"]],["impl<S> UnwindSafe for Engine<S>where\n S: UnwindSafe,",1,["npcore::routines::simulation::predict::Engine"]],["impl UnwindSafe for Action",1,["npcore::tui::actions::Action"]],["impl UnwindSafe for Actions",1,["npcore::tui::actions::Actions"]],["impl !UnwindSafe for Events",1,["npcore::tui::inputs::events::Events"]],["impl UnwindSafe for Key",1,["npcore::tui::inputs::key::Key"]],["impl UnwindSafe for InputEvent",1,["npcore::tui::inputs::InputEvent"]],["impl UnwindSafe for CycleHistory",1,["npcore::tui::state::CycleHistory"]],["impl UnwindSafe for Comm",1,["npcore::tui::ui::Comm"]],["impl UnwindSafe for AppReturn",1,["npcore::tui::AppReturn"]],["impl UnwindSafe for App",1,["npcore::tui::App"]]] +"npcore":[["impl UnwindSafe for Scenario",1,["npcore::routines::datafile::Scenario"]],["impl UnwindSafe for Infusion",1,["npcore::routines::datafile::Infusion"]],["impl UnwindSafe for Dose",1,["npcore::routines::datafile::Dose"]],["impl UnwindSafe for CovLine",1,["npcore::routines::datafile::CovLine"]],["impl UnwindSafe for Block",1,["npcore::routines::datafile::Block"]],["impl UnwindSafe for Event",1,["npcore::routines::datafile::Event"]],["impl<'a, S, P> UnwindSafe for SppOptimizer<'a, S, P>where\n P: RefUnwindSafe,\n S: RefUnwindSafe,",1,["npcore::routines::optimization::d_optimizer::SppOptimizer"]],["impl UnwindSafe for NPResult",1,["npcore::routines::output::NPResult"]],["impl UnwindSafe for CycleLog",1,["npcore::routines::output::CycleLog"]],["impl UnwindSafe for NPCycle",1,["npcore::routines::output::NPCycle"]],["impl UnwindSafe for CycleWriter",1,["npcore::routines::output::CycleWriter"]],["impl UnwindSafe for MetaWriter",1,["npcore::routines::output::MetaWriter"]],["impl UnwindSafe for Settings",1,["npcore::routines::settings::Settings"]],["impl UnwindSafe for Paths",1,["npcore::routines::settings::Paths"]],["impl UnwindSafe for Config",1,["npcore::routines::settings::Config"]],["impl UnwindSafe for Random",1,["npcore::routines::settings::Random"]],["impl UnwindSafe for Fixed",1,["npcore::routines::settings::Fixed"]],["impl UnwindSafe for Constant",1,["npcore::routines::settings::Constant"]],["impl UnwindSafe for Error",1,["npcore::routines::settings::Error"]],["impl<'a> UnwindSafe for ErrorPoly<'a>",1,["npcore::routines::evaluation::sigma::ErrorPoly"]],["impl UnwindSafe for ErrorType",1,["npcore::routines::evaluation::sigma::ErrorType"]],["impl UnwindSafe for Model",1,["npcore::routines::simulation::predict::Model"]],["impl<S> UnwindSafe for Engine<S>where\n S: UnwindSafe,",1,["npcore::routines::simulation::predict::Engine"]],["impl UnwindSafe for Action",1,["npcore::tui::actions::Action"]],["impl UnwindSafe for Actions",1,["npcore::tui::actions::Actions"]],["impl !UnwindSafe for Events",1,["npcore::tui::inputs::events::Events"]],["impl UnwindSafe for Key",1,["npcore::tui::inputs::key::Key"]],["impl UnwindSafe for InputEvent",1,["npcore::tui::inputs::InputEvent"]],["impl UnwindSafe for CycleHistory",1,["npcore::tui::state::CycleHistory"]],["impl UnwindSafe for Comm",1,["npcore::tui::ui::Comm"]],["impl UnwindSafe for AppReturn",1,["npcore::tui::AppReturn"]],["impl UnwindSafe for App",1,["npcore::tui::App"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/serde/de/trait.Deserialize.js b/trait.impl/serde/de/trait.Deserialize.js index 681b0219e..3ebab667e 100644 --- a/trait.impl/serde/de/trait.Deserialize.js +++ b/trait.impl/serde/de/trait.Deserialize.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"npcore":[["impl<'de> Deserialize<'de> for Parsed"],["impl<'de> Deserialize<'de> for Settings"],["impl<'de> Deserialize<'de> for Range"],["impl<'de> Deserialize<'de> for Computed"],["impl<'de> Deserialize<'de> for Paths"],["impl<'de> Deserialize<'de> for Single"],["impl<'de> Deserialize<'de> for Settings"],["impl<'de> Deserialize<'de> for Config"],["impl<'de> Deserialize<'de> for Config"],["impl<'de> Deserialize<'de> for Paths"],["impl<'de> Deserialize<'de> for Error"]] +"npcore":[["impl<'de> Deserialize<'de> for Paths"],["impl<'de> Deserialize<'de> for Settings"],["impl<'de> Deserialize<'de> for Constant"],["impl<'de> Deserialize<'de> for Config"],["impl<'de> Deserialize<'de> for Error"],["impl<'de> Deserialize<'de> for Random"],["impl<'de> Deserialize<'de> for Fixed"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/serde/ser/trait.Serialize.js b/trait.impl/serde/ser/trait.Serialize.js new file mode 100644 index 000000000..8c0da2f8e --- /dev/null +++ b/trait.impl/serde/ser/trait.Serialize.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"npcore":[["impl Serialize for Constant"],["impl Serialize for Config"],["impl Serialize for Settings"],["impl Serialize for Random"],["impl Serialize for Fixed"],["impl Serialize for Error"],["impl Serialize for Paths"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file