def validate_estimation_options(options_dict=None)
Validates an options dictionary.
options_dict
options_dict
def validate_estimation_options(options_dict=None):
""" Validates an options dictionary.
Args:
options_dict: Dictionary with updates to default_values
Returns:
options_dict: Updated dictionary
"""
validate = {'max_iteration':
lambda x: isinstance(x, int) and x > 0,
'distribution':
callable,
'quadrature_bounds':
lambda x: isinstance(x, (tuple, list)) and (x[1] > x[0]),
'quadrature_n':
lambda x: isinstance(x, int) and x > 7}
# A complete options dictionary
full_options = default_options()
if options_dict:
if not isinstance(options_dict, dict):
raise AssertionError("Options must be a dictionary got: "
f"{type(options_dict)}.")
for key, value in options_dict.items():
if not validate[key](value):
raise AssertionError("Unexpected key-value pair: "
f"{key}: {value}. Please see "
"documentation for expected inputs.")
full_options.update(options_dict)
return full_options