
    PhJ                     h    d Z ddlZddlZddlZddlZddlmZ ddlZddl	m
Z
mZmZmZ  G d d      Zy)z! Test printing of scalar types.

    N)TemporaryFile)assert_assert_equalassert_raisesIS_MUSLc                       e Zd Zd Zd Zd Zd Zd Zej                  j                   ej                         j                  d       d      d	        Zd
 Zd Zy)TestRealScalarsc           	         ddddt         j                  t         j                   t         j                  g}t         j                  t         j                  t         j
                  t         j                  g}g dg dg dg dg d	g d
g dg}t        ||      D ]n  \  }}t        ||      D ]Z  \  }}dj                  t        j                  |      j                  t        |            }t        t         ||            ||       \ p y )Ng        g          )0.0r   r   r   )-0.0r   r   r   )1.0r   r   r   )-1.0r   r   r   )infr   r   r   )-infr   r   r   )nanr   r   r   zfor str({}({})))err_msg)npr   r   float16float32float64
longdoublezipformatdtypenamereprr   str)	selfsvalsstypswantedwantsvalwantstypmsgs	            lC:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\numpy/core/tests/test_scalarprint.pytest_strzTestRealScalars.test_str   s    dAr266BFF7BFF;RZZR]]C------,. fe,JE3!%/
d'..rxx~/B/BDINSc^T3? 0 -    c                 j    d } |d        |d        |d        |d        |d        |d       y )Nc                    t        t        t        j                  |             t        |              t        t        t        j                  |             t	        |              t        t	        t        j                  |             t	        |              t        t	        t        j                  |             t        |              y N)r   r   r   r   r   )vs    r)   checkz2TestRealScalars.test_scalar_cutoffs.<locals>.check"   sn    RZZ]+SV4RZZ]+T!W5bjjm,d1g6bjjm,c!f5r+   gfotӭ?gEa-&?gh㈵>g-C6?g  4&kCg 7yAC )r    r0   s     r)   test_scalar_cutoffsz#TestRealScalars.test_scalar_cutoffs   s9    	6 	$%&' 	ddddr+   c                 $   t        j                  d      }t        d      5 }t        ||       |j	                  d       |j                         }d d d        t        t        |      dz          d } |       dfd	}t        d      5 }t        d      5 }t        j                  t        j                  }	}||ct        _	        t        _
        t        j                  d	t         i|d
       ||	ct        _	        t        _
        |j	                  d       |j                         j                         }
d d d        d d d        t        
t        t        j                  d                   y # 1 sw Y   xY w# 1 sw Y   GxY w# 1 sw Y   KxY w)Ng?zr+t)filer   
c               3      K   d t         w)Nz
np.sqrt(2))EOFErrorr1   r+   r)   	userinputz7TestRealScalars.test_py2_float_print.<locals>.userinputK   s     Ns    c                     t              S r.   )next)promptgens    r)   <lambda>z6TestRealScalars.test_py2_float_print.<locals>.<lambda>O   s	    tCyr+   r   )localreadfuncbanner   )r9   )r   doubler   printseekreadr   r   sysstdoutstderrcodeinteractstripr   sqrt)r    xfoutputr8   
input_funcfofeorig_stdoutorig_stderrcapturer=   s              @r)   test_py2_float_printz$TestRealScalars.test_py2_float_print2   s    IIo&5!Q!!FF1IVVXF " 	VSVd]+	 k0
5!Ru)='*zz3::K%'"CJ
MMr
ZK%0+"CJ
GGAJggioo'G *>! 	Wd2771:./G "!0 *>)=!!s0   /E-FBE:4F-E7:F	?FFc           	         d }d }d }d }d }t         |d      d       t         |d      d       t         |d	      d	       t         |d
      d
       t         |d	      d       t         |d
      d       t         |d      d       t         |dd      d       t         |dd      d       t         |d	d      d       t         |d
