
    h                        S SK r S SKJs  Jr  S SKJr  S SKJrJ	r	  S SK
JrJrJr  \ R                  " SSS9 S\SS.S	\ R                  S
\ R                  S\ R                  S\S-  S\S\S\ R                  4S jjj5       r\	" \5      \SSS4S	\ R                  S
\ R                  S\ R                  S\S\S-  S\S\S\ R                  4S jj5       rg)    N)IGNORE_INDEX)LINEAR_CROSS_ENTROPY_DOCadd_doc_start)_build_flat_validshandle_reduction_nonesoftcappingT)	fullgraphdynamicmeanignore_index	reductionectargetssoftcapr   r   returnc                    XR                   -  nUb  [        Xc5      n[        R                  " UR	                  5       X$US9nU$ )Nr   )Tr   Fcross_entropyfloat)r   r   r   r   r   r   logitslosss           Y/home/james-whalen/.local/lib/python3.13/site-packages/cut_cross_entropy/torch_compile.py(torch_compile_linear_cross_entropy_applyr      s=     WFV-??6<<>7YbcDK    Fshiftc           	         U R                  5       SS UR                  5       :X  d   eU R                  S5      UR                  S5      :X  d   eUR                  5       nU R                  5       n UR                  5       n[        X#U5      nU R                  SS5      n UR                  5       nUb  X   n X&(       a  US-   OU   n[	        U UUUUUS9n	US:X  a  [        XxXi5      n	U(       a	  U	SSS 24   n	U	$ )Nr      r   none.)size
contiguousr   flattenr   r   )
r   r   r   r   r   r   r   orig_b_sizevalidsr   s
             r   "torch_compile_linear_cross_entropyr)   "   s     668Ab>W\\^+++66":""",,.K	A  "Gu=F			!RAooGI%6A:V<3		!D F$[%FQR=DKr   )N)torchtorch.nn.functionalnn
functionalr   cut_cross_entropy.constantsr   cut_cross_entropy.docr   r   cut_cross_entropy.utilsr   r   r   compileTensorr   intstrr   boolr)    r   r   <module>r7      s-      4 I  t,
 !	 %|||| \\ T\	   \\ -& '(
 % (||(||( \\( 	(
 T\( ( ( \\( )(r   