
    Ph7                     `   d dl Z d dlZd dlZd dlZd dlmZmZmZm	Z	m
Z
mZmZ d dlmZ  ej                  ej                         Zej$                   ej                  ej&                        j$                  k  Zdej$                  z   Ze ej                    ee            k7  Z[d Z e e ej                   d                  Zej6                  j9                  ed      ej6                  j9                  ej:                  d	z   ek\  d
      d               Zej6                  j9                  ed      d        Zej6                  j9                  ed      ej6                  jA                  dejB                  ejD                  e#e$f      d               Z%d Z&ej6                  j9                  ed      d        Z'd Z(d Z)d Z*d Z+ G d d      Z,d Z-ej6                  j9                  ed      ej6                  j9                  ed      d               Z.ej6                  j9                  ed      ej6                  j9                  ed      d               Z/ej6                  j9                  ed      ej6                  j9                  ed      d               Z0 G d de      Z1ej6                  jA                  d d	d!z  d g      d"        Z2ej6                  jA                  d#d$d%g      d&        Z3ej6                  j9                  exr  ejh                         d'k(   d(      d)        Z5d* Z6y)+    N)assert_assert_equalassert_raisesassert_warnsassert_array_equaltemppathIS_MUSL)CommaDecimalPointLocale   c                  x    dt         j                  z   } t        j                  | | | g      }t	        |d   |        y)z?Confirm that extracting a value doesn't convert to python floatr   N)LD_INFOepsnparrayr   )oas     kC:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\numpy/core/tests/test_longdouble.pytest_scalar_extractionr      s1    	GKKA
!QA1q    g?ztest flaky on musllinuxreason   z%repr precision not enough to show epsc                      dt         j                  z   } t        t        j                  t        |             | dt        |       z         y )Nr   zrepr was %s)r   r   r   r   
longdoublereprr   s    r   test_repr_roundtripr   $   s3     	
GKKAtAw'MDG,CDr   Need strtold_lc                      dt         j                  z   } t        t        j                  t        |       j                  d            |        y )Nr   ascii)r   r   r   r   r   r   encoder   s    r   test_repr_roundtrip_bytesr"   .   s/    	GKKAtAw~~g67;r   strtypec                 ,   dt         j                  z   }| t        j                  t        fv r! | t        |      j                  d            }n | t        |            }|t        j                  |      k(  sJ t        j                  |gdz  |       }||j                  t        j                        k(  j                         sJ ||k(  j                         sJ t        j                  |gdz        j                  |       |k(  j                         sJ y)z
    Test that string representations of long-double roundtrip both
    for array casting and scalar coercion, see also gh-15608.
    r   r       dtypeN)r   r   r   bytes_bytesr   r!   r   asarrayastypeall)r#   r   o_stro_strarrs       r   #test_array_and_stringlike_roundtripr/   4   s     	
GKKA299e$$Qw/0Q  e$$$$ zz1#'1H//44666 ""$$$JJsQw&&w/58==???r   c                      t        t        t        j                  d       t        t        t        j                  d       y )Nspamz1.0 flub)r   
ValueErrorr   r    r   r   test_bogus_stringr4   N   s"    *bmmV4*bmmZ8r   c                      dt         j                  z   } dt        |       z   dz  }t        j                  | gdz        }t        t        j                  |dt        j                        |d|z         y )Nr       sepr'   zreading '%s')err_msg)r   r   r   r   r   r   
fromstringr   )r   sr   s      r   test_fromstringr=   S   sY    	GKKA	tAwA
!QAqc?'!+-r   c            	         dD ]|  } t        t        j                  dd|       t        j                  g d             t        t        j                  dd|       t        j                  g d             t        t        j                  dd|       t        j                  g d	             t	        t
              5  t        t        j                  d
| d      t        j                  dg             d d d        t	        t
              5  t        t        j                  d| d      t        j                  dg             d d d        t	        t
              5  t        t        j                  d| d      t        j                  dg             d d d        t	        t
              5  t        t        j                  d| d      t        j                  dg             d d d        t	        t
              5  t        t        j                  d| d      t        j                  dg             d d d        t	        t
              5  t        t        j                  d| d      t        j                  dg             d d d         y # 1 sw Y   xY w# 1 sw Y   SxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w)Ncomplexcdoublecfloatz1, 2 ,  3  ,4,r8         ?       @      @g      @z1j, -2j,  3j, 4e1j              ?y              y              @y              D@z1+1j,2-2j, -3+3j,  -4e1+4jy      ?      ?y       @       y            @y      D      @z1+2 j,3r'   r9   rE   z1+ 2j,3z1 +2j,3z1+jz1+z1j+1rI   )r   r   r;   r   r   DeprecationWarning)ctypes    r   test_fromstring_complexrN   \   s   1R]]?5IXX./	1 	R]]#7SNXX45	7 	R]]#?SPUVXXJK	M ,-y3G2$) . ,-y3G2$) . ,-y3G2$) . ,-uEsC2$) . ,-t5cB2$) . ,-vUD2$) .-5 2 .- .- .- .- .- .-sH   ;7J	7J7J%7J+37J77KJ	J	J(	+J4	7K 	K	c                      t        t              5  t        t        j                  dt
        d      t        j                  g d             d d d        y # 1 sw Y   y xY w)Nz1. 2. 3. flop 4.r6   rK   rE   rF   rG   r   rL   r   r   r;   floatr   r3   r   r   test_fromstring_bogusrS   |   s;    	(	)R]]#5ULXXl+	- 
*	)	)s   <AAc                      t        t              5  t        t        j                  dd      t        j
                  g              d d d        y # 1 sw Y   y xY w)Nxxxxxxr9   r   rL   r   r   r;   r   r3   r   r   test_fromstring_emptyrY      s7    	(	)R]]74XXb\	# 
*	)	)s   5AAc                      t        t              5  t        t        j                  dd      t        j
                  dg             d d d        y # 1 sw Y   y xY w)N
1xx3x4x5x6rV   rW   r   rX   r3   r   r   test_fromstring_missingr\      s9    	(	)R]]<S9XXqc]	$ 
*	)	)   6AAc            
          e Zd Zdej                  z   Z ej                  egdz        Zdj                  eD  cg c]  }t        |      dz    c}}}       Zd Zd Zej                  j!                  ed      d	        Zej                  j!                  ed      d
        Zej                  j!                  ed      d        Zej                  j!                  ed      d        Zyc c}}} w )TestFileBasedr   r7    
c                 h   t               5 }t        |d      5 }|j                  d       d d d        t        t              5  t        j                  |t        d      }d d d        d d d        t        t        j                  g d             y # 1 sw Y   gxY w# 1 sw Y   ?xY w# 1 sw Y   CxY w)Nwz1. 2. 3. flop 4.
r6   rK   rP   )
r   openwriter   rL   r   fromfilerR   r   r   selfpathfress       r   test_fromfile_bogusz!TestFileBased.test_fromfile_bogus   s{    Z4dCA,- ! 01kk$e= 2	  	S"((<01 ! 21	 Zs9   B(BB(BB(B	B(B%	!B((B1c                    dD ]  }t               5 }t        |d      5 }|j                  d       d d d        t        j                  ||d      }d d d        t        t        j                  g d             t               5 }t        |d      5 }|j                  d       d d d        t        j                  ||d      }d d d        t        |t        j                  g d             t               5 }t        |d      5 }|j                  d	       d d d        t        j                  ||d      }d d d        t        |t        j                  g d
             t               5 }t        |d      5 }|j                  d       d d d        t        t              5  t        j                  ||d      }d d d        d d d        t        |t        j                  dg             t               5 }t        |d      5 }|j                  d       d d d        t        t              5  t        j                  ||d      }d d d        d d d        t        |t        j                  dg             t               5 }t        |d      5 }|j                  d       d d d        t        t              5  t        j                  ||d      }d d d        d d d        t        |t        j                  dg             t               5 }t        |d      5 }|j                  d       d d d        t        t              5  t        j                  ||d      }d d d        d d d        t        |t        j                  dg             t               5 }t        |d      5 }|j                  d       d d d        t        t              5  t        j                  ||d      }d d d        d d d        t        |t        j                  dg             t               5 }t        |d      5 }|j                  d       d d d        t        t              5  t        j                  ||d      }d d d        d d d        t        |t        j                  dg              y # 1 sw Y   ixY w# 1 sw Y   VxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   axY w# 1 sw Y   >xY w# 1 sw Y   CxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   zxY w# 1 sw Y   xY w# 1 sw Y   ;xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   wxY w# 1 sw Y   TxY w# 1 sw Y   YxY w)Nr?   rc   z1, 2 ,  3  ,4
rC   rK   rD   z1j, -2j,  3j, 4e1j
rH   z1+1j,2-2j, -3+3j,  -4e1+4j
rJ   z1+2 j,3
rE   z1+ 2j,3
z1 +2j,3
z1+j
z1+
z1j+1
rI   )	r   rd   re   r   rf   r   r   r   rL   )rh   rM   ri   rj   rk   s        r   test_fromfile_complexz#TestFileBased.test_fromfile_complex   s   5Et$_GG-. % kk$e=	 
 bhh'789 t$_GG23 % kk$e=	 
 bhh'=>? t$_GG:; % kk$e=	 
 bhh'STU t$_GGK( % ""45++d%SAC 6	  bhhtn- t$_GGK( % ""45++d%SAC 6	  bhhtn- t$_GGK( % ""45++d%SAC 6	  bhhtn- t$_GGG$ % ""45++d%SAC 6	  bhhtn- t$_GGFO % ""45++d%SAC 6	  bhhtn- t$_GGH% % ""45++d%SAC 6	  bhhuo.[ 6 %_  %_  %_  %_ 65	  %_ 65	  %_ 65	  %_ 65	  %_ 65	  %_ 65	 s  R$R R$R>R1" R>5SS S'S?4S%S?S26S?0T&=TT&&T?T&9UT3U/U UU4U!U48U'U4VV*VVVW!V(3W
V5#WR!R$$R.	1R;6R>>S	SSS"	%S/*S?2S<7S??T		TT&T#T&&T0	3T=8U U
UU	U$U4'U1,U44U>	VVVVV%	(V2-W5V?:WW	r   r   c                 2   t               5 }t        |d      5 }|j                  | j                         d d d        t	        j
                  |t        j                  d      }d d d        t        | j                         y # 1 sw Y   NxY w# 1 sw Y   ,xY w)Nrc   ra   rK   )	r   rd   re   outr   rf   r   r   tgtrg   s       r   test_fromfilezTestFileBased.test_fromfile   sf     Z4dCA! !++d"--TBC  	S$((# ! Zs!   BB.BB
	BBc                 0   t               5 }t        |d      5 }|j                  | j                         d d d        t	        j
                  |t        j                        }d d d        t        | j                         y # 1 sw Y   MxY w# 1 sw Y   ,xY wNrc   r&   )	r   rd   re   rp   r   
genfromtxtr   r   rq   rg   s       r   test_genfromtxtzTestFileBased.test_genfromtxt   sd     Z4dCA! !--BMM:C  	S$((# ! Z!   BB -B B		BBc                 0   t               5 }t        |d      5 }|j                  | j                         d d d        t	        j
                  |t        j                        }d d d        t        | j                         y # 1 sw Y   MxY w# 1 sw Y   ,xY wrt   )	r   rd   re   rp   r   loadtxtr   r   rq   rg   s       r   test_loadtxtzTestFileBased.test_loadtxt  sd     Z4dCA! !**T7C  	S$((# ! Zrw   c                     t               5 }| j                  j                  |d       t        j                  |t        j
                  d      }d d d        t        | j                         y # 1 sw Y    xY w)Nr6   rW   rK   )r   rq   tofiler   rf   r   r   )rh   ri   rk   s      r   test_tofile_roundtripz#TestFileBased.test_tofile_roundtrip
  sR     Z4HHOODcO*++d"--SAC  	S$((# Zs   AA..A7N)__name__
__module____qualname__r   r   ldblr   r   rq   joinr   rp   rl   rn   pytestmarkskipifstring_to_longdouble_inaccuraterr   rv   rz   r}   ).0tr   s   000r   r_   r_      s   w{{?D
"((D6!8
C
''3/3a47T>3/
0C2N/d [[7/  1$1$ [[7/  1$1$ [[7/  1$1$ [[7/  1$1$u 0s   C,r_   c                  X    dt         j                  z   } t        t        |       dk7         y )Nr   1)r   r   r   r   r   s    r   test_repr_exactr     s    	GKKADGsNr   z	BUG #2376c                  d    dt         j                  z   } t        dj                  |       dk7         y )Nr   z{0:.40g}r   )r   r   r   formatr   s    r   test_formatr     s)     	
GKKAJa C'(r   c                  L    dt         j                  z   } t        d| z  dk7         y )Nr   z%.40gr   )r   r   r   r   s    r   test_percentr   #  s"     	
GKKAGaK3r   zarray repr problemc                  (   dt         j                  z   } t        j                  | g      }t        j                  dgt        j                        }t        j
                  ||k7        st        d      t        t        |      t        |      k7         y )Nr   r&   zprecision loss creating arrays)	r   r   r   r   r   r,   r2   r   r   )r   r   bs      r   test_array_reprr   +  sf    
 	
GKKA
!A
!BMM*A66!q&>9::DGtAwr   c                   6    e Zd Zd Zd Zd Zd Zd Zd Zd Z	y)	TestCommaDecimalPointLocalec                 X    d}t        |t        j                  t        |                   y )Ng      ?)r   r   r   r   )rh   r   s     r   test_repr_roundtrip_foreignz7TestCommaDecimalPointLocale.test_repr_roundtrip_foreign=  s    Qd1g./r   c                 p    d}t        j                  t        |      t        d      }t	        |d   |       y )NgX9v?r6   rK   r   )r   r;   r   rR   r   )rh   rj   r   s      r   test_fromstring_foreign_reprz8TestCommaDecimalPointLocale.test_fromstring_foreign_reprA  s+    MM$q'C8QqT1r   c                     t        t              5  t        t        j                  dt
        d      t        j                  dg             d d d        y # 1 sw Y   y xY wN1,234r6   rK   rE   rQ   rh   s    r   !test_fromstring_best_effort_floatz=TestCommaDecimalPointLocale.test_fromstring_best_effort_floatF  s;    ,-weE2$) .--s   ;AAc                     t        t              5  t        t        j                  dt        j
                  d      t        j                  dg             d d d        y # 1 sw Y   y xY wr   )r   rL   r   r   r;   r   r   r   s    r   test_fromstring_best_effortz7TestCommaDecimalPointLocale.test_fromstring_best_effortK  s?    ,-wbmmM2$) .--s   AAA'c                     d}t        j                  |t         j                  d      }t        |d   t        j                  |             y )Nz1.234r6   rK   r   )r   r;   r   r   )rh   r<   r   s      r   test_fromstring_foreignz3TestCommaDecimalPointLocale.test_fromstring_foreignP  s4    MM!2==c:QqT2==+,r   c                     t        j                  g d      }t        j                  dt         j                  d      }t	        ||       y )N)r   r   r%      z1,2,3,4,rC   rK   )r   r   r;   r   r   )rh   r   r   s      r   test_fromstring_foreign_sepz7TestCommaDecimalPointLocale.test_fromstring_foreign_sepU  s0    HH\"MM*BMMsC1a r   c                     t        t              5  t        j                  dt        j                  d      }t        |d   d       d d d        y # 1 sw Y   y xY w)Nr   r6   rK   r   r   )r   rL   r   r;   r   r   )rh   r   s     r   test_fromstring_foreign_valuez9TestCommaDecimalPointLocale.test_fromstring_foreign_valueZ  s;    ,-gR]]DAqtQ' .--r]   N)
r~   r   r   r   r   r   r   r   r   r   r3   r   r   r   r   ;  s%    0
)
)
-
!
(r   r   int_vali   c                 
   t        |       }t        j                  d      5 }t        j                  ddt               t        j                  |       t        j                  |      k(  sJ t        j                  t        j                  t
        j                        j                  t        j                  t
        j                        j                        r|r|d   j                  t        u sJ d d d        y # 1 sw Y   y xY w)NT)recordalwaysr`   r   )strwarningscatch_warningsfilterwarningsRuntimeWarningr   r   allclosefinfomaxdoublecategory)r   str_valrc   s      r   test_longdouble_from_intr   `  s     'lG 
	 	 	-"n=}}W%w)???? ;;rxx.22xx		*..045Q4==N222 
.	-	-s   CC99Dbool_valTFc                 p    t        j                  |       t        j                  t        |             k(  sJ y )N)r   r   int)r   s    r   test_longdouble_from_boolr   t  s(     =="bmmCM&BBBBr   x86_64z$only need to run on musllinux_x86_64c                      dg} t        j                  d      t        j                  d      z  j                  d      j                         d d }|| v sJ y )Ns
   g      g      $@<
   )r   r   newbyteordertobytes)
known_sigssigs     r   test_musllinux_x86_64_signaturer   z  sO     >>J==t!44\#wwy".C*r   c                  h    t        j                  t         j                        j                  dkD  sJ y )Ng        )r   r   r   r   r3   r   r   test_eps_positiver     s%     88BMM"&&+++r   )7r   platformr   numpyr   numpy.testingr   r   r   r   r   r   r	   numpy.core.tests._localesr
   r   r   r   r   r   longdouble_longer_than_double_or   r   r   lenrepr_precisionr   r   	precisionr   r"   parametrizestr_r(   r   r)   r/   r4   r=   rN   rS   rY   r\   r_   r   r   r   r   r   r   r   machiner   r   r3   r   r   <module>r      s         > "((2==
!!(xrxx		/B/F/F!F  _#%tBx)@#@  T-"--,-. G4  6G%%)^;B  DED6E 3<LM< N<
 3<LMRWWbiie$DE@ F N@09
 3<LM- N-)@-#$B$ B$P
 1+F3+  -)- G)
 1+F3+  - - G 
 1/  13+  - -1 "("9 "(J  Iq% 3	3  %& CC 		3%X%%'8341  	,r   