d      d       t         |d	d      d       t         |d
d      d       t         |d	d      d       t         |d
d      d       t         |dXi  |d      d       t         |dYi  |d      d       t         |dZi  |d      d       t         |d[i  |d      d       t         |d[i  |d      d       t         |d[i  |d      d        t         |d[i  |d      d!       t         |d\i  |d"      d#       t         |d\i  |d"      d$       t         |d\i  |d"      d%       t         |d\i  |d"      d$       t         |d[i  |d&      d'       t         |d[i  |d(      d)       t         |d      d*       t         |d+d,d-.      d/       t         |d0d,d1.      d2       t        j                  t        j                        j                  }t         ||fi  |d      d3       t         |t        j                  t        j
                        j                  fi  |d      d4       t         ||      d5       t         ||d6d6d7      d5       t         ||d6d6d87      d5       t         ||d6d6d9      d3       t         ||d6d6d89      d:       t         ||d6d6d8d8;      d:       t        t        ||d6d,d7       t         ||d6d,d87      d<       t         ||d6d,d=7      d5       t         ||d6d,d89      d5       t         ||d6d,d=9      d>       t         ||d6d,d?9      d@       t         ||d,d,d87      d<       t        j
                  j                  dA      }t         ||d6B      dC       t         ||d,d?.      dD       t         ||d6d?.      dC       t         ||d6d?E      dC       t         ||d6d?d?F      dC       t         ||d6dG.      dH       t         ||d6dE      dI       t         ||d6d.      dC       t         ||d6dGE      dC       t         |dJdKL      dM       t         |dNdKL      dO       t         |dd,dK.      dP       t         |dd,dK.      dP       t         |dd,dK.      dQ       t         |dd,dK.      dQ       t         |dRd,dK.      dS       t         |dRd,dK.      dS       t         |dRd,dK.      dT       t         |dRd,dK.      dT       t         |dUd,d"d,V      dW       y )]Nc                 T    t        j                  t        j                  |       fi |S r.   )r   format_float_positionalr   rN   ks     r)   r>   z.TestRealScalars.test_dragon4.<locals>.<lambda>b        : :2::a= NA Nr+   c                 T    t        j                  t        j                  |       fi |S r.   )r   format_float_scientificr   r[   s     r)   r>   z.TestRealScalars.test_dragon4.<locals>.<lambda>c   r]   r+   c                 T    t        j                  t        j                  |       fi |S r.   )r   rZ   r   r[   s     r)   r>   z.TestRealScalars.test_dragon4.<locals>.<lambda>d   r]   r+   c                 T    t        j                  t        j                  |       fi |S r.   )r   r_   r   r[   s     r)   r>   z.TestRealScalars.test_dragon4.<locals>.<lambda>e   r]   r+   c                     d| dS )NFunique	precisionr1   )precs    r)   r>   z.TestRealScalars.test_dragon4.<locals>.<lambda>g   s	    %dCr+   r   1.z1.e+00z10.234z-10.234z
1.0234e+01z-1.0234e+01z1000.0z1000.r   )re   z10.z-10.z1.e+01z-1.e+01rB   z10.23z	-1.02e+019.9999999999999995e-08   9.8813129168249309e-3249.9999999999999694e-3113.14159265358979323846
   z3.1415927410z3.1415927410e+00z3.1415926536z3.1415926536e+00   z299792448.00000z2.99792e+08z299792458.00000   z3.14159274101257324218750002   z43.14159265358979311599796346854418516159057617187500z3.141592653589793g      6F   rc   z0.00000000000000000000000000000000000000000000140129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125g       i2  a4  0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844753335720832431936092382893458368060106011506169809753078342277318329247904982524730776375927247874656084778203734469699533647017972677717585125660551199131504891101451037862738167250955837389733598993664809941164205702637090279242767544565229087538682506419718265533447265625z(340282346638528859811704183484516925440.a6  179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.z(340282350000000000000000000000000000000.T)rd   
fractionalre      )rd   rr   
min_digitsz,340282346638528859811704183484516925440.0000)rd   rr   rt   re   z(340300000000000000000000000000000000000.   z(340282346638528859810000000000000000000.   z(340282346638529000000000000000000000000.z-1p-97)rd   z-6.310887241768095e-30z-6.310887241768094e-30)rd   rt   )rd   re   rt      z-6.31088724176809e-30z-6.3108872417680944e-301e120   )rt   z
1.000e+1201e100z
1.000e+100z1.000z	1.000e+00z1.5z1.500z	1.500e+00324)rd   re   rr   z324.00)rh   )rj   )rk   )rl   )z299792458.0)	r   r   finfor   maxr   r   
ValueErrorfromhex)r    fpos32fsci32fpos64fsci64preckwdf32xas           r)   test_dragon4zTestRealScalars.test_dragon4^   s    ONNNCVE]D)VE]H-VH%x0VI&	2VH%|4VI&6VH%w/VEQ/6VEQ/:VH2E:VI3V<VH2H=VI3Y?VH2G<VI3[AVDD4	6VEE5	7VEE5	7 	VDD*	,VDD.	0VDD*	,VDD.	0 	V8WQZ8:KLV8WQZ8-HV8WQZ8:KLV8WQZ8-HVDD9	;VDDO	QV457JK 	VOESI:	;
 	VF5DA7	8, xx

#''VD/GAJ/>	@VBHHRZZ044C
C+	, 	VD\>	@ 	VD$!L>	@VD$!L>	@VD$1M>	@VD$1MB	DVD$/0A?B	D 	j&$t45	7VD%1M>	@VD%2N>	@VD%AN>	@VD%-/1>	@ 	VD%-/1>	@ 	VD5AN>	@ JJx(VAd+-EFVAer:-	/VAdb9-	/VAdr:-	/VAdbRH-	/ 	VAdb9,	.VAdr:.	0VAdb9-	/VAdr:-	/ 	VG2LAVG2LA 	VE%1=wGVE%1=wGVE%1={KVE%1={KVE%1=wGVE%1=wGVE%1={KVE%1={KVE%1.356>	@r+   c           	         t         j                  t         j                  t         j                  g}t	        t         d      r%t
        s|j                  t         j                         t         j                  }t         j                  }|D ]  }t         | |d      dd      d       t         | |d      dd      d       t         | |d      dd      d	       t         | |d
      d      d       t         | |d      dd      d       t         | |d      dd      d       t         | |d      ddd      d       t         | |d      ddd      d       t         | |d      ddd      |t         j                  k7  rdnd       t         | |d      ddd      d       t         | |d      ddd      |t         j                  k7  rdnd       t         | |d      d      d       t         | |d      ddd      d       t         | |d      ddd      |t         j                  k7  rdnd       t         | |d      d      d       t         | |d      dd      d        y )Nfloat128r   rs   )pad_left	pad_rightz	   1.    r   z	  -1.    z-10.2z	 -10.2   z1.23e1rn   )
