Coverage report: 96%

Files Functions Classes

coverage.py v7.10.3, created at 2025-12-02 22:09 +0000

File function statements missing excluded coverage
gemlib/__init__.py (no function) 6 0 0 100%
gemlib/deterministic/__init__.py (no function) 2 0 0 100%
gemlib/deterministic/ode_model.py _total_flux 4 0 0 100%
gemlib/deterministic/ode_model.py ode_model 18 6 0 67%
gemlib/deterministic/ode_model.py ode_model.derivs 4 0 0 100%
gemlib/deterministic/ode_model.py (no function) 17 0 0 100%
gemlib/distributions/__init__.py (no function) 3 0 0 100%
gemlib/distributions/brownian.py BrownianMotion.__init__ 8 0 0 100%
gemlib/distributions/brownian.py BrownianMotion._batch_shape 1 0 0 100%
gemlib/distributions/brownian.py BrownianMotion._event_shape 1 0 0 100%
gemlib/distributions/brownian.py BrownianMotion._sample_n 1 0 0 100%
gemlib/distributions/brownian.py BrownianMotion._log_prob 3 0 0 100%
gemlib/distributions/brownian.py BrownianBridge.__init__ 9 0 0 100%
gemlib/distributions/brownian.py BrownianBridge._batch_shape 1 0 0 100%
gemlib/distributions/brownian.py BrownianBridge._event_shape 1 0 0 100%
gemlib/distributions/brownian.py BrownianBridge._sample_n 6 0 0 100%
gemlib/distributions/brownian.py BrownianBridge._log_prob 4 0 0 100%
gemlib/distributions/brownian.py (no function) 19 0 0 100%
gemlib/distributions/continuous_markov.py _one_hot_expand_state 3 0 0 100%
gemlib/distributions/continuous_markov.py _total_flux 4 0 0 100%
gemlib/distributions/continuous_markov.py compute_state 16 0 0 100%
gemlib/distributions/continuous_markov.py exponential_propogate 3 0 0 100%
gemlib/distributions/continuous_markov.py exponential_propogate.propogate_fn 9 0 0 100%
gemlib/distributions/continuous_markov.py continuous_markov_simulation 10 0 0 100%
gemlib/distributions/continuous_markov.py continuous_markov_simulation.cond 4 0 0 100%
gemlib/distributions/continuous_markov.py continuous_markov_simulation.body 5 0 0 100%
gemlib/distributions/continuous_markov.py continuous_time_log_likelihood 11 0 0 100%
gemlib/distributions/continuous_markov.py (no function) 22 0 0 100%
gemlib/distributions/continuous_time_state_transition_model.py ContinuousTimeStateTransitionModel.__init__ 7 0 0 100%
gemlib/distributions/continuous_time_state_transition_model.py ContinuousTimeStateTransitionModel.transition_rate_fn 1 1 0 0%
gemlib/distributions/continuous_time_state_transition_model.py ContinuousTimeStateTransitionModel.incidence_matrix 1 0 0 100%
gemlib/distributions/continuous_time_state_transition_model.py ContinuousTimeStateTransitionModel.initial_state 1 0 0 100%
gemlib/distributions/continuous_time_state_transition_model.py ContinuousTimeStateTransitionModel.num_steps 1 0 0 100%
gemlib/distributions/continuous_time_state_transition_model.py ContinuousTimeStateTransitionModel.initial_time 1 0 0 100%
gemlib/distributions/continuous_time_state_transition_model.py ContinuousTimeStateTransitionModel.compute_state 1 1 0 0%
gemlib/distributions/continuous_time_state_transition_model.py ContinuousTimeStateTransitionModel._sample_n 5 0 0 100%
gemlib/distributions/continuous_time_state_transition_model.py ContinuousTimeStateTransitionModel._sample_n.one_sample 1 0 0 100%
gemlib/distributions/continuous_time_state_transition_model.py ContinuousTimeStateTransitionModel._log_prob 7 0 0 100%
gemlib/distributions/continuous_time_state_transition_model.py ContinuousTimeStateTransitionModel._log_prob.one_log_prob 1 0 0 100%
gemlib/distributions/continuous_time_state_transition_model.py ContinuousTimeStateTransitionModel._event_shape 1 0 0 100%
gemlib/distributions/continuous_time_state_transition_model.py ContinuousTimeStateTransitionModel._batch_shape 1 0 0 100%
gemlib/distributions/continuous_time_state_transition_model.py (no function) 32 0 0 100%
gemlib/distributions/discrete_markov.py _scatter_to_transition_matrix 5 0 0 100%
gemlib/distributions/discrete_markov.py _approx_expm 10 1 0 90%
gemlib/distributions/discrete_markov.py make_transition_prob_matrix_fn 3 0 0 100%
gemlib/distributions/discrete_markov.py make_transition_prob_matrix_fn.fn 4 0 0 100%
gemlib/distributions/discrete_markov.py _multinomial_log_prob 4 0 0 100%
gemlib/distributions/discrete_markov.py _multinomial_log_prob_fwd 4 0 0 100%
gemlib/distributions/discrete_markov.py _multinomial_log_prob_bwd 5 0 0 100%
gemlib/distributions/discrete_markov.py compute_state 8 0 0 100%
gemlib/distributions/discrete_markov.py chain_binomial_propagate 2 0 0 100%
gemlib/distributions/discrete_markov.py chain_binomial_propagate.propagate_fn 16 0 0 100%
gemlib/distributions/discrete_markov.py discrete_markov_simulation 9 0 0 100%
gemlib/distributions/discrete_markov.py discrete_markov_simulation.scan_fn 4 0 0 100%
gemlib/distributions/discrete_markov.py discrete_markov_log_prob 12 0 0 100%
gemlib/distributions/discrete_markov.py (no function) 21 0 0 100%
gemlib/distributions/discrete_time_state_transition_model.py DiscreteTimeStateTransitionModel.__init__ 6 0 0 100%
gemlib/distributions/discrete_time_state_transition_model.py DiscreteTimeStateTransitionModel.transition_rate_fn 1 0 0 100%
gemlib/distributions/discrete_time_state_transition_model.py DiscreteTimeStateTransitionModel.incidence_matrix 1 0 0 100%
gemlib/distributions/discrete_time_state_transition_model.py DiscreteTimeStateTransitionModel.initial_state 1 0 0 100%
gemlib/distributions/discrete_time_state_transition_model.py DiscreteTimeStateTransitionModel.initial_step 1 0 0 100%
gemlib/distributions/discrete_time_state_transition_model.py DiscreteTimeStateTransitionModel.source_states 1 0 0 100%
gemlib/distributions/discrete_time_state_transition_model.py DiscreteTimeStateTransitionModel.time_delta 1 0 0 100%
gemlib/distributions/discrete_time_state_transition_model.py DiscreteTimeStateTransitionModel.num_steps 1 0 0 100%
gemlib/distributions/discrete_time_state_transition_model.py DiscreteTimeStateTransitionModel.num_units 1 1 0 0%
gemlib/distributions/discrete_time_state_transition_model.py DiscreteTimeStateTransitionModel.num_states 1 1 0 0%
gemlib/distributions/discrete_time_state_transition_model.py DiscreteTimeStateTransitionModel._batch_shape 1 0 0 100%
gemlib/distributions/discrete_time_state_transition_model.py DiscreteTimeStateTransitionModel._event_shape 2 0 0 100%
gemlib/distributions/discrete_time_state_transition_model.py DiscreteTimeStateTransitionModel.compute_state 1 0 0 100%
gemlib/distributions/discrete_time_state_transition_model.py DiscreteTimeStateTransitionModel.transition_prob_matrix 5 1 0 80%
gemlib/distributions/discrete_time_state_transition_model.py DiscreteTimeStateTransitionModel._sample_n 6 0 0 100%
gemlib/distributions/discrete_time_state_transition_model.py DiscreteTimeStateTransitionModel._sample_n.one_sample 2 0 0 100%
gemlib/distributions/discrete_time_state_transition_model.py DiscreteTimeStateTransitionModel._log_prob 6 0 0 100%
gemlib/distributions/discrete_time_state_transition_model.py DiscreteTimeStateTransitionModel._log_prob.one_log_prob 1 0 0 100%
gemlib/distributions/discrete_time_state_transition_model.py _compute_source_states 3 0 0 100%
gemlib/distributions/discrete_time_state_transition_model.py (no function) 42 0 0 100%
gemlib/distributions/hypergeometric.py _log_factorial 1 1 0 0%
gemlib/distributions/hypergeometric.py _log_choose 1 1 0 0%
gemlib/distributions/hypergeometric.py Hypergeometric.__init__ 11 2 0 82%
gemlib/distributions/hypergeometric.py Hypergeometric._parameter_properties 1 0 0 100%
gemlib/distributions/hypergeometric.py Hypergeometric._param_shapes 1 1 0 0%
gemlib/distributions/hypergeometric.py Hypergeometric._params_event_ndims 1 1 0 0%
gemlib/distributions/hypergeometric.py Hypergeometric.N 1 0 0 100%
gemlib/distributions/hypergeometric.py Hypergeometric.K 1 0 0 100%
gemlib/distributions/hypergeometric.py Hypergeometric.n 1 0 0 100%
gemlib/distributions/hypergeometric.py Hypergeometric._default_event_space_bijector 1 1 0 0%
gemlib/distributions/hypergeometric.py Hypergeometric._event_shape_tensor 1 1 0 0%
gemlib/distributions/hypergeometric.py Hypergeometric._event_shape 1 0 0 100%
gemlib/distributions/hypergeometric.py Hypergeometric._sample_n 3 0 0 100%
gemlib/distributions/hypergeometric.py Hypergeometric._log_prob 3 3 0 0%
gemlib/distributions/hypergeometric.py Hypergeometric._mode 1 1 0 0%
gemlib/distributions/hypergeometric.py Hypergeometric._mean 1 0 0 100%
gemlib/distributions/hypergeometric.py Hypergeometric._variance 4 4 0 0%
gemlib/distributions/hypergeometric.py (no function) 31 0 0 100%
gemlib/distributions/hypergeometric_sampler.py sample_hypergeometric 32 0 0 100%
gemlib/distributions/hypergeometric_sampler.py sample_hypergeometric._log_hypergeometric_coeff 1 0 0 100%
gemlib/distributions/hypergeometric_sampler.py sample_hypergeometric.generate_and_test_samples 9 0 0 100%
gemlib/distributions/hypergeometric_sampler.py (no function) 9 0 0 100%
gemlib/distributions/kcategorical.py _log_choose 1 0 0 100%
gemlib/distributions/kcategorical.py UniformKCategorical.__init__ 6 0 0 100%
gemlib/distributions/kcategorical.py UniformKCategorical._parameter_properties 1 1 0 0%
gemlib/distributions/kcategorical.py UniformKCategorical.k 1 1 0 0%
gemlib/distributions/kcategorical.py UniformKCategorical.mask 1 1 0 0%
gemlib/distributions/kcategorical.py UniformKCategorical._batch_shape 1 0 0 100%
gemlib/distributions/kcategorical.py UniformKCategorical._event_shape 1 0 0 100%
gemlib/distributions/kcategorical.py UniformKCategorical._sample_n 5 0 0 100%
gemlib/distributions/kcategorical.py UniformKCategorical._log_prob 2 0 0 100%
gemlib/distributions/kcategorical.py (no function) 18 0 0 100%
gemlib/distributions/uniform_integer.py UniformInteger.__init__ 8 1 0 88%
gemlib/distributions/uniform_integer.py UniformInteger._parameter_properties 1 0 0 100%
gemlib/distributions/uniform_integer.py UniformInteger.low 1 0 0 100%
gemlib/distributions/uniform_integer.py UniformInteger.high 1 0 0 100%
gemlib/distributions/uniform_integer.py UniformInteger.float_dtype 1 0 0 100%
gemlib/distributions/uniform_integer.py UniformInteger._event_shape_tensor 1 1 0 0%
gemlib/distributions/uniform_integer.py UniformInteger._event_shape 1 0 0 100%
gemlib/distributions/uniform_integer.py UniformInteger._sample_n 6 0 0 100%
gemlib/distributions/uniform_integer.py UniformInteger._prob 4 0 0 100%
gemlib/distributions/uniform_integer.py UniformInteger._log_prob 1 0 0 100%
gemlib/distributions/uniform_integer.py (no function) 20 0 0 100%
gemlib/func_util.py _check_deprecated 2 0 0 100%
gemlib/func_util.py _check_deprecated.dep_fn 4 0 0 100%
gemlib/func_util.py maybe_combine_fn 4 0 0 100%
gemlib/func_util.py maybe_combine_fn.fn_combined 1 0 0 100%
gemlib/func_util.py (no function) 4 0 0 100%
gemlib/math.py cumsum 9 0 0 100%
gemlib/math.py cumsum_np 11 1 0 91%
gemlib/math.py multiply_no_nan 2 0 0 100%
gemlib/math.py (no function) 7 0 0 100%
gemlib/mcmc/__init__.py (no function) 13 0 0 100%
gemlib/mcmc/adaptive_hmc.py make_initial_running_variance 4 0 0 100%
gemlib/mcmc/adaptive_hmc.py make_initial_running_variance.fn 1 0 0 100%
gemlib/mcmc/adaptive_hmc.py adaptive_hmc 6 0 0 100%
gemlib/mcmc/adaptive_hmc.py adaptive_hmc._build_kernel 5 0 0 100%
gemlib/mcmc/adaptive_hmc.py adaptive_hmc.init_fn 4 0 0 100%
gemlib/mcmc/adaptive_hmc.py adaptive_hmc.step_fn 11 0 0 100%
gemlib/mcmc/adaptive_hmc.py (no function) 16 0 0 100%
gemlib/mcmc/adaptive_random_walk_metropolis.py adaptive_rwmh 3 0 0 100%
gemlib/mcmc/adaptive_random_walk_metropolis.py adaptive_rwmh.init_fn 13 2 0 85%
gemlib/mcmc/adaptive_random_walk_metropolis.py adaptive_rwmh.step_fn 25 0 0 100%
gemlib/mcmc/adaptive_random_walk_metropolis.py (no function) 27 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/__init__.py (no function) 4 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/fixtures.py sir_metapop_example 4 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/fixtures.py (no function) 4 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_impl.py _update_state 7 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_impl.py _reverse_update 2 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_impl.py UncalibratedLeftCensoredEventTimesUpdate.__init__ 2 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_impl.py UncalibratedLeftCensoredEventTimesUpdate.target_log_prob_fn 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_impl.py UncalibratedLeftCensoredEventTimesUpdate.transition_index 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_impl.py UncalibratedLeftCensoredEventTimesUpdate.incidence_matrix 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_impl.py UncalibratedLeftCensoredEventTimesUpdate.max_timepoint 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_impl.py UncalibratedLeftCensoredEventTimesUpdate.max_events 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_impl.py UncalibratedLeftCensoredEventTimesUpdate.name 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_impl.py UncalibratedLeftCensoredEventTimesUpdate.parameters 1 1 0 0%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_impl.py UncalibratedLeftCensoredEventTimesUpdate.is_calibrated 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_impl.py UncalibratedLeftCensoredEventTimesUpdate.one_step 13 1 0 92%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_impl.py UncalibratedLeftCensoredEventTimesUpdate.bootstrap_results 6 1 0 83%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_impl.py (no function) 40 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_mh.py _get_state_tuple 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_mh.py _repack_state_tuple 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_mh.py left_censored_events_mh 6 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_mh.py left_censored_events_mh._build_kernel 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_mh.py left_censored_events_mh.init_fn 5 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_mh.py left_censored_events_mh.step_fn 5 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_mh.py (no function) 25 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_proposal.py _mask_max 2 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_proposal.py left_censored_event_time_proposal 11 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_proposal.py left_censored_event_time_proposal.unit 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_proposal.py left_censored_event_time_proposal.timepoint 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_proposal.py left_censored_event_time_proposal.direction 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_proposal.py left_censored_event_time_proposal.num_events 8 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_proposal.py left_censored_event_time_proposal.num_events.pull_from_past 4 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_proposal.py left_censored_event_time_proposal.num_events.push_to_past 6 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/left_censored_events_proposal.py (no function) 11 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events.py move_events 4 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events.py move_events._build_kernel 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events.py move_events.init_fn 5 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events.py move_events.step_fn 5 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events.py (no function) 18 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py events_state_count_bounding_fn 2 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py events_state_count_bounding_fn.fn 11 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py _is_within 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py _timepoint_selector 3 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py _delta_selector 4 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py _make_event_count_selector 2 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py _make_event_count_selector.fn 3 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py discrete_move_events_proposal 4 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py discrete_move_events_proposal.proposal 11 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py _apply_move 4 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py _reverse_move 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py UncalibratedEventTimesUpdate.__init__ 2 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py UncalibratedEventTimesUpdate.target_log_prob_fn 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py UncalibratedEventTimesUpdate.incidence_matrix 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py UncalibratedEventTimesUpdate.initial_conditions 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py UncalibratedEventTimesUpdate.target_transition_id 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py UncalibratedEventTimesUpdate.num_units 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py UncalibratedEventTimesUpdate.delta_max 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py UncalibratedEventTimesUpdate.count_max 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py UncalibratedEventTimesUpdate.name 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py UncalibratedEventTimesUpdate.parameters 1 1 0 0%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py UncalibratedEventTimesUpdate.is_calibrated 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py UncalibratedEventTimesUpdate._proposal 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py UncalibratedEventTimesUpdate.one_step 16 3 0 81%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py UncalibratedEventTimesUpdate.bootstrap_results 6 2 0 67%
gemlib/mcmc/discrete_time_state_transition_model/move_events_impl.py (no function) 55 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_impl.py _is_row_nonzero 1 1 0 0%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_impl.py _maybe_expand_dims 1 1 0 0%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_impl.py _add_events 2 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_impl.py UncalibratedOccultUpdate.__init__ 3 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_impl.py UncalibratedOccultUpdate.target_log_prob_fn 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_impl.py UncalibratedOccultUpdate.incidence_matrix 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_impl.py UncalibratedOccultUpdate.target_transition_id 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_impl.py UncalibratedOccultUpdate.initial_conditions 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_impl.py UncalibratedOccultUpdate.count_max 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_impl.py UncalibratedOccultUpdate.t_range 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_impl.py UncalibratedOccultUpdate.name 1 1 0 0%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_impl.py UncalibratedOccultUpdate.parameters 1 1 0 0%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_impl.py UncalibratedOccultUpdate.is_calibrated 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_impl.py UncalibratedOccultUpdate.one_step 16 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_impl.py UncalibratedOccultUpdate.one_step.add_occult_fn 10 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_impl.py UncalibratedOccultUpdate.one_step.del_occult_fn 10 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_impl.py UncalibratedOccultUpdate.bootstrap_results 6 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_impl.py (no function) 49 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_mh.py right_censored_events_mh 4 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_mh.py right_censored_events_mh._build_kernel 1 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_mh.py right_censored_events_mh.init_fn 7 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_mh.py right_censored_events_mh.step_fn 7 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_mh.py (no function) 21 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_proposal.py _slice_min 3 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_proposal.py add_occult_proposal 6 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_proposal.py add_occult_proposal.proposal 5 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_proposal.py del_occult_proposal 4 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_proposal.py del_occult_proposal.proposal 13 0 0 100%
gemlib/mcmc/discrete_time_state_transition_model/right_censored_events_proposal.py (no function) 10 0 0 100%
gemlib/mcmc/hmc.py hmc 5 0 0 100%
gemlib/mcmc/hmc.py hmc._make_momentum_distribution 3 1 0 67%
gemlib/mcmc/hmc.py hmc._build_kernel 1 0 0 100%
gemlib/mcmc/hmc.py hmc.init_fn 5 0 0 100%
gemlib/mcmc/hmc.py hmc.step_fn 7 0 0 100%
gemlib/mcmc/hmc.py (no function) 14 0 0 100%
gemlib/mcmc/mcmc_sampler.py _split_seed 1 0 0 100%
gemlib/mcmc/mcmc_sampler.py _scan 1 0 0 100%
gemlib/mcmc/mcmc_sampler.py mcmc 7 0 0 100%
gemlib/mcmc/mcmc_sampler.py mcmc.one_step 2 0 0 100%
gemlib/mcmc/mcmc_sampler.py (no function) 11 0 0 100%
gemlib/mcmc/mcmc_util.py is_list_like 1 0 0 100%
gemlib/mcmc/mcmc_util.py get_flattening_bijector 5 0 0 100%
gemlib/mcmc/mcmc_util.py (no function) 5 0 0 100%
gemlib/mcmc/multi_scan.py multi_scan 3 0 0 100%
gemlib/mcmc/multi_scan.py multi_scan.init_fn 2 0 0 100%
gemlib/mcmc/multi_scan.py multi_scan.step_fn 8 0 0 100%
gemlib/mcmc/multi_scan.py multi_scan.step_fn.body 3 0 0 100%
gemlib/mcmc/multi_scan.py multi_scan.step_fn.cond 2 0 0 100%
gemlib/mcmc/multi_scan.py (no function) 10 0 0 100%
gemlib/mcmc/mwg_step.py as_list 3 0 0 100%
gemlib/mcmc/mwg_step.py _make_target_type 3 0 0 100%
gemlib/mcmc/mwg_step.py _make_position_projector 3 0 0 100%
gemlib/mcmc/mwg_step.py _make_position_projector.fn 7 1 0 86%
gemlib/mcmc/mwg_step.py MwgStep.__new__ 7 0 0 100%
gemlib/mcmc/mwg_step.py MwgStep.__new__._name_target 1 1 0 0%
gemlib/mcmc/mwg_step.py MwgStep.__new__.init 5 0 0 100%
gemlib/mcmc/mwg_step.py MwgStep.__new__.init.conditional_tlp 2 0 0 100%
gemlib/mcmc/mwg_step.py MwgStep.__new__.step 8 0 0 100%
gemlib/mcmc/mwg_step.py MwgStep.__new__.step.conditional_tlp 2 0 0 100%
gemlib/mcmc/mwg_step.py (no function) 13 0 0 100%
gemlib/mcmc/random_walk_metropolis.py rwmh 4 0 0 100%
gemlib/mcmc/random_walk_metropolis.py rwmh._build_kernel 1 0 0 100%
gemlib/mcmc/random_walk_metropolis.py rwmh.init_fn 5 0 0 100%
gemlib/mcmc/random_walk_metropolis.py rwmh.step_fn 5 0 0 100%
gemlib/mcmc/random_walk_metropolis.py (no function) 11 0 0 100%
gemlib/mcmc/sampling_algorithm.py _maybe_flatten 5 5 0 0%
gemlib/mcmc/sampling_algorithm.py _squeeze 3 0 0 100%
gemlib/mcmc/sampling_algorithm.py _maybe_list 3 0 0 100%
gemlib/mcmc/sampling_algorithm.py _maybe_tuple 3 3 0 0%
gemlib/mcmc/sampling_algorithm.py KernelInitMonad.__init__ 1 0 0 100%
gemlib/mcmc/sampling_algorithm.py KernelInitMonad.__call__ 1 0 0 100%
gemlib/mcmc/sampling_algorithm.py KernelInitMonad.then 3 0 0 100%
gemlib/mcmc/sampling_algorithm.py KernelInitMonad.then.compound_init_fn 3 0 0 100%
gemlib/mcmc/sampling_algorithm.py KernelInitMonad.__rshift__ 1 0 0 100%
gemlib/mcmc/sampling_algorithm.py KernelStepMonad.__init__ 1 0 0 100%
gemlib/mcmc/sampling_algorithm.py KernelStepMonad.__call__ 1 0 0 100%
gemlib/mcmc/sampling_algorithm.py KernelStepMonad.then 3 0 0 100%
gemlib/mcmc/sampling_algorithm.py KernelStepMonad.then.compound_step_kernel 7 0 0 100%
gemlib/mcmc/sampling_algorithm.py KernelStepMonad.__rshift__ 1 0 0 100%
gemlib/mcmc/sampling_algorithm.py SamplingAlgorithm.__init__ 5 0 0 100%
gemlib/mcmc/sampling_algorithm.py SamplingAlgorithm.init 1 0 0 100%
gemlib/mcmc/sampling_algorithm.py SamplingAlgorithm.step 1 0 0 100%
gemlib/mcmc/sampling_algorithm.py SamplingAlgorithm.then 1 0 0 100%
gemlib/mcmc/sampling_algorithm.py SamplingAlgorithm.__rshift__ 1 0 0 100%
gemlib/mcmc/sampling_algorithm.py SamplingAlgorithm.__mul__ 1 1 0 0%
gemlib/mcmc/sampling_algorithm.py (no function) 42 0 0 100%
gemlib/mcmc/test_util.py counting_kernel 3 0 0 100%
gemlib/mcmc/test_util.py counting_kernel.init_fn 3 0 0 100%
gemlib/mcmc/test_util.py counting_kernel.step_fn 5 0 0 100%
gemlib/mcmc/test_util.py (no function) 8 0 0 100%
gemlib/mcmc/transformed_sampling_algorithm.py map_structure 5 0 0 100%
gemlib/mcmc/transformed_sampling_algorithm.py map_structure.is_leaf 1 0 0 100%
gemlib/mcmc/transformed_sampling_algorithm.py _transform_tlp_fn 4 0 0 100%
gemlib/mcmc/transformed_sampling_algorithm.py _transform_tlp_fn.fn 5 0 0 100%
gemlib/mcmc/transformed_sampling_algorithm.py transform_sampling_algorithm 3 0 0 100%
gemlib/mcmc/transformed_sampling_algorithm.py transform_sampling_algorithm.init_fn 5 0 0 100%
gemlib/mcmc/transformed_sampling_algorithm.py transform_sampling_algorithm.step_fn 10 0 0 100%
gemlib/mcmc/transformed_sampling_algorithm.py (no function) 8 0 0 100%
gemlib/prng_util.py sanitize_key 5 1 0 80%
gemlib/prng_util.py (no function) 3 0 0 100%
gemlib/spatial/__init__.py (no function) 2 0 0 100%
gemlib/spatial/sp_dist.py pdist 3 0 0 100%
gemlib/spatial/sp_dist.py include_all 2 2 0 0%
gemlib/spatial/sp_dist.py _pdist_indices_mask 7 0 0 100%
gemlib/spatial/sp_dist.py compress_distance 2 0 0 100%
gemlib/spatial/sp_dist.py sparse_pdist 14 1 1 93%
gemlib/spatial/sp_dist.py (no function) 18 0 0 100%
gemlib/tensor_util.py broadcast_together 6 0 0 100%
gemlib/tensor_util.py broadcast_fn_to 2 0 0 100%
gemlib/tensor_util.py broadcast_fn_to.wrapped 4 1 0 75%
gemlib/tensor_util.py (no function) 5 0 0 100%
gemlib/util.py batch_gather 9 0 0 100%
gemlib/util.py transition_coords 3 0 0 100%
gemlib/util.py transition_coords_tuple 1 0 0 100%
gemlib/util.py states_from_transition_idx 2 0 0 100%
gemlib/util.py (no function) 9 0 0 100%
Total   1774 66 1 96%

No items found using the specified filter.