+
    Pj+                     (   ^ RI t ^ RIHtHt ^ RIt^ RIt^ RIHtH	t	H
t
 ^ RIHt  ! R R4      t]! RRR^^R	7      RR3]! RRR
^^R	7      RR3]! RRR^R7      RR3]! RRR^^^^R7      RR3]! RRR^^^R7      RR3.t. ROtR t. ROtR tR tR tR# )     N)AnyCallable)EinopsError_compactify_pattern_for_einsumeinsum)collect_test_backendsc                   D   a  ] tR t^t o V 3R lR ltV 3R lR ltRtV tR# )	Argumentsc                &   < V ^8  d   QhRS[ RS[ /# )   argskargs)r   )format__classdict__s   "q/Users/ahmed/devFolder/Ultron/claude-voice/gateway/.venv/lib/python3.14/site-packages/einops/tests/test_einsum.py__annotate__Arguments.__annotate__   s      c C     c                    Wn         W n        R # Nr   kwargs)selfr   r   s   &*,r   __init__Arguments.__init__   s    	r   c                    < V ^8  d   QhRS[ /# )r   function)r   )r   r   s   "r   r   r      s     3 3 3r   c                :    V! V P                   / V P                  B # r   r   )r   r   s   &&r   __call__Arguments.__call__   s    2dkk22r   r   N)__name__
__module____qualname____firstlineno__r   r   __static_attributes____classdictcell__)r   s   @r   r
   r
      s      3 3r   r
   zb c_in h w -> w c_out h bz
c_in c_out)
bias_shapec_outc_inr(   zb c_in h w -> w c_in h b )r'   r)   zb c_in h w -> b c_outzc_in h w c_out)r'   r)   hwr(   zb t head c_in -> b t head c_outzhead c_in c_out)r'   headr)   r(   c                     \        R RR7       F  p \        P                  P                  4       pV P                  R9   g   K4  V P                  4       P                  p\         F  w  r4pV! V4      p\        RVP                  RV P                  4       VP                  VR7      P                  R4      pV P                  V4      pV! V4      p	V P                  V	4      p
V
P                  V8X  d   K  Q h	  K  	  R# )	TF)layerssymbolicRunningforsizefloat32N)
tensorflowtorchoneflowpaddle)r   nprandomdefault_rngframework_namer/   EinMixtest_layer_casesprinteinsum_patternuniformastype
from_numpyto_numpyshape)backendrng
layer_typer   in_shape	out_shapelayerinputinput_frameworkoutput_frameworkoutputs              r   
test_layerrQ      s    (uEii##%!!%QQ )00J-=)	Z(i!5!5ug>T>TU299)D")"4"4U";#(#9  ))*:;||y000 .>	 Fr   c            	         \        R  \        4       4      p V  EFd  p\         EFU  w  r#rE\        RV RVP                   24       \        V4      pWc8X  g   Q h\        P                  P                  ^ 4      pV Uu. uF#  qP                  VR7      P                  R4      NK%  	  p	pV	 U
u. uF  qP                  V
4      NK  	  pp
R	 F  pV'       d   VP                  ! V.VO5!  pM\        . VOVN5!  p\        VP                  4      V8w  d   \        RV RVP                   24      h\        P                  ! V.V	O5!  pVP!                  V4      p\        P"                  P%                  W^R7       K  	  EKX  	  EKg  	  R# u upi u up
i )
c                 (    V P                   \        9   # r   r=   valid_backends_functionalxs   &r   <lambda>!test_functional.<locals>.<lambda>   s     0 04M Mr   	Running 'z' for r3   r5   Expected output shape 	 but got decimalNTF)filterr   test_functional_casesr@   r=   r   r:   r;   RandomStaterB   rC   rD   r   tuplerF   
ValueErrorrE   testingassert_array_almost_equal)backendsrG   einops_patterntrue_pattern	in_shapesrK   predicted_patternrstaterF   	in_arraysarrayin_arrays_frameworkdo_manual_call	out_arraytrue_out_arraypredicted_out_arrays                   r   test_functionalrt      sx   MOdOfgHBWBW>N)In-VG4J4J3KLM !?~ N$444 YY**1-FS\]S\%U3::9ES\I]JS"T)#5#5e#<)"T #0! '/@ WCV WI & L(; L^ LI )Y6$'=i[	R[RaRaQb%cdd "$<!D)!D&-&6&6y&A#

445Hbc4d #0 CX  ^"Ts   :)F)Fc                  4   \        R  \        RRR7      4      p V  EFn  p\         EF_  w  r#rE\        RV RVP                   24       \        V4      pWc8X  g   Q h\        P                  P                  ^ 4      pV Uu. uF  qP                  V4      NK  	  p	pV Uu. uF#  qP                  VR7      P                  R4      NK%  	  p
p\        P                  ! V.V
O5!  pR F  pV'       d   VP                  ! V.V	O5!  pM\        . V	OVN5!  pVP                  V\        \        W4      4      4      pVP                   V8w  d   \#        RV R	VP                    24      h\        P$                  P'                  W^R
7       K  	  EKb  	  EKq  	  R# u upi u upi )c                 (    V P                   \        9   # r   rT   rV   s   &r   rX   *test_functional_symbolic.<locals>.<lambda>   s    !""&??r   TF)r0   r/   rZ   z' for symbolic r3   r5   r[   r\   r]   Nr_   )r`   r   ra   r@   r=   r   r:   r;   rb   create_symbolrB   rC   r   eval_symbollistziprF   rd   re   rf   )rg   rG   rh   ri   rj   rK   rk   rl   rJ   in_symsin_dataexpected_out_datarp   predicted_out_symbolpredicted_out_datas                  r   test_functional_symbolicr      s   ?AV`dmrAsH BWBW>N)In-_W=S=S<TUV >~ N$444YY**1-FGPQy8,,X6yGQW`aW`8~~8~4;;IFW`Ga "		, A A"/!+2>>:K+Vg+V(+1+K7+KN+K(%,%8%8(W./&" &++y8$'=i[	RdRjRjQk%lmm

