ó 2ÄÈ[c@`sgddlmZmZmZddlZddlZddlZddlZddlZddl Z ddl Z ddl m Z mZmZmZmZmZmZmZmZmZe je je je je je je je je je j e j!e j"e j#e j$e j%e j&e j'gZ(e j)j*ƒZ+e j,j*ƒZ-de.fd„ƒYZ/de.fd„ƒYZ0de.fd „ƒYZ1d „Z2d „Z3d e.fd „ƒYZ4de.fd„ƒYZ5de.fd„ƒYZ6de.fd„ƒYZ7es de.fd„ƒYZ8nde.fd„ƒYZ9de.fd„ƒYZ:de.fd„ƒYZ;de.fd„ƒYZ<dS(i(tdivisiontabsolute_importtprint_functionN( tassert_t assert_equalt assert_raisestassert_almost_equaltassert_allclosetassert_array_equaltIS_PYPYtsuppress_warningst_gen_alignment_datat assert_warnst TestTypescB`s,eZd„Zd„Zd„Zd„ZRS(cC`s>x7tD]/}|dƒ}t|dkd||fƒqWdS(Niserror with %r: got %r(ttypesR(tselftatypeta((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyt test_typess  c C`sØxÑttƒD]Ã\}}|dƒ}tjdgd|ƒ}xttƒD]‚\}}|dƒ}tjdgd|ƒ}||} ||} t| j| jd|tj|ƒj|tj|ƒjfƒqJWq WdS(Nitdtypeis$error with types (%d/'%c' + %d/'%c')(t enumerateRtnptarrayRRtchar( RtkRta_scalarta_arraytltbtypetb_scalartb_arraytc_scalartc_array((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyt test_type_add"s    cC`s^xWttƒD]I\}}tjdddg|ƒ}|dddgƒ}t||ƒq WdS(Niii(RRRRR(RRRRtb((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyttest_type_create6scC`s+x$tdƒD]}tjddƒq WdS(Ni@ i(trangeRtadd(Rti((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyt test_leak<s(t__name__t __module__RR!R#R'(((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyR s   t TestBaseMathcB`seZd„Zd„ZRS(c C`sTxMtjdftjdftjdfgD]!\}}xtd|ddd|ƒD]õ\}}}}tj|ƒ}tj|ƒ|dWq%WdS( Nt AllIntegertFloats*op: %s, dt1: %s, dt2: %s, sg1: %s, sg2: %siGRiR.iÿÿÿÿi((( RRsRqtdivmodRYRZRtR(RRR( RR?toptdt1tdt2tsg1tsg2tfmtRCRR"tdivtrem((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyttest_modulus_basicÏs+ &cC`sÊttddƒƒ}ttddƒƒ}|dg|}||}ttj||ƒƒ}td„|Dƒƒ}tj|dtƒj\}}tj|dtƒj\} } tj | dk|dk|dkA@d| ƒ} tj | dk|dk@d| ƒ} xÀt t gD]²} x©tj d D]š} d | j | f} |j| ƒ}|j| ƒ}tgt||ƒD]\}}| ||ƒ^qnŒ\}}t|| d | ƒt|| d | ƒq$WqWdS( Niÿÿÿiii€cs`s|]}t|ŒVqdS(N(Rx(t.0RO((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pys çsRgg€Rwsop: %s, dtype: %sR.(tlistR$RYRZRRtinttTtfloattwhereRqRxRsR(tastypetzipR(RtnlsttplsttdividendtdivisortargttgtRR"ttgtdivttgtremRyR?RCtfatfbta_tb_RR€((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyttest_float_modulus_exactßs$ /%=c C`satjd}xMttgD]?}x6tj||ƒD]"\}}xtjd dfd dfƒD]ñ\}}d}||j||||f}tj|ddd|ƒd } tj|dd|ƒd } || | ƒ\} } t| | | | d|ƒ|dkr.t | | ko"d kn|ƒq`t | | koHd kn|ƒq`Wq3WqWdS( NRwiiÿÿÿÿs*op: %s, dt1: %s, dt2: %s, sg1: %s, sg2: %siNg+i¤)+p>RR.i((( RRsRqRxRYRZR(RRR( RR?RyRzR{R|R}R~RCRR"RR€((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyttest_float_modulus_roundoffús -! &c C`sÀx¡tjdD]’}tjdd|ƒ}tjtjdd|ƒ| ƒ}tj||ƒ}t||kd|ƒtj| | ƒ}t|| kd|ƒqWtƒ }|jt dƒxótjdD]ä}tjdd|ƒ}tjdd|ƒ}tjtj d|ƒ}tjtj d|ƒ} tj||ƒ}ttj |ƒd|ƒtj|| ƒ}ttj |ƒd|ƒtj||ƒ}ttj |ƒd|ƒqÎWWdQXdS(NRwgð?Rgsdt: %ss&invalid value encountered in remainder( RRsRt nextafterR]tmodRR tfiltertRuntimeWarningtinftnantisnan( RR?R"RR€tsuptfonetfzertfinftfnan((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyttest_float_modulus_corner_cases s(" (R(R)RR–R—R¤(((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyRuÍs   tTestComplexDivisioncB`s#eZd„Zd„Zd„ZRS(c C`sTtjddƒ<x4tjtjgD] }|dƒ}|dƒ}ttj||ƒƒ|ttjtjƒƒ}ttj||ƒƒ|ttjtjƒƒ}ttj||ƒƒ|ttjtjƒƒ}ttj||ƒƒ|ttjtjƒƒ}ttj ||ƒƒ|dƒ}ttj ||ƒƒq&WWdQXdS(Ntalltignoreggð?( RterrstateRjt complex128RtisinftcomplexRœRRž(RRORR"((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyttest_zero_division*s   cC`s/tjddƒxtjtjgD]û}d d d fd ddfdddfdddfdddfdddfdddfdd d!ff}xŒ|D]„}|d}|d}|d }|t|d|dƒƒ|t|d|dƒƒ}t|j|dƒt|j|dƒq™Wq&WWdQXdS("NR¦R§ggð¿gð?g€iii(ggð¿(ggð?(gð¿g€(ggð¿(ggð¿(gð?g€(ggð¿(g€gð¿(gð?g(ggð¿(g€gð?(gð¿g(ggð?(ggð¿(gð¿g(ggð¿(ggð¿(gð?g€(g€gð¿(ggð¿(gð?g€(g€gð?(ggð¿(gð¿g€(RR¨RjR©R«Rtrealtimag(RROtdatatcasestnRItexRh((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyttest_signed_zeros;s"           8c C`sþtjddƒæxÞtjtjgD]Ê}tƒ}|jd d d fƒ|jd d dfƒxŒ|D]„}|d}|d}|d}|t|d|dƒƒ|t|d|dƒƒ}t|j|dƒt|j |dƒqhWq&WWdQXdS(NR¦R§g@gð?giii(g@gð?(g@gð?(gð?g(gð?g@(gð?g@(gð?g( RR¨RjR©RƒtappendR«RR­R®(RROR¯R°R±RIR²Rh((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyt test_branchesTs     8(R(R)R¬R³Rµ(((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyR¥)s  tTestConversioncB`sÏeZd„Zd„Zd„Zd„Zejje ddƒd„ƒZ ejje j e j ƒe j e jƒkddƒejjejƒjdƒdd ƒd „ƒƒZd „Zd „Zd „ZRS(cC`sÕddddddg}d dddddg}xXdtjtjgD]A}tj|d |ƒ}tg|D]}t|ƒ^qk|ƒqFWtj|d d tjƒ}tg|D]}t|ƒ^q±|d ƒdS(Ng€„.Ag¢”mBgÈNgmÁ«Cg€„.Ág¢”mÂgÈNgmÁ«Ãi ii iRii@BI¥ÔèId§³¶à i@BiÀ½ðÿI¥ÔèIðZ+ÿÿÿId§³¶à IœXLIò(tNoneRR1RQRRR„RX(RRtliR…Rt_m((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyttest_int_from_longrs*cC`sxUdD]M}tjtj|ƒjdd|ƒ}tj|ƒj}t||kƒqWxXtjdD]I}tjtj|ƒjd|ƒ}tj|ƒj}t||kƒqfWxVtjdD]G}tj|tj|ƒjƒ}tj|ƒj}t||kƒqÁWdS(NtbBhHiRRv(RRtiinfotmaxtminRRsttypeDict(RtcodeRcR((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyttest_iinfo_long_values|s %!cC`s.d„}xdD]}tt||ƒqWdS(NcS`s%tj|tj|ƒjdƒdS(Ni(RR¿R¼R½(R((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pytoverflow_error_funcstlLqQ(Rt OverflowError(RRÂRÀ((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyttest_int_raise_behaviourŒs  cC`s€tjtjƒ}ttt|ƒtƒO}|jtjƒtj tjƒ}ttt|ƒt t |j ƒdƒWdQXdS(Ni( RRRRœRRÄR„R trecordtComplexWarningt clongdoubleRtlentlog(RRoRŸ((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyt!test_int_from_infinite_longdouble“s treasonsTest is PyPy only (gh-9972)cC`s€tjtjƒ}tt|jƒtƒO}|jtjƒtj tjƒ}tt|jƒt t |j ƒdƒWdQXdS(Ni( RRRRœRRÄt__int__R RÆRÇRÈRRÉRÊ(RRoRŸ((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyt)test_int_from_infinite_longdouble___int__s slong double is same as doubletppc64sIBM double doublecC`shtjtjƒjd}dtjdƒ|}dd|}t|tjkƒtt|ƒ|ƒdS(NiiiÒi¤ i¤ ( RtfinfotdoubletmaxexpRRRRœRR„(RR_thuge_ldthuge_i((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyttest_int_from_huge_longdouble§s cC`sHtjdƒ}tt|ƒdƒtjdƒ}tt|ƒdƒdS(Ngø?ig%Àiöÿÿÿ(RRRRR„(RRo((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyttest_int_from_longdouble´scC`sxtjdD]}tdtjdd|ƒd kd|fƒtdtjdd|ƒd k d|fƒxœtjdD]}ttjdd|ƒdtjdd|ƒdkd||fƒttjdd|ƒdtjdd|ƒdk d||fƒq}WqWxqdD]i}tdtjdd|ƒdkd|fƒtdtjdd|ƒdk d|fƒtdtjdd|ƒdkd|fƒxØd D]Ð}ttjdd|ƒdtjdd|ƒdkd||fƒttjdd|ƒdtjdd|ƒdk d||fƒttjdd|ƒdtjdd|ƒdkd||fƒq®WqWx‡d tjd D]t}tdtjdd|ƒdkd|fƒtdtjdd|ƒdk d|fƒtdtjdd|ƒdkd|fƒxãd tjd D]Ð}ttjdd|ƒdtjdd|ƒdkd||fƒttjdd|ƒd tjdd|ƒd!k d||fƒttjdd|ƒd"tjdd|ƒd#kd||fƒq8Wq˜WdS($NRviiRstype %s failedstype %s and %s failedtBHILQPiÿÿÿÿtbhilqptbhlqpRw(((((((((((((((((((((((((RRsRR(RRzR{((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyt&test_numpy_scalar_relational_operatorsºs<-.23 -.- 232-.-232cC`stjdtƒ³}tjddtƒttjdƒdk ƒttj dƒdk ƒttj dƒdk ƒttjdƒdkƒttj dƒdkƒttj dƒdkƒWdQXtt |ƒdkƒttj tj dƒdƒƒdS(NRÆtalwaystittesttNaTi( twarningstcatch_warningstTruetfilterwarningst FutureWarningRRR0R·tstr_t datetime64RÉtequal(Rtw((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyttest_scalar_comparison_to_noneãs(R(R)RºRÁRÅRËtpytesttmarktskipifR RÎRRÐRÑRRtplatformtmachinet startswithRÕRÖRÚRè(((s?/tmp/pip-build-fiC0ax/numpy/numpy/core/tests/test_scalarmath.pyR¶qs   " -  )tTestReprcB`seZd„Zd„ZRS(c C`sGtj|ƒ}|j|j}|j}tj|ƒjd}xddgD]ô}tjdg|dtjƒ}|dkr¥|d}d|d} d| >||||s:       F*'.Q  \H‘! 3