-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ultranest sampler (Sourcery refactored) #248
Conversation
Sourcery Code Quality Report❌ Merging this PR will decrease code quality in the affected files by 0.26%.
Here are some functions in these files that still need a tune-up:
Legend and ExplanationThe emojis denote the absolute quality of the code:
The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request. Please see our documentation here for details on how these metrics are calculated. We are actively working on this report - lots more documentation and extra metrics to come! Help us improve this quality report! |
2c2cb13
to
3139dda
Compare
if log_mass is None: | ||
return -1 | ||
return round(np.power(10, log_mass), 3) | ||
return -1 if log_mass is None else round(np.power(10, log_mass), 3) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function DDDMResult.mass
refactored with the following changes:
- Lift code into else after jump in control flow (
reintroduce-else
) - Replace if statement with if expression (
assign-if-exp
)
if param is None: | ||
return None | ||
|
||
return len(param) | ||
return None if param is None else len(param) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function DDDMResult.n_parameters
refactored with the following changes:
- Lift code into else after jump in control flow (
reintroduce-else
) - Replace if statement with if expression (
assign-if-exp
)
if x <= 1: | ||
return f'${x:.1f}$' | ||
return f'${int(x)}$' | ||
return f'${x:.1f}$' if x <= 1 else f'${int(x)}$' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function set_xticks_top
refactored with the following changes:
- Lift code into else after jump in control flow (
reintroduce-else
) - Replace if statement with if expression (
assign-if-exp
)
with open(save_as + 'config.json', 'w') as file: | ||
with open(f'{save_as}config.json', 'w') as file: | ||
json.dump(convert_dic_to_savable(c.config), file, indent=4) | ||
np.save(save_as + 'config.npy', convert_dic_to_savable(c.config)) | ||
np.save(f'{save_as}config.npy', convert_dic_to_savable(c.config)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function _CombinedInference.save_sub_configs
refactored with the following changes:
- Use f-string instead of string concatenation [×2] (
use-fstring-for-concatenation
)
warnings.warn(f'Ultranest sampler is not completely implemented yet') | ||
warnings.warn('Ultranest sampler is not completely implemented yet') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function UltraNestSampler.run
refactored with the following changes:
- Replace f-string with no interpolated values with string (
remove-redundant-fstring
)
config = {**base_config, **kwargs} | ||
config = base_config | kwargs | ||
sampler = self.ct.get_sampler_for_detector(**config) | ||
|
||
results, _ = sampler.run() | ||
|
||
fails = [] | ||
for i, (thing, expected, avg, std) in enumerate( | ||
zip( | ||
for thing, expected, avg, std in zip( | ||
base_config.get('fit_parameters'), | ||
[getattr(sampler, f) for f in base_config.get('fit_parameters')], | ||
results['posterior']['mean'], | ||
results['posterior']['stdev'] | ||
)): | ||
): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function PymultinestTest.test
refactored with the following changes:
- Applies the dictionary union operator where applicable (
use-dictionary-union
) - Remove unnecessary calls to
enumerate
when the index is not used (remove-unused-enumerate
)
Pull Request #246 refactored by Sourcery.
If you're happy with these changes, merge this Pull Request using the Squash and merge strategy.
NOTE: As code is pushed to the original Pull Request, Sourcery will
re-run and update (force-push) this Pull Request with new refactorings as
necessary. If Sourcery finds no refactorings at any point, this Pull Request
will be closed automatically.
See our documentation here.
Run Sourcery locally
Reduce the feedback loop during development by using the Sourcery editor plugin:
Review changes via command line
To manually merge these changes, make sure you're on the
ultranest
branch, then run:Help us improve this pull request!