change: new display infos
This commit is contained in:
@@ -283,7 +283,7 @@ class Evaluator:
|
|||||||
rules_stack: list[Rule],
|
rules_stack: list[Rule],
|
||||||
errors: EvaluatorErrorTree,
|
errors: EvaluatorErrorTree,
|
||||||
) -> Any:
|
) -> Any:
|
||||||
if target in param_chain_map:
|
if target in param_chain_map and param_chain_map[target].value is not None:
|
||||||
return param_chain_map[target].value
|
return param_chain_map[target].value
|
||||||
if target not in self.rules or len(self.rules[target]) == 0:
|
if target not in self.rules or len(self.rules[target]) == 0:
|
||||||
raise NoValidRuleError(target)
|
raise NoValidRuleError(target)
|
||||||
|
|||||||
@@ -21,18 +21,22 @@ T = TypeVar("T")
|
|||||||
DISPLAY_INFO = {}
|
DISPLAY_INFO = {}
|
||||||
|
|
||||||
|
|
||||||
|
def _format_display_info(name: str, value) -> str:
|
||||||
|
try:
|
||||||
|
return DISPLAY_INFO[name](value)
|
||||||
|
except KeyError:
|
||||||
|
return format(value, ".9g")
|
||||||
|
|
||||||
|
|
||||||
def format_value(name: str, value) -> str:
|
def format_value(name: str, value) -> str:
|
||||||
if value is True or value is False:
|
if value is True or value is False:
|
||||||
return str(value)
|
return str(value)
|
||||||
elif isinstance(value, (float, int)):
|
elif isinstance(value, (float, int)):
|
||||||
try:
|
return _format_display_info(name, value)
|
||||||
return DISPLAY_INFO[name](value)
|
|
||||||
except KeyError:
|
|
||||||
return format(value, ".9g")
|
|
||||||
elif isinstance(value, np.ndarray):
|
elif isinstance(value, np.ndarray):
|
||||||
return np.array2string(value)
|
return np.array2string(value)
|
||||||
elif isinstance(value, (list, tuple)):
|
elif isinstance(value, (list, tuple)):
|
||||||
return "-".join([str(v) for v in value])
|
return ", ".join([_format_display_info(name, v) for v in value])
|
||||||
elif isinstance(value, str):
|
elif isinstance(value, str):
|
||||||
p = Path(value)
|
p = Path(value)
|
||||||
if p.exists():
|
if p.exists():
|
||||||
@@ -388,12 +392,13 @@ class Parameters:
|
|||||||
repeat: int = Parameter(positive(int), default=1)
|
repeat: int = Parameter(positive(int), default=1)
|
||||||
t_num: int = Parameter(positive(int), default=4096)
|
t_num: int = Parameter(positive(int), default=4096)
|
||||||
z_num: int = Parameter(positive(int), default=128)
|
z_num: int = Parameter(positive(int), default=128)
|
||||||
time_window: float = Parameter(positive(float, int))
|
time_window: float = Parameter(positive(float, int), display_info=(1e12, "ps"))
|
||||||
dt: float = Parameter(in_range_excl(0, 10e-15))
|
dt: float = Parameter(in_range_excl(0, 10e-15), display_info=(1e15, "fs"))
|
||||||
tolerated_error: float = Parameter(in_range_excl(1e-15, 1e-3), default=1e-11)
|
tolerated_error: float = Parameter(in_range_excl(1e-15, 1e-3), default=1e-11)
|
||||||
step_size: float = Parameter(non_negative(float, int), default=0)
|
step_size: float = Parameter(non_negative(float, int), default=0)
|
||||||
wavelength_window: tuple[float, float] = Parameter(
|
wavelength_window: tuple[float, float] = Parameter(
|
||||||
validator_and(float_pair, validator_list(in_range_incl(100e-9, 10000e-9)))
|
validator_and(float_pair, validator_list(in_range_incl(100e-9, 10000e-9))),
|
||||||
|
display_info=(1e9, "nm"),
|
||||||
)
|
)
|
||||||
interpolation_degree: int = Parameter(validator_and(type_checker(int), in_range_incl(2, 18)))
|
interpolation_degree: int = Parameter(validator_and(type_checker(int), in_range_incl(2, 18)))
|
||||||
prev_sim_dir: str = Parameter(string)
|
prev_sim_dir: str = Parameter(string)
|
||||||
@@ -421,9 +426,9 @@ class Parameters:
|
|||||||
w_c: np.ndarray = Parameter(type_checker(np.ndarray))
|
w_c: np.ndarray = Parameter(type_checker(np.ndarray))
|
||||||
w0: float = Parameter(positive(float))
|
w0: float = Parameter(positive(float))
|
||||||
t: np.ndarray = Parameter(type_checker(np.ndarray))
|
t: np.ndarray = Parameter(type_checker(np.ndarray))
|
||||||
dispersion_length: float = Parameter(non_negative(float, int))
|
dispersion_length: float = Parameter(non_negative(float, int), display_info=(1e2, "cm"))
|
||||||
nonlinear_length: float = Parameter(non_negative(float, int))
|
nonlinear_length: float = Parameter(non_negative(float, int), display_info=(1e2, "cm"))
|
||||||
soliton_length: float = Parameter(non_negative(float, int))
|
soliton_length: float = Parameter(non_negative(float, int), display_info=(1e2, "cm"))
|
||||||
adapt_step_size: bool = Parameter(boolean)
|
adapt_step_size: bool = Parameter(boolean)
|
||||||
hr_w: np.ndarray = Parameter(type_checker(np.ndarray))
|
hr_w: np.ndarray = Parameter(type_checker(np.ndarray))
|
||||||
z_targets: np.ndarray = Parameter(type_checker(np.ndarray))
|
z_targets: np.ndarray = Parameter(type_checker(np.ndarray))
|
||||||
|
|||||||
Reference in New Issue
Block a user