
    Ph                        d dl Z d dlZd dlZd dlZd dlZd dlmc mZ	 d dl
mZmZ  ej                  ej                        j                  Z ej                  ej                        j"                  ZdZddz  dz
  Ze ZdZ ed      D  cg c]  } e| z   	 c}  ed      D  cg c]  } e| z
  	 c} z    ed	d      D  cg c]  } e| z   	 c} z    ed	d      D  cg c]
  } dez  | z    c} z    ed	d      D  cg c]
  } edz  | z    c} z    e ed
d            z   Z ed      D  cg c]  } e| z   	 c}  ed      D  cg c]  } e| z
  	 c} z    ed	d      D  cg c]  } e| z   	 c} z    ed	d      D  cg c]
  } dez  | z    c} z    ed	d      D  cg c]
  } edz  | z    c} z    e ed
d            z   dgz   ZeD cg c]
  }|d kD  s	| c}Zej8                  d        Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'ejP                  jR                  d        Z*d Z+d Z,yc c} w c c} w c c} w c c} w c c} w c c} w c c} w c c} w c c} w c c} w c c}w )    N)assert_raisesassert_equall                 l               iiF   Fc               '       K   dg fd}	  |        y# t         $ r2 ddl}dt        d         d|j                         }t	        |      w xY ww)z}
    Iterate over Cartesian product of *args, and if an exception is raised,
    add information of the current iterate.
    Nc               3   N   K   t        j                   D ]  } | d<   |   y wNr   )	itertoolsproduct)vargsvalues    jC:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\numpy/core/tests/test_extint128.pyiteratezexc_iter.<locals>.iterate4   s*     ""D)AE!HG *s   "%r   zAt: 
)	Exception	tracebackrepr
format_excAssertionError)r   r   r   msgr   s   `   @r   exc_iterr   +   s[      FE
"i ""58n'2246S!!	"s   
A	 A;AAc            	         t         j                  dft         j                  dft         j                  dfg} t	        | t
        t
              5 }|D ]t  \  }}}|\  }} |||      }t        |cxk  r	t        k  s$n t        t        t        j                  |||       Lt        j                  |||      }||k7  sit        ||       v 	 d d d        y # 1 sw Y   y xY w)Nr   r      )operatoraddsubmulr   INT64_VALUES	INT64_MIN	INT64_MAXr   OverflowErrormtextint_safe_binopr   )	opsitxopabpyopopcds	            r   test_safe_binopr1   B   s     
q	q	qC 
#|\	2bICAHD"Q
A/i/mR-A-A1aL((Ar26 A&  
3	2	2s   A+C7CCc                      t        t              5 } | D ]+  \  }t        j                  |      }||k7  s t	        ||       - 	 d d d        y # 1 sw Y   y xY wN)r   r"   r&   extint_to_128r   r)   r+   r,   s      r   test_to_128r6   Y   sE    	,	2BA  #AAvQ"  
 		s   "AAAc                     t        t              5 } | D ]`  \  }t        |cxk  r	t        k  s"n t	        t
        t        j                  |       :t        j                  |      }||k7  sUt        ||       b 	 d d d        y # 1 sw Y   y xY wr3   )	r   INT128_VALUESr#   r$   r   r%   r&   extint_to_64r   r5   s      r   
