+
    xȇi)                         ^ RI t^ RIt^ RIHt ^ RIHtHt ^ RI	H
t  ! R R4      tR tR tR tR	 tR
 tR tR tR tR# )    N)join)
inner_joinleft_outer_joinc                   z   a  ] tR t^t o ]P
                  P                  R. RO4      R 4       tR tR t	R t
RtV tR# )	TestIndexerdtypec                `   \         P                  p\        P                  ! ^VR7      p\        P                  ! ^^VR7      p\        P                  ! . VR7      pV! W44      w  rgp\        V\        P                  4      '       g   Q h\        V\        P                  4      '       g   Q h\        V\        P                  4      '       g   Q h\        P                  ! V\        P                  ! ^VR7      4       \        P                  ! . RO\        P                  R7      p	\        P                  ! Wy4       \        P                  ! . RO\        P                  R7      p	\        P                  ! W4       V! WT4      w  rgp\        P                  ! Wd4       \        P                  ! . RO\        P                  R7      p	\        P                  ! Wy4       \        P                  ! . RO\        P                  R7      p	\        P                  ! W4       V! W54      w  rgp\        P                  ! Wc4       \        P                  ! . RO\        P                  R7      p	\        P                  ! Wy4       \        P                  ! . RO\        P                  R7      p	\        P                  ! W4       R# )   r   N)r         r   )r   r   r   r   r   )r   r   r   )r   r   r   )
libjoinouter_join_indexernparangearray
isinstancendarraytmassert_numpy_array_equalintp)
selfr   indexerleftrightemptyresultlindexerrindexerexps
   &&        k/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/libs/test_join.pytest_outer_join_indexer#TestIndexer.test_outer_join_indexer   s    ,,yy%(		!Qe,5)%,T%9"(&"**----(BJJ////(BJJ////
##FBIIau,EFhh(8
##H2hh(8
##H2%,U%:"(
##F2hh|2773
##H2hhy0
##H2%,T%9"(
##F1hhy0
##H2hh|2773
##H2    c                .   \         P                  ! . RO\         P                  R7      p\         P                  ! . RO\         P                  R7      p^p\        WV4      w  rEVP	                  RR7      pVP	                  RR7      p\         P                  ! . R	O4      p\         P                  ! . RO4      p	VP                  V4      pR
WhR
8H  &   VP                  V	4      pR
WyR
8H  &   \        P                  ! WFRR7       \        P                  ! WWRR7       R# )r   r   	mergesortkindF)check_dtypeNr   r   r   r   r   r   r   r   r   r
   r
   r   r   r      r   r   r   )r   r   r   r
   r
   r
   r-   r-   r-      r.   r.      r/      r0      r1   	   
   r   )r   r   r   r   r   r
   r   r   r
   r   r   r
   r-   r.   r-   r.   r-   r.   r   r   r   r   r   r   argsorttaker   r   
r   r   r   	max_grouplsrsexp_lsexp_rsexp_liexp_ris
   &         r"   test_cython_left_outer_join'TestIndexer.test_cython_left_outer_join0   s    xx9I.bgg>	 i8;/K0WXJ
 V$!|V$!|
##BEB
##BEBr%   c                &   \         P                  ! . RO\         P                  R7      p\         P                  ! . RO\         P                  R7      p^p\        W!V4      w  rEVP	                  RR7      pVP	                  RR7      p\         P                  ! . RO4      p\         P                  ! . R	O4      p	VP                  V4      pRWhR8H  &   VP                  V	4      pRWyR8H  &   \        P                  ! WV4       \        P                  ! WG4       R# )
r   r   r'   r(   Nr+   r,   r   )r   r   r   r
   r-   r.   r
   r-   r.   r
   r-   r.   r/   r0   r1   r/   r0   r1   r   )r   r   r   r   r   r   r   r   r   r
   r
   r
   r-   r-   r-   r.   r.   r.   r/   r4   )
r   r   r   r8   r:   r9   r;   r<   r=   r>   s
   &         r"   test_cython_right_outer_join(TestIndexer.test_cython_right_outer_joinH   s    xx9I.bgg>	 i8;/K0 
0 STV$!|V$!|
##B/
##B/r%   c                &   \         P                  ! . RO\         P                  R7      p\         P                  ! . RO\         P                  R7      p^p\        WV4      w  rEVP	                  RR7      pVP	                  RR7      p\         P                  ! . RO4      p\         P                  ! . RO4      p	VP                  V4      pR	WhR	8H  &   VP                  V	4      pR	WyR	8H  &   \        P                  ! WF4       \        P                  ! WW4       R# )
r   r   r'   r(   Nr+   )r   r   r   r-   r   r   r   r-   )r   r   r   r
   r
   r
   r-   r-   r-   r.   r.   r.   r/   r/   r0   r0   r1   r1   )r   r   r   r   r   r
   r   r   r
   r   r   r
   r-   r.   r-   r.   r-   r.   r   )r   r   r   r   r5   r6   r   r   r7   s
   &         r"   test_cython_inner_join"TestIndexer.test_cython_inner_joinv   s    xx9I1A	D3;/K0PQPQV$!|V$!|
