@@ -3602,79 +3602,7 @@ L4:
3602
3602
L5:
3603
3603
return s
3604
3604
3605
- [case testForMapMultiple]
3606
- from typing import Any
3607
- def f(x: int, y: int) -> int:
3608
- return x * y
3609
- def g(a: list[int], b: list[int]) -> int:
3610
- s = 0
3611
- for x in map(f, a, b):
3612
- s += x
3613
- return s
3614
- [out]
3615
- def f(x, y):
3616
- x, y, r0 :: int
3617
- L0:
3618
- r0 = CPyTagged_Multiply(x, y)
3619
- return r0
3620
- def g(a, b):
3621
- a, b :: list
3622
- s :: int
3623
- r0 :: dict
3624
- r1 :: str
3625
- r2 :: object
3626
- r3, r4, r5 :: native_int
3627
- r6 :: bit
3628
- r7 :: native_int
3629
- r8 :: bit
3630
- r9 :: object
3631
- r10, _mypyc_map_arg_0 :: int
3632
- r11 :: object
3633
- r12, _mypyc_map_arg_1 :: int
3634
- r13, r14 :: object
3635
- r15, r16, r17, x, r18 :: int
3636
- r19, r20 :: native_int
3637
- L0:
3638
- s = 0
3639
- r0 = __main__.globals :: static
3640
- r1 = 'f'
3641
- r2 = CPyDict_GetItem(r0, r1)
3642
- r3 = 0
3643
- r4 = 0
3644
- L1:
3645
- r5 = var_object_size a
3646
- r6 = r3 < r5 :: signed
3647
- if r6 goto L2 else goto L5 :: bool
3648
- L2:
3649
- r7 = var_object_size b
3650
- r8 = r4 < r7 :: signed
3651
- if r8 goto L3 else goto L5 :: bool
3652
- L3:
3653
- r9 = list_get_item_unsafe a, r3
3654
- r10 = unbox(int, r9)
3655
- _mypyc_map_arg_0 = r10
3656
- r11 = list_get_item_unsafe b, r4
3657
- r12 = unbox(int, r11)
3658
- _mypyc_map_arg_1 = r12
3659
- r13 = box(int, _mypyc_map_arg_0)
3660
- r14 = box(int, _mypyc_map_arg_1)
3661
- r15 = unbox(int, r13)
3662
- r16 = unbox(int, r14)
3663
- r17 = f(r15, r16)
3664
- x = r17
3665
- r18 = CPyTagged_Add(s, x)
3666
- s = r18
3667
- L4:
3668
- r19 = r3 + 1
3669
- r3 = r19
3670
- r20 = r4 + 1
3671
- r4 = r20
3672
- goto L1
3673
- L5:
3674
- L6:
3675
- return s
3676
-
3677
- [case testForMapThreeArgs]
3605
+ [case testForMapComplex]
3678
3606
def f(x: int, y: int, z: int) -> int:
3679
3607
return x + y + z
3680
3608
def g(a: list[int], b: list[int], c: list[int]) -> int:
@@ -3762,137 +3690,6 @@ L6:
3762
3690
L7:
3763
3691
return s
3764
3692
3765
- [case testForMapEmpty]
3766
- def f(x: int) -> int:
3767
- return x + 1
3768
- def g(a: list[int]) -> int:
3769
- s = 0
3770
- for x in map(f, []):
3771
- s += x
3772
- return s
3773
- [out]
3774
- def f(x):
3775
- x, r0 :: int
3776
- L0:
3777
- r0 = CPyTagged_Add(x, 2)
3778
- return r0
3779
- def g(a):
3780
- a :: list
3781
- s :: int
3782
- r0 :: dict
3783
- r1 :: str
3784
- r2 :: object
3785
- r3 :: list
3786
- r4, r5 :: native_int
3787
- r6 :: bit
3788
- r7, _mypyc_map_arg_0 :: object
3789
- r8, r9, x, r10 :: int
3790
- r11 :: native_int
3791
- L0:
3792
- s = 0
3793
- r0 = __main__.globals :: static
3794
- r1 = 'f'
3795
- r2 = CPyDict_GetItem(r0, r1)
3796
- r3 = PyList_New(0)
3797
- r4 = 0
3798
- L1:
3799
- r5 = var_object_size r3
3800
- r6 = r4 < r5 :: signed
3801
- if r6 goto L2 else goto L4 :: bool
3802
- L2:
3803
- r7 = list_get_item_unsafe r3, r4
3804
- _mypyc_map_arg_0 = r7
3805
- r8 = unbox(int, _mypyc_map_arg_0)
3806
- r9 = f(r8)
3807
- x = r9
3808
- r10 = CPyTagged_Add(s, x)
3809
- s = r10
3810
- L3:
3811
- r11 = r4 + 1
3812
- r4 = r11
3813
- goto L1
3814
- L4:
3815
- L5:
3816
- return s
3817
-
3818
- [case testForMapUnpack]
3819
- def f(x: int, y: int) -> tuple[int, int]:
3820
- return (x, y)
3821
- def g(a: list[int], b: list[int]) -> int:
3822
- s = 0
3823
- for x, y in map(f, a, b):
3824
- s += x + y
3825
- return s
3826
- [out]
3827
- def f(x, y):
3828
- x, y :: int
3829
- r0 :: tuple[int, int]
3830
- L0:
3831
- r0 = (x, y)
3832
- return r0
3833
- def g(a, b):
3834
- a, b :: list
3835
- s :: int
3836
- r0 :: dict
3837
- r1 :: str
3838
- r2 :: object
3839
- r3, r4, r5 :: native_int
3840
- r6 :: bit
3841
- r7 :: native_int
3842
- r8 :: bit
3843
- r9 :: object
3844
- r10, _mypyc_map_arg_0 :: int
3845
- r11 :: object
3846
- r12, _mypyc_map_arg_1 :: int
3847
- r13, r14 :: object
3848
- r15, r16 :: int
3849
- r17 :: tuple[int, int]
3850
- r18, x, r19, y, r20, r21 :: int
3851
- r22, r23 :: native_int
3852
- L0:
3853
- s = 0
3854
- r0 = __main__.globals :: static
3855
- r1 = 'f'
3856
- r2 = CPyDict_GetItem(r0, r1)
3857
- r3 = 0
3858
- r4 = 0
3859
- L1:
3860
- r5 = var_object_size a
3861
- r6 = r3 < r5 :: signed
3862
- if r6 goto L2 else goto L5 :: bool
3863
- L2:
3864
- r7 = var_object_size b
3865
- r8 = r4 < r7 :: signed
3866
- if r8 goto L3 else goto L5 :: bool
3867
- L3:
3868
- r9 = list_get_item_unsafe a, r3
3869
- r10 = unbox(int, r9)
3870
- _mypyc_map_arg_0 = r10
3871
- r11 = list_get_item_unsafe b, r4
3872
- r12 = unbox(int, r11)
3873
- _mypyc_map_arg_1 = r12
3874
- r13 = box(int, _mypyc_map_arg_0)
3875
- r14 = box(int, _mypyc_map_arg_1)
3876
- r15 = unbox(int, r13)
3877
- r16 = unbox(int, r14)
3878
- r17 = f(r15, r16)
3879
- r18 = r17[0]
3880
- x = r18
3881
- r19 = r17[1]
3882
- y = r19
3883
- r20 = CPyTagged_Add(x, y)
3884
- r21 = CPyTagged_Add(s, r20)
3885
- s = r21
3886
- L4:
3887
- r22 = r3 + 1
3888
- r3 = r22
3889
- r23 = r4 + 1
3890
- r4 = r23
3891
- goto L1
3892
- L5:
3893
- L6:
3894
- return s
3895
-
3896
3693
[case testForMapComprehension]
3897
3694
def f(x: int, y: int) -> int:
3898
3695
return x * y
0 commit comments