type annotations for iif function fixed

This commit is contained in:
Nicolas Kruse 2025-11-27 17:19:25 +01:00
parent 99a880861a
commit ad78c4089c
1 changed files with 3 additions and 1 deletions

View File

@ -322,9 +322,11 @@ def iif(expression: variable[Any], true_result: unifloat, false_result: unifloat
@overload
def iif(expression: float | int, true_result: TNum, false_result: TNum) -> TNum: ...
@overload
def iif(expression: float | int, true_result: TNum, false_result: variable[TNum]) -> variable[TNum]: ...
def iif(expression: float | int, true_result: TNum | variable[TNum], false_result: variable[TNum]) -> variable[TNum]: ...
@overload
def iif(expression: float | int, true_result: variable[TNum], false_result: TNum | variable[TNum]) -> variable[TNum]: ...
@overload
def iif(expression: float | int | variable[Any], true_result: TNum | variable[TNum], false_result: TNum | variable[TNum]) -> variable[TNum] | TNum: ...
def iif(expression: Any, true_result: Any, false_result: Any) -> Any:
allowed_type = (variable, int, float)
assert isinstance(true_result, allowed_type) and isinstance(false_result, allowed_type), "Result type not supported"