445Gde4f #0 CX  Ras   =F)Fc            
        a \         P                  P                  ^ 4      oV3R lp \        P                  ! \
        RR7      ;_uu_ 4        \        V ! ^^4      R4       RRR4       \        P                  ! \
        RR7      ;_uu_ 4        \        V ! ^^4      R4       RRR4       \        P                  ! \
        RR7      ;_uu_ 4        \        V ! ^
^4      R4       RRR4       \        P                  ! \
        R	R7      ;_uu_ 4        \        V ! ^^4      R
4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        V ! ^^4      R4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        V ! ^^^4      R4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        V ! ^4      RP                  \        P                  4      R,           4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        V ! ^^4      R4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        RV ! ^^^4      4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        R4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        V ! ^^4      4       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELW; i  + '       g   i     EL+; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELW; i  + '       g   i     EL*; i  + '       g   i     EL; i  + '       g   i     R# ; i)r   c                  F   < SP                  V R 7      P                  R4      # )r3   r5   )rB   rC   )rF   rl   s   *r   create_tensor-test_functional_errors.<locals>.create_tensor  s    ~~5~)00;;r   z
^Singleton)matchz	i () -> iNz^Shape rearrangementza b -> (a b)z(a b) -> a bz^Anonymous axeszi 2 -> iz^Invalid axis identifierz	i 2j -> iz^Einsum patternzi j kz^Too many axes z	 extra ->z^Unknown axiszi j -> kz^The last argumentz
i j k -> iz^`einops.einsum` takes)r:   r;   rb   pytestraisesNotImplementedErrorr   r   rd   RuntimeErrorjoinstringascii_letters)r   rl   s    @r   test_functional_errorsr   	  s    YY""1%F< 
*,	?	?!Q	
 
@ 
*2H	I	I!Q	
 
J 
*2H	I	I"a 	
 
J 
*2C	D	D!Q	
 
E 
{*D	E	E!Q	
 
F 
z):	;	;!Q"	
 
< 
|+;	<	<!HHV))*[8	
 
= 
|?	;	;!Q	
 
< 
z)=	>	>!Q"	
 
? 
z)A	B	B	
 
C 
z)A	B	B!Q	
 
C	BY 
@	?	? 
J	I	I 
J	I	I 
E	D	D 
F	E	E 
<	;	; 
=	<	< 
<	;	; 
?	>	> 
C	B	B 
C	B	Bs   LLL-MMM)7M=/N/N%0N9(OL	L*	-L>	M	M&	)M:	=N	N"	%N6	9O
	O	)r            )r      r   r   )r   r   r   r   r      r   r   r   r   )r   r   r      ))zb c h w, b w -> b hzabcd,ad->ac)r   r   )r   r   )zb c h w, b w, b c -> b hzabcd,ad,ab->ac))r   r   (   r   r   r   r   )r   r   )z2... one two three, three four five -> ... two fivez...abc,cde->...be)    r   r   r   r   r   r   r   r   r   r   r   )z2one two three ..., three four five -> two five ...zabc...,cde->be...))r   r   r   r   r   r   )r   r   r   r   )z6... one two three, ... three four five -> ... two fivez...abc,...cde->...be)r   )r   r   r   r   r   r   )z*first_tensor second_tensor -> first_tensorzab->a))r   r   r   )zi i -> zaa->))r   r    )z% one  two  ,  three four->two  four  z	ab,cd->bd)r   )r   r   )r   r   )zi middle i -> middlezaba->b))r   
   r   r   )zi ... i -> ...z
a...a->...)r   r   r      r   r   )r   r   r   r   )zi ... i -> i ...za...a->a...r   )r   r   r   r   r   )zone one one -> onezaaa->a))r   r   r   r   )zi j k -> j i kzabc->bac))r   r   r   )r   r   r   )z
... -> ...z...->...)r   r   r   r   r   r   )z..., ..., ... -> ...z...,...,...->...)r   r   r   r   r   )zindex ->za->r   r   )
r6   r7   jaxnumpyr8   cupyztensorflow.kerasr9   pytensormlx)r   typingr   r   r   r:   r   einops.einopsr   r   r   einops.testsr   r
   r?   ra   rQ   rU   rt   r   r   r   r   r   <module>r      s         M M .3 3 	-|TV]_` 	-|WY`bc 	,bTK 	)+;SUYZ^_ghi 	35FSW^_fgopq+ >s l1  eFg@Y
r   