Path 1: 1 calls (0.5)

1def get_codes() -> Iterable[ControlCode]:
2            control = ControlType
3            if x:
4                yield (
5                    control.CURSOR_FORWARD if x > 0 else control.CURSOR_BACKWARD,
6                    abs(x),
7                )
8            if y:
9                yield (
10                    control.CURSOR_DOWN if y > 0 else control.CURSOR_UP,
11                    abs(y),
12                )
            

Path 2: 1 calls (0.5)

tuple (2) None (1)

1def get_codes() -> Iterable[ControlCode]:
2            control = ControlType
3            if x:
4                yield (
5                    control.CURSOR_FORWARD if x > 0 else control.CURSOR_BACKWARD,
6                    abs(x),
7                )
8            if y:
9                yield (
10                    control.CURSOR_DOWN if y > 0 else control.CURSOR_UP,
11                    abs(y),
12                )