Skip to content

Commit 559d022

Browse files
committed
add custom_eval_float
1 parent 9fe9801 commit 559d022

3 files changed

Lines changed: 11 additions & 6 deletions

File tree

‎paths_cli/compiling/cvs.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from paths_cli.compiling.core import Parameter, Builder
2-
from paths_cli.compiling.tools import custom_eval
2+
from paths_cli.compiling.tools import custom_eval, custom_eval_float
33
from paths_cli.compiling.topology import build_topology
44
from paths_cli.compiling.errors import InputError
55
from paths_cli.utils import import_thing
@@ -40,11 +40,11 @@ def _cv_kwargs_remapper(dct):
4040
for key, arg in kwargs.items()},
4141
json_type='object', default=None,
4242
description="keyword arguments for ``func``"),
43-
Parameter('period_min', custom_eval, default=None,
43+
Parameter('period_min', custom_eval_float, default=None,
4444
json_type=json_type_eval('Float'),
4545
description=("minimum value for a periodic function, "
4646
"None if not periodic")),
47-
Parameter('period_max', custom_eval, default=None,
47+
Parameter('period_max', custom_eval_float, default=None,
4848
json_type=json_type_eval('Float'),
4949
description=("maximum value for a periodic function, "
5050
"None if not periodic")),

‎paths_cli/compiling/tools.py‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@ def custom_eval_int_strict_pos(obj, named_objs=None):
3333
return val
3434

3535

36+
def custom_eval_float(obj, named_objs=None):
37+
val = custom_eval(obj, named_objs)
38+
return float(val)
39+
40+
3641
class UnknownAtomsError(RuntimeError):
3742
pass
3843

‎paths_cli/compiling/volumes.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import functools
33

44
from paths_cli.compiling.core import Parameter
5-
from paths_cli.compiling.tools import custom_eval
5+
from paths_cli.compiling.tools import custom_eval_float
66
from paths_cli.compiling.plugins import VolumeCompilerPlugin, CategoryPlugin
77
from paths_cli.compiling.root_compiler import compiler_for
88
from paths_cli.compiling.json_type import (
@@ -30,10 +30,10 @@ def cv_volume_build_func(**dct):
3030
parameters=[
3131
Parameter('cv', compiler_for('cv'), json_type=json_type_ref('cv'),
3232
description="CV that defines this volume"),
33-
Parameter('lambda_min', custom_eval,
33+
Parameter('lambda_min', custom_eval_float,
3434
json_type=json_type_eval("Float"),
3535
description="Lower bound for this volume"),
36-
Parameter('lambda_max', custom_eval,
36+
Parameter('lambda_max', custom_eval_float,
3737
json_type=json_type_eval("Float"),
3838
description="Upper bound for this volume")
3939
],

0 commit comments

Comments
 (0)