##B/
##B/r%    N)int32int64float32float64object)__name__
__module____qualname____firstlineno__pytestmarkparametrizer#   r?   rB   rE   __static_attributes____classdictcell__)__classdict__s   @r"   r   r      sB     [[C33>C0,0\0 0r%   r   c                    \         P                  ! . RO\         P                  R7      p\         P                  ! . RO\         P                  R7      pVP                  V R7       VP                  V R7       \        P
                  ! W!4      p\         P                  ! . RO\         P                  R7      p\        P                  ! W44       R# )r   r   )writeNr   r   r
   r-   r.   )r   r   r
   r-   r-   )r   r   r   r
   r
   )	r   r   rI   setflagsr   left_join_indexer_uniquer   r   r   )writableabr   expecteds   &    r"   test_left_join_indexer_uniquer`      sx    
1A
1AJJXJJJXJ--a3Fxxrww7H1r%   c                     \         P                  ! . ^ N^N^ N^N^N^N^N^N^ N^N^N^N^ N^N^N^N^N^N^N^N^N^N^N^ N^N^N^N^ N^ N^N^N^N^ N^N^N^N^ N^N^N^ N^ N^N^ N^N^N^ N^N^ N^N^N^ N^N^N^N^N^N^ N^N^N^N^ N^ N^N^N^N^N^N^ N^N^N^ N^N^N^N^N^N^N^N^N^N^N^N^ N^ N^N^N^N^N^ N^N^N^N^N^N^ N^N^N^N^ N^N\         P                  R7      p \         P                  ! ^^.\         P                  R7      p^p\        P                  ! WVRR7      w  r4\         P
                  ! \        V 4      \         P                  R7      p\         P                  ! \        V 4      \         P                  R7      ) p^W`^8H  &   ^ W`^8H  &   \        P                  ! W54       \        P                  ! WF4       R# )r   r   F)sortN)
r   r   r   r   r   r   lenonesr   r   )r   r   
max_groupslidxridxexp_lidxexp_ridxs          r"   test_left_outer_join_bugrj      s   88e	
e	
e	
 e	
 	e	

 e	
 e	
 e	
 e	
 e	
 e	
 e	
 e	
 e	
 e	
 e	
  !e	
" #e	
$ %e	
& 'e	
( )e	
* +e	
, -e	
. /e	
0 1e	
2 3e	
4 5e	
6 7e	
8 9e	
: ;e	
< =e	
> ?e	
@ Ae	
B Ce	
D Ee	
F Ge	
H Ie	
J Ke	
L Me	
N Oe	
P Qe	
R Se	
T Ue	
V We	
X Ye	
Z [e	
\ ]e	
^ _e	
` ae	
b ce	
d ee	
f ge	
h ie	
j ke	
l me	
n oe	
p qe	
r se	
t ue	
v we	
x ye	
z {e	
| }e	
~ e	
@ Ae	
B Ce	
D Ee	
F Ge	
H Ie	
J Ke	
L Me	
N Oe	
P Qe	
R Se	
T Ue	
V We	
X Ye	
Z [e	
\ ]e	
^ _e	
` ae	
b ce	
d ee	
f ge	
h ie	
j ke	
l me	
n oe	
p qe	
r se	
t ue	
v we	
x ye	
z {e	
| }e	
~ e	
@ Ae	
B Ce	
D Ee	
F Ge	
H Ie	
L ggOhDT HHaV277+EJ((juMJDyyT"''2HD	11HHQYHQY//r%   c                     \         P                  ! . RO\         P                  R7      p \         P                  ! . RO\         P                  R7      p\        P                  ! W4      w  r#p\         P                  ! ^^.\         P                  R7      p\
        P                  ! W%4       \         P                  ! ^^.\         P                  R7      p\         P                  ! ^^.\         P                  R7      p\
        P                  ! W64       \
        P                  ! WG4       \         P                  ! ^.\         P                  R7      p \         P                  ! ^.\         P                  R7      p\        P                  ! W4      w  r#p\
        P                  ! V\         P                  ! ^.\         P                  R7      4       \
        P                  ! V\         P                  ! ^ .\         P                  R7      4       \
        P                  ! V\         P                  ! ^ .\         P                  R7      4       R# )r   r   NrY   r   r
   r.   r0   r2   )	r   r   rI   r   inner_join_indexerr   assert_almost_equalr   r   r]   r^   indexaresbres	index_expaexpbexps           r"   test_inner_join_indexerrv     sU   