exp_digitsz1.23e+00001Frc   z1.0000z
1.0000e+00rg   r\   )rd   re   trim.z1.2z1.20020)r   -1z1.001r   )re   r   )r   r   r   r   hasattrr   appendr   rZ   r_   r   )r    tpsfposfscitps        r)   test_dragon4_interfacez&TestRealScalars.test_dragon4_interface  s"   zz2::rzz22z"7JJr{{#))))Bbi!qA;Obj1BKPbk"#q23>@ blq9=I biCXNbiC%' bhuL!# bhuLbiM"$

"2B bhuL biM"$

"2BbhS159bhuLbiM"$

"2BbhS137bkQSA3GK r+   ppc64z#only applies to ppc float128 values)reasonc                    t        j                  d      }t        dd      D cg c]/  }t        |t        j                  dt        |      z         z        1 }}g d}t	        ||       t        j                  d      t        j                  d      z  }t        j                  t        |            }t	        t        |      t        |             t        ||k7         y c c}w )Nz(2.123123123123123123123123123123123e-286r   (   2e)(z'1.06156156156156156156156156156157e-286z'1.06156156156156156156156156156158e-287z'1.06156156156156156156156156156159e-288z&1.0615615615615615615615615615616e-289z'1.06156156156156156156156156156157e-290z'1.06156156156156156156156156156156e-291z&1.0615615615615615615615615615616e-292z&1.0615615615615615615615615615615e-293z%1.061561561561561561561561561562e-294z$1.06156156156156156156156156155e-295z#1.0615615615615615615615615616e-296z!1.06156156156156156156156156e-297z!1.06156156156156156156156157e-298z 1.0615615615615615615615616e-299z1.06156156156156156156156e-300z1.06156156156156156156155e-301z1.0615615615615615615616e-302z1.061561561561561561562e-303z1.06156156156156156156e-304z1.0615615615615615618e-305z1.06156156156156156e-306z1.06156156156156157e-307z1.0615615615615616e-308z1.06156156156156e-309z1.06156156156157e-310z1.0615615615616e-311z1.06156156156e-312z1.06156156154e-313z1.0615615616e-314z1.06156156e-315z1.06156155e-316z1.061562e-317z1.06156e-318z1.06155e-319z1.0617e-320z	1.06e-321z	1.04e-322z1e-323r   r   23)r   r   ranger   r   r   )r    rN   igotexpectedr   bs          r)   test_ppc64_ibm_double_double128z/TestRealScalars.test_ppc64_ibm_double_double1287  s     KKBC:?"+F+Qs1R[[A//0+F(R 	S(#
 KKR[[--KKASVSV$Qe Gs   4C c                 8   t        j                  d      }t        j                  d      }t        t        |      t        |      k7         t	        t        j                  t        |            |       t	        t        j                  t        |            |       y )Ng   @g   @)r   r   r   r   r   )r    rN   ys      r)   float32_roundtripz!TestRealScalars.float32_roundtrips  sa    JJ}%JJ}%Q47"#RZZQ(!,RZZQ(!,r+   c                     t        t        t        j                  d            t        d             t	        t        t        j                  d            t        d      k7         y )Ng?g?g?)r   r   r   r   r   )r    s    r)   float64_vs_pythonz!TestRealScalars.float64_vs_python{  s=    T"**S/*DI6RZZ 345cBCr+   N)__name__
__module____qualname__r*   r2   rW   r   r   pytestmarkskipifplatformmachine
startswithr   r   r   r1   r+   r)   r	   r	      sw    @"&*0Xg@R.H` [[,H,,.99'BBD  F8F8t-Dr+   r	   )__doc__rJ   r   r   rG   tempfiler   numpyr   numpy.testingr   r   r   r   r	   r1   r+   r)   <module>r      s2       
 "  G GqD qDr+   