diff --git a/src/copapy/_basic_types.py b/src/copapy/_basic_types.py index 915dcef..1d8ce67 100644 --- a/src/copapy/_basic_types.py +++ b/src/copapy/_basic_types.py @@ -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"