@@ -3674,121 +3674,6 @@ L5:
36743674L6:
36753675 return s
36763676
3677- [case testForFilter]
3678- def f(x: int) -> bool:
3679- return bool(x % 2)
3680- def g(a: list[int]) -> int:
3681- s = 0
3682- for x in filter(f, a):
3683- s += x
3684- return s
3685- [out]
3686- def f(x):
3687- x, r0 :: int
3688- r1 :: bit
3689- L0:
3690- r0 = CPyTagged_Remainder(x, 4)
3691- r1 = r0 != 0
3692- return r1
3693- def g(a):
3694- a :: list
3695- s :: int
3696- r0 :: dict
3697- r1 :: str
3698- r2 :: object
3699- r3, r4 :: native_int
3700- r5 :: bit
3701- r6 :: object
3702- r7, x :: int
3703- r8 :: object
3704- r9 :: object[1]
3705- r10 :: object_ptr
3706- r11 :: object
3707- r12 :: i32
3708- r13 :: bit
3709- r14 :: bool
3710- r15 :: int
3711- r16 :: native_int
3712- L0:
3713- s = 0
3714- r0 = __main__.globals :: static
3715- r1 = 'f'
3716- r2 = CPyDict_GetItem(r0, r1)
3717- r3 = 0
3718- L1:
3719- r4 = var_object_size a
3720- r5 = r3 < r4 :: signed
3721- if r5 goto L2 else goto L6 :: bool
3722- L2:
3723- r6 = list_get_item_unsafe a, r3
3724- r7 = unbox(int, r6)
3725- x = r7
3726- r8 = box(int, x)
3727- r9 = [r8]
3728- r10 = load_address r9
3729- r11 = PyObject_Vectorcall(r2, r10, 1, 0)
3730- keep_alive r8
3731- r12 = PyObject_IsTrue(r11)
3732- r13 = r12 >= 0 :: signed
3733- r14 = truncate r12: i32 to builtins.bool
3734- if r14 goto L4 else goto L3 :: bool
3735- L3:
3736- goto L5
3737- L4:
3738- r15 = CPyTagged_Add(s, x)
3739- s = r15
3740- L5:
3741- r16 = r3 + 1
3742- r3 = r16
3743- goto L1
3744- L6:
3745- L7:
3746- return s
3747-
3748- [case testForFilterNone]
3749- def f(a: list[int]) -> int:
3750- c = 0
3751- for x in filter(None, a):
3752- c += 1
3753- return 0
3754-
3755- [out]
3756- def f(a):
3757- a :: list
3758- c :: int
3759- r0, r1 :: native_int
3760- r2 :: bit
3761- r3 :: object
3762- r4, x :: int
3763- r5 :: bit
3764- r6 :: int
3765- r7 :: native_int
3766- L0:
3767- c = 0
3768- r0 = 0
3769- L1:
3770- r1 = var_object_size a
3771- r2 = r0 < r1 :: signed
3772- if r2 goto L2 else goto L6 :: bool
3773- L2:
3774- r3 = list_get_item_unsafe a, r0
3775- r4 = unbox(int, r3)
3776- x = r4
3777- r5 = x != 0
3778- if r5 goto L4 else goto L3 :: bool
3779- L3:
3780- goto L5
3781- L4:
3782- r6 = CPyTagged_Add(c, 2)
3783- c = r6
3784- L5:
3785- r7 = r0 + 1
3786- r0 = r7
3787- goto L1
3788- L6:
3789- L7:
3790- return 0
3791-
37923677[case testForMapThreeArgs]
37933678def f(x: int, y: int, z: int) -> int:
37943679 return x + y + z
0 commit comments