test_to_64r:   a   s`    	-	 BBA/i/mR__a@OOA&6 A&  
!	 	 s   AB (B  B	c                      t        t        t              5 } | D ]2  \  }}||z  }t        j                  ||      }||k7  s't	        ||       4 	 d d d        y # 1 sw Y   y xY wr3   )r   r"   r&   extint_mul_64_64r   r)   r+   r,   r/   r0   s        r   test_mul_64_64r>   l   sT    	,	-DAqAA##Aq)AAvQ"	  
.	-	-   )AAA c                  2   t        t        t              5 } | D ]h  \  }}||z   }t        |cxk  r	t        k  s#n t	        t
        t        j                  ||       At        j                  ||      }||k7  s]t        ||       j 	 d d d        y # 1 sw Y   y xY wr3   )	r   r8   
INT128_MIN
INT128_MAXr   r%   r&   extint_add_128r   r=   s        r   test_add_128rD   u   u    	-	/2DAqAA!1z1mR->->1E%%a+6 A&  
0	/	/   AB5BBc                  2   t        t        t              5 } | D ]h  \  }}||z
  }t        |cxk  r	t        k  s#n t	        t
        t        j                  ||       At        j                  ||      }||k7  s]t        ||       j 	 d d d        y # 1 sw Y   y xY wr3   )	r   r8   rA   rB   r   r%   r&   extint_sub_128r   r=   s        r   test_sub_128rI      rE   rF   c                      t        t              5 } | D ].  \  }| }t        j                  |      }||k7  s#t	        ||       0 	 d d d        y # 1 sw Y   y xY wr3   )r   r8   r&   extint_neg_128r   r)   r+   r,   r/   s       r   test_neg_128rM      sL    	-	 BBAA!!!$AAvQ"	  
!	 	 s   %AAAc                      t        t              5 } | D ]O  \  }|dk  r| dz  ddz  dz
  z   }n|dz  ddz  dz
  z  }t        j                  |      }||k7  sDt	        ||       Q 	 d d d        y # 1 sw Y   y xY w)Nr   r   r   r   )r   r8   r&   extint_shl_128r   rL   s       r   test_shl_128rP      s}    	-	 BBA1uqyQVAX./!V3q)!!!$AAvQ"  
!	 	 s   AA/A//A8c                      t        t              5 } | D ]=  \  }|dk  r| dz	   }n|dz	  }t        j                  |      }||k7  s2t	        ||       ? 	 d d d        y # 1 sw Y   y xY w)Nr   r   )r   r8   r&   extint_shr_128r   rL   s       r   test_shr_128rS      sb    	-	 BBA1uraiLF!!!$AAvQ"  
!	 	 s   4AAA&c                      t        t        t              5 } | D ]2  \  }}||kD  }t        j                  ||      }||k7  s't	        ||       4 	 d d d        y # 1 sw Y   y xY wr3   )r   r8   r&   extint_gt_128r   r=   s        r   test_gt_128rV      sT    	-	/2DAqAA  A&AAvQ"	  
0	/	/r?   c                  t   t        t        t              5 } | D ]  \  }}|dk\  rt        ||      \  }}nt        | |      \  }}| }| }t	        j
                  ||      \  }}||k7  s||k7  s||z  |z   |k7  s`t        ||       t        ||       t        ||z  |z   |        	 d d d        y # 1 sw Y   y xY wr   )r   r8   INT64_POS_VALUESdivmodr&   extint_divmod_128_64r   )r)   r+   r,   r/   crr0   drs          r   test_divmod_128_64r]      s    	-!1	2bDAqAvq!2r12BS++Aq1EArAvbAaC"HMQ"R$QqS2Xq)  
3	2	2s   A"B.8,B..B7c                      t        t        t              5 } | D ]2  \  }}||z  }t        j                  ||      }||k7  s't        ||       4 	 d d d        y # 1 sw Y   y xY wr3   )r   r8   rX   r&   extint_floordiv_128_64r   r=   s        r   test_floordiv_128_64r`      sU    	-!1	2bDAqQA))!Q/AAvQ"  
3	2	2r?   c                      t        t        t              5 } | D ]8  \  }}||z   dz
  |z  }t        j                  ||      }||k7  s-t        ||       : 	 d d d        y # 1 sw Y   y xY w)Nr   )r   r8   rX   r&   extint_ceildiv_128_64r   r=   s        r   test_ceildiv_128_64rc      s^    	-!1	2bDAqQq A((A.AAvQ"  
3	2	2s   /AAA&)-r   
contextlibr   pytestnumpynpnumpy.core._multiarray_testscore_multiarray_testsr&   numpy.testingr   r   iinfoint64maxr$   minr#   	INT64_MIDrB   rA   
INT128_MIDrangelistr"   r8   rX   contextmanagerr   r1   r6   r:   r>   rD   rI   rM   rP   rS   rV   markslowr]   r`   rc   )jxs   00r   <module>ry      s        ) ) 5 BHHRXX""	BHHRXX""		 VaZ
[

 ""I&IqY]I&!"I&IqY]I&'!#rN+NqY]N+, $Cn-nQy[1_n-.  %S"~.~!Y\A~.	/
 	sB  #2Y'YZ!^Y'"2Y'YZ!^Y'("3^,^Z!^^,-  %S"~.~!Qz\A~./ !&c2/1Z]Q/	0
 	sB G   ,5|!q1uA|5  " ",'.#'#	'	'#	#	## * *$##} '&+-.
 (',./
 6sH   H"#H'>H,H17H6%H;=I I3I
I=
II