1A
1A2218E!Qrxx0I5,88QF"''*D88QF"''*D4&4&
!BHH%A
!BHH%A2218Erxx288'DEbhhs"''&BCbhhs"''&BCr%   c                     \         P                  ! . RO\         P                  R7      p \         P                  ! . RO\         P                  R7      p\        P                  ! W4      w  r#p\         P                  ! . RO\         P                  R7      p\
        P                  ! W%4       \         P                  ! . RO\         P                  R7      p\         P                  ! . RO\         P                  R7      p\
        P                  ! W64       \
        P                  ! WG4       \         P                  ! ^.\         P                  R7      p \         P                  ! ^.\         P                  R7      p\        P                  ! W4      w  r#p\
        P                  ! V\         P                  ! ^.\         P                  R7      4       \
        P                  ! V\         P                  ! ^ .\         P                  R7      4       \
        P                  ! V\         P                  ! ^ .\         P                  R7      4       R# )r   r   NrY   rl   )r   r   r   r
   r-   r.   r0   r2   )r   r   r   r   r
   r-   r   r   )r   r   r   r   r   r   r
   r-   )	r   r   rI   r   r   r   rn   r   r   ro   s           r"   r#   r#   *  sL   
1A
1A2218E1BI5,88/rww?D88/rww?D4&4&
!BHH%A
!BHH%A2218Erxx288'DEbhhs"''&BCbhhs"''&BCr%   c                  2   \         P                  ! . RO\         P                  R7      p \         P                  ! . RO\         P                  R7      p\        P                  ! W4      w  r#p\
        P                  ! W 4       \         P                  ! . RO\         P                  R7      p\         P                  ! . RO\         P                  R7      p\
        P                  ! W54       \
        P                  ! WF4       \         P                  ! ^.\         P                  R7      p \         P                  ! ^.\         P                  R7      p\        P                  ! W4      w  r#p\
        P                  ! V\         P                  ! ^.\         P                  R7      4       \
        P                  ! V\         P                  ! ^ .\         P                  R7      4       \
        P                  ! V\         P                  ! ^ .\         P                  R7      4       R# )r   r   NrY   rl   )r   r   r   r
   r-   )r   r   r   r   r   )	r   r   rI   r   left_join_indexerr   rn   r   r   )r]   r^   rp   rq   rr   rt   ru   s          r"   test_left_join_indexerrz   A  s6   
1A
1A11!7E5$88O2773D88&bgg6D4&4&
!BHH%A
!BHH%A11!7Erxx288'DEbhhs"''&BCbhhs"''&BCr%   c                  L   \         P                  ! . RO\         P                  R7      p \         P                  ! . RO\         P                  R7      p\        P                  ! W4      w  r#p\         P                  ! . RO\         P                  R7      p\
        P                  ! W%4       \         P                  ! . RO\         P                  R7      p\
        P                  ! W64       \         P                  ! . RO\         P                  R7      p\
        P                  ! WG4       R# r   r   Nr   r   r   r.   r   r   r.   r0   r2   )r   r   r   r.   r0   r2   )r   r   r   r   r
   r-   )r   r   r   r
   r   r   )r   r   rI   r   ry   r   rn   r   idxidx2resrf   rg   exp_resrh   ri   s           r"   test_left_join_indexer2r   W  s    
((<rxx
0C88O2884D//:OCthh):G3(xx*"'':H4*xx,BGG<H4*r%   c                  L   \         P                  ! . RO\         P                  R7      p \         P                  ! . RO\         P                  R7      p\        P                  ! W4      w  r#p\         P                  ! . RO\         P                  R7      p\
        P                  ! W%4       \         P                  ! . RO\         P                  R7      p\
        P                  ! W64       \         P                  ! . RO\         P                  R7      p\
        P                  ! WG4       R# r|   )r   r   rI   r   r   r   rn   r   r   s           r"   test_outer_join_indexer2r   g  s    
((<rxx
0C88O2884D00;OCthh):G3(xx*"'':H4*xx,BGG<H4*r%   c                  L   \         P                  ! . RO\         P                  R7      p \         P                  ! . RO\         P                  R7      p\        P                  ! W4      w  r#p\         P                  ! . RO\         P                  R7      p\
        P                  ! W%4       \         P                  ! . RO\         P                  R7      p\
        P                  ! W64       \         P                  ! . RO\         P                  R7      p\
        P                  ! WG4       R# )r   r   Nr}   r~   )r   r   r   r   )r   r   r   r
   )r   r   rI   r   rm   r   rn   r   r   s           r"   test_inner_join_indexer2r   w  s    
((<rxx
0C88O2884D00;OCthh|2884G3(xxBGG4H4*xxBGG4H4*r%   )numpyr   rQ   pandas._libsr   r   pandas._libs.joinr   r   pandas._testing_testingr   r   r`   rj   rv   r#   rz   r   r   r   rG   r%   r"   <module>r      sR      (
 }0 }0@	2w0tD.D.D,+ + +r%   