nafuma/nafuma/auxillary.py
2022-04-07 17:05:52 +02:00

55 lines
No EOL
1.1 KiB
Python

import json
import numpy as np
def update_options(options, required_options, default_options):
''' Takes a dictionary of options along with a list of required options and dictionary of default options, and sets all keyval-pairs of options that is not already defined to the default values'''
for option in required_options:
if option not in options.keys():
options[option] = default_options[option]
return options
def save_options(options, path):
''' Saves any options dictionary to a JSON-file in the specified path'''
with open(path, 'w') as f:
json.dump(options,f)
def load_options(path):
''' Loads JSON-file into a dictionary'''
with open(path, 'r') as f:
options = json.load(f)
return(options)
def swap_values(dict, key1, key2):
key1_val = dict[key1]
dict[key1] = dict[key2]
dict[key2] = key1_val
return dict
def ceil(a, roundto=1):
fac = 1/roundto
a = np.ceil(a*fac) / fac
return a
def floor(a, roundto=1):
fac = 1/roundto
a = np.floor(a*fac) / fac
return a