Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 16 additions & 8 deletions src/ansys/fluent/core/services/scheme_eval.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,11 @@ def string_eval(
) -> SchemeEvalProtoModule.StringEvalResponse:
return self.__stub.StringEval(request, metadata=self.__metadata)

def scheme_eval(
self, request: SchemeEvalProtoModule.SchemeEvalRequest
) -> SchemeEvalProtoModule.SchemeEvalResponse:
return self.__stub.SchemeEval(request, metadata=self.__metadata)


class Symbol:
"""Class representing the symbol datatype in Fluent.
Expand Down Expand Up @@ -226,10 +231,16 @@ def eval(self, val: Any) -> Any:
Any
Output scheme value represented as Python datatype
"""
request = SchemePointer()
_convert_py_value_to_scheme_pointer(val, request, self.version)
response = self.service.eval(request)
return _convert_scheme_pointer_to_py_value(response, self.version)
if self.version < "23.1":
request = SchemePointer()
_convert_py_value_to_scheme_pointer(val, request, self.version)
response = self.service.eval(request)
return _convert_scheme_pointer_to_py_value(response, self.version)
else:
request = SchemeEvalProtoModule.SchemeEvalRequest()
_convert_py_value_to_scheme_pointer(val, request.input, self.version)
response = self.service.scheme_eval(request)
return _convert_scheme_pointer_to_py_value(response.output, self.version)

def exec(
self, commands: Sequence[str], wait: bool = True, silent: bool = True
Expand Down Expand Up @@ -289,13 +300,10 @@ def scheme_eval(self, input: str) -> Any:
str
Output scheme value represented as Python datatype
"""
request = SchemePointer()
S = Symbol # noqa N806
val = (
S("eval"),
(S("with-input-from-string"), input, S("read")),
S("user-initial-environment"),
)
_convert_py_value_to_scheme_pointer(val, request, self.version)
response = self.service.eval(request)
return _convert_scheme_pointer_to_py_value(response, self.version)
return self.eval(val)
1 change: 1 addition & 0 deletions tests/test_scheme_eval_231.py
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,7 @@ def test_two_way_conversion_for_pairs() -> None:
assert val[1] == 5.0


@pytest.mark.dev
@pytest.mark.fluent_231
def test_long_list(new_solver_session) -> None:
length = 10**6
Expand Down