ó
    ±“,jp	  ã                   ó4   • S SK Jr  S rS rS rS rS rS rg)	é   )Ú_axis_to_axistuplec                 ó   ^ • SU 4S jjnU$ )Nc           	      óÔ  >^• Uc  [        [        U R                  5      5      mO[        U5      mTR	                  XSS9nTR                  U5      nTR                  U[        U4S j[        UR                  5       5       5      5      nTR                  X5      n TR                  TR                  TR                  U 5      XS95      n TR                  X(       a  U5      n U $ U5      n U $ )NT©ÚaxisÚkeepdimsc              3   ó<   >#   • U  H  u  pUT;  d  M  Uv •  M     g 7f©N© )Ú.0ÚiÚsÚaxess      €Ú¸C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\einx/_src/adapter/classical_from_classical.pyÚ	<genexpr>Ú/logsumexp.<locals>.logsumexp.<locals>.<genexpr>   s$   øé € ð  AAÒOnÁtÀqÐrsÐ{ÑrÇÁÒOnùs   ƒ“	)ÚtupleÚrangeÚndimr   ÚmaxÚstop_gradientÚreshapeÚ	enumerateÚshapeÚsubtractÚlogÚsumÚexpÚadd)Úxr   r   Úx_max_keepdimsÚx_max_dropdimsr   Ú	classicals        @€r   Ú	logsumexpÚlogsumexp.<locals>.logsumexp   sØ   ù€ Ø‰<Üœ˜qŸv™v›Ó'‰Dä% dÓ+ˆDà"Ÿ™ q¸d˜ÐCˆØ"×0Ñ0°Ó@ˆØ"×*Ñ*¨>¼5ô  AAÌyÐYg×YmÑYmÔOnó  AAó  <Aó  Bˆà×Ñ˜qÓ1ˆØ�M‰M˜)Ÿ-™-¨	¯©°aÓ(8¸t˜-ÐWÓXˆØ�M‰M˜!­x˜^ÓLˆàˆð >LÓLˆàˆó    )NFr   )r#   r$   s   ` r   r$   r$      s   ø€ ÷ð  Ðr&   c                 ó   ^ • U 4S jnU$ )Nc            
      ó<  >• TR                   " U 6 nTR                  U5      nU  Vs/ s H  nTR                  X!5      PM     n nTR                  TR                  " U  Vs/ s H  nTR                  U5      PM     sn6 5      nTR	                  X!5      nU$ s  snf s  snf r
   )Úmaximumr   r   r   r   r   )ÚxsÚx_maxr    r#   s      €r   Ú	logaddexpÚlogaddexp.<locals>.logaddexp   sŒ   ø€ Ø×!Ò! 2Ð&ˆØ×'Ñ'¨Ó.ˆá46Ó7²B¨qˆi× Ñ  Ö*±BˆÐ7Ø�M‰M˜)Ÿ-š-ÁBÓ)GÂB¸q¨)¯-©-¸Ö*:ÁBÑ)GÐHÓIˆØ�M‰M˜!Ó#ˆàˆùò	 8ùÚ)Gs   ¦BÁBr   )r#   r,   s   ` r   r,   r,      s   ø€ õð Ðr&   c                 ó   ^ • SU 4S jjnU$ )Nc           	      óÊ   >• TR                  XSS9nTR                  U5      nTR                  X5      n TR                  U 5      nTR	                  UTR                  X1SS95      $ ©NTr   )r   r   r   r   Údivider   )r    r   r+   Úx_expr#   s       €r   ÚsoftmaxÚsoftmax.<locals>.softmax'   sd   ø€ Ø—‘˜a°T�Ð:ˆØ×'Ñ'¨Ó.ˆØ×Ñ˜qÓ(ˆà—‘˜aÓ ˆà×Ñ  y§}¡}°UÐPT }Ð'UÓVÐVr&   r
   r   )r#   r3   s   ` r   r3   r3   &   s   ø€ ÷Wð €Nr&   c                 ó   ^ • SU 4S jjnU$ )Nc           	      óD   >• TR                  U [        T5      " XSS95      $ r0   )r   r$   ©r    r   r#   s     €r   Úlog_softmaxÚ log_softmax.<locals>.log_softmax4   s#   ø€ Ø×!Ñ! !¤Y¨yÔ%9¸!ÐQUÑ%VÓWÐWr&   r
   r   )r#   r8   s   ` r   r8   r8   3   s   ø€ ÷Xð Ðr&   c                 ó   ^ • SU 4S jjnU$ )Nc                 óD   >• TR                  TR                  U S5      US9$ )Né    )r   )r   Ú	not_equalr7   s     €r   Úcount_nonzeroÚ$count_nonzero.<locals>.count_nonzero;   s#   ø€ Ø�}‰}˜Y×0Ñ0°°AÓ6¸Tˆ}ÐBÐBr&   r
   r   )r#   r>   s   ` r   r>   r>   :   s   ø€ ÷Cð Ðr&   c                 ó   ^• SU4S jjnU$ )Nc           	      ó  >^ ^^• [        T[        5      (       a  T4mTc  [        [        T R                  5      5      mU 4S jm[        U4S jT 5       5      mT" T [        U4S j[        T R                  5       5       5      5      m T $ )Nc                 ó¬   >• U TR                   * :  d  U TR                   :¼  a  [        SU  STR                    S35      eU S:  a  U TR                   -  n U $ )NzInvalid axis z for array with z dimensions.r<   )r   Ú
ValueError)r   r    s    €r   Ú_shiftÚ"flip.<locals>.flip.<locals>._shiftH   sR   ø€ Ø�q—v‘v�g‹~ ¨¯©£Ü  =°°Ð6FÀqÇvÁvÀhÈlÐ![Ó\Ð\Ø�a‹xØ˜Ÿ™‘�ØˆKr&   c              3   ó4   >#   • U  H  nT" U5      v •  M     g 7fr
   r   )r   ÚarD   s     €r   r   Ú%flip.<locals>.flip.<locals>.<genexpr>O   s   øé € Ð-ª 1‘V˜A—Y�Yªùs   ƒc              3   ó^   >#   • U  H"  oT;  a  [        S 5      O[        S S S5      v •  M$     g 7f)Néÿÿÿÿ)Úslice)r   r   r   s     €r   r   rH   Q   s+   øé € ÐlÒ^kÐYZ°T«MœU 4œ[¼uÀTÈ4ÐQSÓ?TÔTÒ^kùs   ƒ*-)Ú
isinstanceÚintr   r   r   )r    r   rD   Úgetitems   ``@€r   ÚflipÚflip.<locals>.flipB   sn   û€ Ü�dœC× Ñ Ø�7ˆDØ‰<Üœ˜qŸv™v›Ó'ˆDõ	ô Ô-©Ó-Ó-ˆá�A”uÔlÔ^cÐde×djÑdjÔ^kÓlÓlÓmˆØˆr&   r
   r   )r#   rN   rO   s    ` r   rO   rO   A   s   ø€ ÷ð$ €Kr&   N)Ú_utilr   r$   r,   r3   r8   r>   rO   r   r&   r   Ú<module>rR      s&   ðÝ %òò(ò
òòór&   