bg) h ddlZddlZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z ddl m Z ddlmcmZddlmZddlZddlmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&ddl'm(Z(dejjj)*DZ+d e+DZ,d e,DZ-d e+DZ.d e.DZ/d Z0dZ1dZ2GddZ3GddZ4GddZ5GddZ6GddZ7GddZ8dZ9dZ:GddZ;Gd d!Z<Gd"d#Z=Gd$d%Z>Gd&d'Z?Gd(d)Z@Gd*d+ZAGd,d-e3ZBGd.d/ZCGd0d1ZDGd2d3ZEGd4d5ZFGd6d7ZGGd8d9ZHgd:gd;gd<gd=gd;gd;gd;gd;d>ZIGd?d@ZJGdAdBZKGdCdDe3ZLGdEdFZMGdGdHZNGdIdJZOdKZPdLZQGdMdNZRdOZSdPZTdQZUdRZVdSZWGdTdUZXGdVdWZYGdXdYe3ZZGdZd[e3Z[Gd\d]e3Z\Gd^d_e3Z]Gd`daZ^GdbdcZ_GdddeZ`GdfdgZaGdhdiZbGdjdkZcGdldmZdGdndoZeGdpdqZfGdrdsZgGdtduZhGdvdwZiGdxdyZjGdzd{ZkGd|d}ZlGd~dZmGddZnGddZoGddZpdddeqfdZrdZsdZtdZudZvejwxejyejzejyej{kdejw|ej}~dddZdZdZdZdZejwxejyejzejyej{kdejw|ej}~dddZdZdZdZdZdZdZdZejwdejejgdZejwdde/DdZejwdde/DdZdZejwdejdejddgejddgddgggdZdZdZdZejwdejdgdgdZdS)N)Fractionreduce) namedtuple) _umath_tests)assert_ assert_equal assert_raisesassert_raises_regexassert_array_equalassert_almost_equalassert_array_almost_equalassert_array_max_ulpassert_allcloseassert_no_warningssuppress_warnings_gen_alignment_dataassert_array_almost_equal_nulpIS_WASMIS_MUSL)_glibc_older_thancFg|]}t|tj|S) isinstancenpufunc).0objs n/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib64/python3.11/site-packages/numpy/core/tests/test_umath.py r s8 ' ' '# sBH % % '# ' ' 'c(g|]}|jdk |Sninrufs rr r s& 26Q;;B;;;r!c$g|] }d|jv |S)zf->ftypesr's rr r s+ 28!3!3B!3!3!3r!c(g|]}|jdk |S)r%r's rr r "s& 26Q;;B;;;r!cHg|]}t|dr |jdk| S) accumulater$)hasattrnoutr's rr r %s8 '"l";";@B1 B r!c# Kd}tjd||}tjd||}||d<||d<d}|d|d|dfVd}|d|d|d fV||d<||d<d D]8 || <|| < fd }|||d fV|| |d d fV|| <|| <9dD]:}|dd|}|dd|} ||d<|| d<d}|| |d|fV||d<|| d<;dS)a Helper to create "interesting" operands to cover common code paths: * scalar inputs * only first "values" is an array (e.g. scalar division fast-paths) * Longer array (SIMD) placing the value of interest at different positions * Oddly strided arrays which may not be SIMD compatible It does not attempt to cover unaligned access or mixed dtypes. These are normally handled by the casting/buffering machinery. This is not a fixture (currently), since I believe a fixture normally only yields once? r$i')dtype fill_valuerc|SNrress rz,interesting_binop_operands..?Cr!scalarsc|Sr6rr7s rr9z,interesting_binop_operands..Br:r!)r.z scalar-arrays) rr$r-c|Sr6r)r8poss rr9z,interesting_binop_operands..Ms Cr!zoff-z -with-scalar)r@qN c|dS)NrGrr7s rr9z,interesting_binop_operands..Zs Br!zstride-)rfull) val1val2r3r4arr1arr2 extractorstrideop1op2rEs @rinteresting_binop_operandsrR)sJ 75* = = =D 75* = = =DDGDGI q'47Iy 0000I v,V i @@@@DGDG1  S S (((( D)\C\\1111DIy*B*B*B*BBBBBS S   88V8n88V8nBB'' 3 #5V#5#55555BB  r!c|tjdkp%tjdS)z/ True if we are running on a Power PC platform.powerpcppc)platform processormachine startswithrr!r on_powerpcrZas7    9 , 0     ( ( / /0r!c0tjdkrd}ntrd}ndStjtj|}tjtj|j}t||z dz dkS)zThe blocklisted trig functions are not accurate on aarch64/PPC for complex256. Rather than dig through the actual problem skip the test. This should be fixed when we can move past glibc2.17 which is the version in manylinux2014 aarch64g٣wv=gz ӯ=F?gQ@-(;) rVrXrZrarcsinhfloat128 complex256realabs)xv1v2s r bad_arcsinhrfgs Y&&   u BKNN # #B BM!$$ % % *B R3  % ''r!ceZdZdZdZdS)_FilterInvalidsc:tjd|_dS)Nignoreinvalidrseterrolderrselfs r setup_methodz_FilterInvalids.setup_methodzsi111 r!c2tjdi|jdSNrrmrps rteardown_methodz_FilterInvalids.teardown_method}s    DK     r!N)__name__ __module__ __qualname__rrrurr!rrhrhys2222!!!!!r!rhc eZdZdZdZdZdS) TestConstantsc<ttjdddS)Ng-DT! @V瞯<)rncupirps rtest_pizTestConstants.test_pis 1599999r!c<ttjdddS)NgiW @r|)rr}erps rtest_ezTestConstants.test_es0%88888r!c<ttjdddS)Ngox?r|)rr} euler_gammarps rtest_euler_gammazTestConstants.test_euler_gammas);UCCCCCr!N)rvrwrxrrrrr!rrzrzsF:::999DDDDDr!rzceZdZdZdZdS)TestOutc dD]}tjd}tjd}tj|d||}t ||utj|d||}t ||utj|d|f|}t ||utjd}tjd}tjdtj}tj||d|\}} t ||utj|d||\}} t | |utj||||\}} t ||ut | |utj||df|\}} t ||utj|d|f|\}} t | |utj|||f|\}} t ||ut | |utt5tj|||\}} dddn #1swxYwYtttj|d|||tttj|d|||tttj|dd||tttj|d||f|tttj|dd|tttj|dg|tttj|dg|tttj|dgf|d |j _ tttj|d||tttj|d||tttj|d|f|dS) NTF?rr-subokoutr@r3F) rarrayemptyaddrint32frexpr TypeError ValueErrorflags writeable) rqraordo1o2r1r2s rtest_out_subokzTestOut.test_out_suboks". K. KE A Aq!Qe,,,A AFOOOq!%000A AFOOOq!!U333A AFOOO A"B"BH---BXaT777FB B"H   Xar777FB B"H   XaRu555FB B"H    B"H   Xab$Zu===FB B"H   XadBZu===FB B"H   Xab"XU;;;FB B"H    B"H   y)) : :!5999B : : : : : : : : : : : : : : : )RVQ1au E E E E )RVQ1!5 I I I I )RVQ4Qe L L L L *bfaAe L L L L *bfa% H H H H )RVQ2U C C C C )RVQr G G G G )RVQuE J J J J %AG  *bfaAU C C C C *bfa G G G G *bfaE J J J J J]. K. Ks3II !I cjGddtj}dD]}|dg}tj|d|}|rtt ||n*tt |tjktj|dd|}|rtt ||n*tt |tjktj|dd|}|rtt ||n*tt |tjktj|dd|}|rtt ||n*tt |tjk|d g}tjd }tjd tj }tj|||\}} |rtt | |n*tt | tjktj||d|\}} |rtt | |n*tt | tjktj|d||\}} |rtt ||n*tt |tjktj||df|\}} |rtt | |n*tt | tjktj|d|f|\}} |rtt ||n*tt |tjktt5tj|||\}} dddn #1swxYwYdS) NceZdZdZdZdZdS).TestOut.test_out_wrap_subok..ArrayWraprGcttj||Sr6rasarrayviewcopy)clsarrs r__new__z6TestOut.test_out_wrap_subok..ArrayWrap.__new__s*z#++C0055777r!cF|t|Sr6rtyperqrcontexts r__array_wrap__z=TestOut.test_out_wrap_subok..ArrayWrap.__array_wrap__xxT +++r!Nrvrwrx__array_priority__rrrr!r ArrayWraprs8!#  8 8 8 , , , , ,r!rrrr-rrr6rr#r) rndarrayrrrrrrrr r) rqrrrrrrrrrs rtest_out_wrap_subokzTestOut.test_out_wrap_suboks' , , , , ,  , , ,#? :? :E 3%  Aq!5)))A / 1i001111Q2:-...q!T///A / 1i001111Q2:-...q!U333A / 1i001111Q2:-...q!666A / 1i001111Q2:-... 3%  A$B$bh///BXa5111FB 0 2y112222RBJ.///XaT777FB 0 2y112222RBJ.///Xar777FB 0 2y112222RBJ.///Xab$Zu===FB 0 2y112222RBJ.///XadBZu===FB 0 2y112222RBJ.///y)) : :!5999B : : : : : : : : : : : : : : :{? :? :s?P&&P* -P* N)rvrwrxrrrr!rrrs;/K/K/KbI:I:I:I:I:r!rc eZdZddlZejdejdejdzejdzej gzejdej ej fej ej fejejfejejfejejfejejfgdZd Zd Zd Zd Zd Zejdddgejdej ej fej ej fejejfejejfejejfejejfgejdddgdZejdejdejdej ej fej ej fejejfejejfejejfejejfgejdddgdZdS)TestComparisonsrNr3uintintfloatzpy_comp,np_compc|tjkrItjddgd}tjddgd}dnltjddd|}tjddd|}dtj|}|}|}||| tj } fd t||D} ||| tj } fd |D} ||| tj } fd |D}t| | kd j d t| | kd j d t| |kd j d dS)NFT)rsizer$rGlowhighrr?cHg|]\}}t||Srr)rrcypy_comps rr z=TestComparisons.test_comparison_functions..'s/HHHdas771a==))HHHr!cBg|]}t|Srrrrcrscalars rr z=TestComparisons.test_comparison_functions..+s-???AGGFA..//???r!cBg|]}t|Srrrs rr z=TestComparisons.test_comparison_functions../s-???AGGAv..//???r!zFailed comparison ())rbool_randomchoicerandintastyper3rtolistruint8ziprrv)rqr3rnp_comprb np_scalara_lstb_lstcomp_b comp_b_listcomp_s1 comp_s1_listcomp_s2 comp_s2_listrs ` @rtest_comparison_functionsz)TestComparisons.test_comparison_functions sL BH     E4=t <.FunkyTypec tdNzI won't comparerrqothers r__eq__zNTestComparisons.test_ignore_object_identity_in_equal..FunkyType.__eq__A 1222r!N)rvrwrxrrr!r FunkyTyper@# 3 3 3 3 3r!rF) rrobjectr requalrnanr rqrrs r$test_ignore_object_identity_in_equalz4TestComparisons.test_ignore_object_identity_in_equal9s Hbhyyy))40 ? ? ?j"(Aq111 3 3 3 3 3 3 3 3 Hiikk] # #i1a000 HbfXV , , ,RXa^^eW-----r!ctjtjgddgt}tttj||Gdd}tj|g}tt tj||tjtjgt}ttj||dgdS)NrrceZdZdZdS)KTestComparisons.test_ignore_object_identity_in_not_equal..FunkyTypec tdrrrs r__ne__zRTestComparisons.test_ignore_object_identity_in_not_equal..FunkyType.__ne__Srr!N)rvrwrxrrr!rrrRrr!rT) rrrr r not_equalrrr rs r(test_ignore_object_identity_in_not_equalz8TestComparisons.test_ignore_object_identity_in_not_equalKs Hbhyyy))40 ? ? ?j",1555 3 3 3 3 3 3 3 3 Hiikk] # #iq!444 HbfXV , , ,R\!Q''$00000r!ctjddg}ttj|t dt ttjj|dS)NrrT)rrr rrboolr rrqrs rtest_error_in_equal_reducez*TestComparisons.test_error_in_equal_reduce]sU HaV  RX__Qd_33T:::i!44444r!ctjddgtjtksJtjddgdjtksJdS)Nr$r)NNO) signature)rrrr3rps rtest_object_dtypez!TestComparisons.test_object_dtypeesWxA3f---3v====xA3*;<<<BfLLLLLLr!ctjddgtjtksJt jt d5tjddtjdddn #1swxYwYt jt d5tjdddddddS#1swxYwYdS)Nr$rzNo loop matchingmatch)NNl)sig)rrrr3pytestraisesrint64rps rtest_object_nonbool_dtype_errorz/TestComparisons.test_object_nonbool_dtype_errorisCxA3d+++1T9999]9,> ? ? ? + + HQ * * * * + + + + + + + + + + + + + + +]9,> ? ? ? 2 2 HQ0 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2s$ "A77A;>A;CC CdtypesqQQqzpy_comp, np_compvals))rrctjdg|d}tjdg|d}|dd}||||ksJ||||ksJ|d}|d} t|tjsJt| tjsJ||| |ksJ||| |ksJdS)Nrrrrr$)rrrinteger) rqr rrra1a2expecteds1s2s r$test_large_integer_direct_comparisonz4TestComparisons.test_large_integer_direct_comparisontsXugVAY / / / Xyk 3 3 375'**wr2(****wr2(**** U U"bj)))))"bj)))))wr2(****wr2(******r!UnsignedIntegerzpy_comp_func, np_comp_funcflipTFc|r fd}fd}n}}tjtj|jg|}|t |dd}||d|ksJ||d|ksJ|d} t | tjsJ|| d|ksJ|| d|ksJdS)Nc||Sr6r)rcr py_comp_funcs rr9zHTestComparisons.test_unsigned_signed_direct_comparison..<<1#5#5r!c||Sr6r)rcr np_comp_funcs rr9zHTestComparisons.test_unsigned_signed_direct_comparison..rr!rrr@)rriinfomaxrrr) rqr3rr!rrrrrrs `` r&test_unsigned_signed_direct_comparisonz6TestComparisons.test_unsigned_signed_direct_comparisons  #5555G5555GG"G"Gh+,E:::73s1v;;++wsB8++++wsB8++++Q&"*-----wvr""h....wvr""h......r!)rvrwrxoperatorrmark parametrizersctypesrltlessle less_equalgtgreaterge greater_equaleqrnerrrrrrr r typecodesr$rr!rrr sOOO [Wbj&82:e;L&LZ0'146H:'>?? [. bg bm$ bj! b&' bh bl# 1 7 7?? 7D...$111$555MMM 2 2 2 [Xd|44 [/ bg bm$ bj! b&' bh bl# 2 [V&68H%IJJ++KJ54+$ [Wbl3D&EFF [9 bg bm$ bj! b&' bh bl# < [VdE]33//43GF///r!rceZdZdZdS)TestAddctjddtjfdtjfg}d|d<t |dddS)Nr-rrrr@r)rzerosrfloat64r sumrs rtest_reduce_alignmentzTestAdd.test_reduce_alignmentsU HQRXbj0AB C C C#QsVZZ\\1%%%%%r!N)rvrwrxr:rr!rr5r5s#&&&&&r!r5ceZdZdZejedejde j e j de j dzddZ ejedejde j e j de j dzd d Zejd e jd d e jd ddfe jd d e jdddfe jdd e jd ddfe jdd e jdddfe jd de jdd dfe jd d e jdddfe jd d d e jdd fe jd d de jdd fe jdd d e jdd fe jdd de jdd fe jdd de jdd fe jdd de jdd fe jdd de jdd fg dZdZdZdZdZejee jddejedejde jdd Zejde jdd!Zd"S)# TestDivisionctjgd}ddkrt|dz gdnt|dz gdt|dzgdt|dzgddS)N) r?rGZdiirr?) g?皙?g?r$g皙gr@g333333) rrrr$r@r@r@r@rA) r?rGr>r_r>rGrP)rrr rqrcs rtest_division_intzTestDivision.test_division_ints H??? @ @ S== S#@#@#@ A A A A S"B"B"B C C CQ#X???@@@QW???@@@@@r!fp errors don't work in wasmreasonz dtype,ex_valrr)z\np.array(range(fo.max-lsize, fo.max)).astype(dtype),np.arange(lsize).astype(dtype),range(15)zunp.arange(fo.min, fo.min+lsize).astype(dtype),np.arange(lsize//-2, lsize//2).astype(dtype),range(fo.min, fo.min + 15)znp.array(range(fo.max-lsize, fo.max)).astype(dtype),np.arange(lsize).astype(dtype),[1,3,9,13,neg, fo.min+1, fo.min//2, fo.max//3, fo.max//4]ctj|jdkrdnd}d}t|\}}}||} }fdtjd5|} | |z} ||z} dddn #1swxYwYfdt|| D} d } t| | ks J| d }t| | ks J||D]|} tjdd 5|z}| z} dddn #1swxYwYfd |D} t|| ks J| t| | ks J|tjd d 5d|vr9tj td5||zdddn #1swxYwYn||zjrBj|vr9tj td5|dzdddn #1swxYwYn jr|dztj td5|dzdddn #1swxYwYtj td5|} | dz} dddn #1swxYwYtj g|dzddddS#1swxYwYdS)Nrr@r$icR|dkrdn|r|jkr |dkrjn||zSNrr@minnrfos rr9z9TestDivision.test_division_int_boundary..s9aAACbfbq!tr!rjdividec.g|]\}}||Srr)rrcrc_divs rr z;TestDivision.test_division_int_boundary..s'===41a55A;;===r!z(Integer arrays floor division check (//)z)Integer arrays floor division check (//=)rUoverc(g|]}|Srr)rirWdivisors rr z;TestDivision.test_division_int_boundary..s%888QuuQ((888r!raisez*divide by zero encountered in floor_dividerz$overflow encountered in floor_divider) rr"rPevalrerrstaterrallrr FloatingPointErrorr)rqr3ex_valneglsizerrdivisorsrracdiv_abdiv_lstmsgmsg_eqdiv_arWr\rSs @@@rtest_division_int_boundaryz'TestDivision.test_division_int_boundarys::Xe__FQJJbbAf1hxxzz188::u     [ ) ) )  B 1HB!VF               >===3ue+<+<===86W$%%**s**%<2=!!))6))! . .GBH8<<<  W w               98888%888Gu'(( - -# - -(rW}%% - -v - -% - [g 6 6 6 + +Avv]#5JLLLFFQv "&A++]#5DFFFGG R1FHHH  Q               1FHHH  VVXXq                HRu % % % * *- + + + + + + + + + + + + + + + + + +s>B))B-0B-< EE E > LG0$ L0G4 4L7G4 84L,H>2 L>I LI +L1J7 LJ L J L)K LK LK LLL)z1np.array([fo.max, 1, 2, 1, 1, 2, 3], dtype=dtype)z4np.array([fo.min, 1, -2, 1, 1, 2, -3]).astype(dtype)z3np.arange(fo.min, fo.min+(100*10), 10, dtype=dtype)z8np.array(range(fo.max-(100*7), fo.max, 7)).astype(dtype)c  tj| t|}|} fd}tjd5tj|}dddn #1swxYwYt ||}d}||ks J|tjdd5tjtd5tjtj d d  |dddn #1swxYwY j rntjtd 5tjtj j d d g|dddn #1swxYwYddddS#1swxYwYdS)NcD|dks|r|jkr|dkrdn||zSrNrOrQs rr9z7TestDivision.test_division_int_reduce..)s1aA!rv++!r''AA1r!rjrTz#Reduce floor integer division checkr]rXz$divide by zero encountered in reducerrBr?zoverflow encountered in reducer$r@r)rr"r^rr_ floor_dividerrr raarangerrPr) rqr3rbrlstrWrkrhrirSs @rtest_division_int_reducez%TestDivision.test_division_int_reducesXe__ LLhhjj    [ ) ) ) . .O**1--E . . . . . . . . . . . . . . .$$3 [g 6 6 6  1@BBB K K&&rys';';'B'B5'I'IJJJ K K K K K K K K K K K K K K Kv ]#5>@@@O**"&!R>>>                  sm A??BBF=AD0$ F=0D4 4F=7D4 8%F=s$  ( 8S11 ((9K9K (2Cw&(222C222:CXxjl33NXxjl33N~0NBCC H HS H HC H H < :;;;GW=== ( (]#566((''((((((((((((((( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (s6D  C2& D 2C6 6D 9C6 :D  DDcd}tjgdtj}t|dz|z ||d}tjddgtj}|dz|z }t||z d d g|dS) Nz%Complex division implementation check)??y???@rr-err_msgz)Complex division overflow/underflow checkgG0JVgys? )r$)rr complex128r )rqrircrs rtest_division_complexz"TestDivision.test_division_complex`s5 H999 O O OAqDFAs33339 Hgw'r} = = = qDFAaC!Q555555r!c*tjdd5tjdgtj}d|z }t tj|dt tjtj|z }t tj|dt tjtj|z }t tj|dt tjtj|z }t tj|dd|z }t tj |dddddS#1swxYwYdS)NrjrlrUrr]r) rr_rrrisinfcomplexinfrisnan)rqrcrs rtest_zero_division_complexz'TestDivision.test_zero_division_complexkso [( ; ; ; $ $#bm444AAA BHQKKN # # #'')A BHQKKN # # #'')A BHQKKN # # #'')A BHQKKN # # #AA BHQKKN # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $sE$FF F ctjgdtj}tjt 5|dzdddn #1swxYwYtjt 5tj|ddddn #1swxYwYtjt 5tj|dddddS#1swxYwYdS)N)y??y?y??y?@r)rrrrr rdivmod remainderrGs rtest_floor_division_complexz(TestDivision.test_floor_division_complexys H@@@ V V V ]9 % %   FF                ]9 % %   IaOOO                ]9 % %   LA                     s5AAA2BBB8CC"Cctjd}ttj|dzdttj| dzddS)NrGr$r)rr7r signbitrGs rtest_floor_division_signed_zeroz,TestDivision.test_floor_division_signed_zerosU HRLLRZ1%%q)))RZ!a((!,,,,,r!blas_ssl2_infogh-22982r3Floatctjtj|}tjd|}tjd|}tjtj|}tjdd5t t tj||dddn #1swxYwYtjdd5tj||dddn #1swxYwYtjd5tj||tj||tj||tj||ddddS#1swxYwYdS)Nrr]rr]rjryr`)rrrrr_r raro)rqr3fnanfonefzerfinfs rtest_floor_division_errorsz'TestDivision.test_floor_division_errorss' xe,,,x5)))x5)))xe,,, [ : : : K K ,botT J J J K K K K K K K K K K K K K K K [' : : : ( ( OD$ ' ' ' ( ( ( ( ( ( ( ( ( ( ( ( ( ( ([W % % % ( ( OD$ ' ' ' OD$ ' ' ' OD$ ' ' ' OD$ ' ' '  ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (s7"B11B58B5C44C8;C8AE66E:=E:ctjd|}tjd|}tjtj|}tjd|}tjd|}tjtj|}t 5}|tdtj ||} tj | sJdtd| tj ||} tj | sJdtd| tj ||} tj | sJdtd|  dddn #1swxYwYtj d 5tj ||} ttj| ddddS#1swxYwYdS) NrGrr]rz)invalid value encountered in floor_dividedt: , div: rjrT)rr7onesrrrrfilterRuntimeWarningrordtr_rrr`) rqr3rcrrrrrsupdivzs r test_floor_division_corner_casesz-TestDivision.test_floor_division_corner_casess^ HRu % % % GBe $ $ $xe,,,x5)))x5)))xe,,,   AC JJ~'R S S S/$--C8C== @ @ @CC#@ @ @=/$--C8C== @ @ @CC#@ @ @=/$--C8C== @ @ @CC#@ @ @= @ A A A A A A A A A A A A A A A[ ) ) ) ' '1%%A BHQKKOO%% & & & ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 's&'CF  FF*A HHHN)rvrwrxrHrr&skipifrr' itertoolsproductrr(rlrr timedelta64rrrrrr0 __config__r3rrrr!rr<r<sO A A A [(FGG [^->Y-> 5BJv..1 ..68+8+7HG88+t [(FGG [^->Y-> 5BJv..1 ..HG2 [ 'bnQs##^R^Ac%:%:B ?bnQs##^R^Bs%;%;S AbnR$$nbnQs&;&;S AbnR$$nbnR&<&bnQs##Qq(=(= >bnQs##R3)?)? @bnR$$a3)?)? @bnR$$b.".3*?*? @bnR$$b.".3*?*? @bnR$$b.".3*?*? @bnR$$ac)B)B C  ((! ($ 6 6 6 $ $ $--- [ /?@@ [(FGG [Wbl7&;<<((=<HG($ [Wbl7&;<<''=<'''r!r<cVtj||tj||fSr6)rrorrcrs rfloor_divide_and_remainderrs% OAq ! !2<1#5#5 66r!c2|tjdvrdSdS)Nrr#r$r@)rr3)rs r_signsrs R\+ ,,,uxr!c ^eZdZdZdZdZeje dej e j ddejdejd d Zejeejd d eje dej e j ddejdejd ejd ejejgdZeje ddZdZdZdS) TestRemainderc ztjdtjdz}ttjfD]}t j||D]\}}t jt |t |D]\}}d}||j||||fz}tj|dz|} tj|dz|} || | \} } t| | z| z| ||dkrt| | cxkod knc|t| | cxkod knc|dS) N AllIntegerr*op: %s, dt1: %s, dt2: %s, sg1: %s, sg2: %sGrrr@r) rr3rrrrrrvrr r rqropdt1dt2sg1sg2fmtrirrrrems rtest_remainder_basicz"TestRemainder.test_remainder_basicsc \, '",w*? ?-ry9 3 3B%-b"55 3 3S ) 1&++vc{{ K K 3 3HCFCc3S AACRs333ARs333A!r!QxxHC Qa====byyC 1 c2222C 1 c2222 3 3 3 3r!cTttdd}ttdd}|dgz|z}||z}ttj||}td|D}t j|t j\}}t j|tj\} } t j | dk|dk|dkz zd| } t j | dk|dkzd| } ttj fD]} tj d D]l} d | j d | } || }|| }| ||\}}t|| | t|| | mdS) Nirr$c3(K|] }t|VdSr6)r)rts r z;TestRemainder.test_float_remainder_exact..s&++!61:++++++r!rrrzop: z , dtype: r)listrangerrrrrTrwhererrr3rvrr )rqnlstplstr|r\argtgtrrtgtdivtgtremrrrifafbrrs rtest_float_remainder_exactz(TestRemainder.test_float_remainder_exactsE$NN##E!SMM""1#:$+9$Xw7788++s+++++x3''')1#U33356S=a!eA->?vNN6S=QU3T6BB-ry9 7 7Bl7+ 7 7-/[[[""=XXb\\XXb\\2b"::SS&#6666S&#66666  7 7 7r!c "tjd}ttjfD]}t j||D]\}}t jddD]\}}d}||j||||fz}tj|dzdz|} tj|dz|} || | \} } t| | z| z| ||dkrt| | cxkod knc|t| | cxkod knc|ьdS) NrrrNg+i)+p>rrr@r) rr3rrrrrvrr rrs rtest_float_remainder_roundoffz+TestRemainder.test_float_remainder_roundoffsO \' "-ry9 3 3B%-b"55 3 3S ) 1(H E E 3 3HCFCc3S AACRC888AT555A!r!QxxHC Qa====byyC 1 c2222C 1 c2222 3 3 3 3r!rIrJdarwinz_MacOS seems to not give the correct 'invalid' warning for `fmod`. Hopefully, others always do.r3rcxtjd|}tjd|}tjtj|}tjtj|}tjdd5t t tj||dddn #1swxYwYtjdd5t t tj||dddn #1swxYwYtjd5t t tj||dddn #1swxYwYtjd5t t tj||dddn #1swxYwYtjdd5t t tj||dddn #1swxYwYtjdd5tj||ddddS#1swxYwYdS)Nrrr]r]rjryrk)rrrrr_r rar)rqr3fzerorrrs rtest_float_divmod_errorsz&TestRemainder.test_float_divmod_errorssE***x5)))xe,,,xe,,,[ : : : F F ,biu E E E F F F F F F F F F F F F F F F [' : : : F F ,biu E E E F F F F F F F F F F F F F F F [ ) ) ) G G ,bi F F F G G G G G G G G G G G G G G G [ ) ) ) E E ,bit D D D E E E E E E E E E E E E E E E [' : : : F F ,biu E E E F F F F F F F F F F F F F F F [ : : : # # IdE " " " # # # # # # # # # # # # # # # # # #sl"B11B58B5"DDD "EEE."FF #F ="G++G/2G/ H//H36H3rrfnctjd|}tjd|}tjtj|}tjtj|}tjd5t jtd5|||dddn #1swxYwY||||||||||||ddddS#1swxYwYdS)Nrrr]r]rz invalid valuer)rrrrr_rr ra)rqr3rrrrrs rtest_float_remainder_errorsz)TestRemainder.test_float_remainder_errorssE***x5)))xe,,,xe,,,[W % % %  1)+++  4                BtUOOO BudOOO BtTNNN BtTNNN                  s6C? B7+ C?7B; ;C?>B; ?3C??DDcdtjtjj}tjdd5tjd|\}}tj|t|dkdddn #1swxYwYtjdd5tttjd|dddn #1swxYwYtjdd5tttjd|ddddS#1swxYwYdS)Nrj)rYrlr>rr])rlrY) rfinfor8tinyr_rrrr ra)rqrrmods rtest_float_remainder_overflowz+TestRemainder.test_float_remainder_overflow2s HRZ % [h 9 9 9  yAHC HSMMM C1H                  [gx 8 8 8 ? ? ,biA > > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [x 8 8 8 ? ? ,biA > > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?s6ABB  B '"CCC6"D%%D),D)ctjdD]q}tjtj|}tjd|}tjd|}tjtj|}t 5}|td|tdtj||\}}tj |sJd|d|tj |sJd|d |tj||\}}tj |sJd|d |ttj |d|d |ftj||\}}tj |sJd|d |tj |sJd|d |tj||\}}tj |sJd|d |tj |sJd|d |tj||\}}tj |sJd|d |tj |sJd|d |tj||\}}tj |sJd|d |tj |sJd|d |tj||\}}tj |sJd|d |tj |sJd|d | dddn #1swxYwYsdS) Nrrr]rz#invalid value encountered in divmodz$divide by zero encountered in divmodrr, rem: ) rr3rrrrrrrrrr) rqrrrrrrrrs rtest_float_divmod_corner_casesz,TestRemainder.test_float_divmod_corner_cases>s,w' E EB8BF"---D8Cr***D8Cr***D8BF"---D"$$ E >+PQQQ >+QRRR9T400Sx}}DDDBBB'DDD}x}}DDDBBB'DDD}9T400Sx}}DDDBBB'DDD} &&&RRR(EEE9T400Sx}}DDDBBB'DDD}x}}DDDBBB'DDD}9T400Sx}}DDDBBB'DDD}x}}DDDBBB'DDD}9T400Sx}}DDDBBB'DDD}x}}DDDBBB'DDD}9T400Sx}}DDDBBB'DDD}x}}DDDBBB'DDD}9T400Sx}}DDDBBB'DDD}x}}DDDBBB'DDD}D/ E E E E E E E E E E E E E E E  E EsKM99M= M= c  tjdD]}tjd|}tjd|}tjtj|}tjd|}tjtjd|| }tj||}t ||kd|ztj| | }t || kd|zt5}|td|tdtjdD]}tjd|}tjd|}tjtj |} tjtj|}tj||}t tj |d|d |tj| |}tj | |} t tj | d|d | t tj |d|d |tj| | }tj | |} t tj |d|d |t tj | d|d | tj| |}tj | |} t tj |d|d |t tj | d|d | tj||}tj ||} t tj |d|d |t tj | d|d | tj||}tj ||} t tj |d|d |t tj | d|d |tj||}tj ||} t tj |d|d |t tj | d|d | ddddS#1swxYwYdS) Nrr]rrzdt: %sz&invalid value encountered in remainderz!invalid value encountered in fmodrrz, fmod: ) rr3rr nextafterrrrrrrrfmod) rqrrrrrrrrrrs r!test_float_remainder_corner_casesz/TestRemainder.test_float_remainder_corner_cases^s,w' . .B8Cr***D8Cr***D8BF"---DB'''A RXc444qb99A,q!$$C C1Hhm , , ,,rA2&&C CA2Ix"} - - - - $ HC JJ~'O P P P JJ~'J K K Kl7+! H! Hx2...x2...xb111xb111l4.. BBB'DEEEl4..wtT**bbb$$(GHHH BBB'DEEEl4..wtT** BBB'DEEEbbb$$(GHHHl4..wtT** BBB'DEEEbbb$$(GHHHl4..wtT** BBB'DEEEbbb$$(GHHHl4..wtT** BBB'DEEEbbb##(FGGGl4..wtT** BBB'DEEEbbb##(FGGGGC! H$ H$ H$ H$ H$ H$ H$ H$ H$ H$ H$ H$ H$ H$ H$ H$ H$ H$ Hs OS,,S03S0N)rvrwrxrrrrr&rrxfailsysrVrYr'rr3rr0rrrrrrrrr!rrrs!333 7774333$ [(FGG [s|..x88;<< [Wbl7&;<<##=<<<HG #, [ /?@@ [(FGG [s|..x88:;; [Wbl7&;<< [TBGR\#:;;<;=<;;HG  [(FGG ? ?HG ?EEE@2H2H2H2H2Hr!rceZdZedddgZdddddd Zejeed ed ejeed ed e j eed ed e j eed ed ej eed ed ej eed ediZejedejdejddZejedejdejddZejedejdejdejdejdejdejejej ej e j e j gejdddZdS)+TestDivisionIntegerOverflowsAndDivideByZero result_typenocastcastedcdSNrrrs rr9z4TestDivisionIntegerOverflowsAndDivideByZero.sar!c4tj|jSr6rr"rPrs rr9z4TestDivisionIntegerOverflowsAndDivideByZero.sRXe__0r!c6tj|j Sr6rrs rr9z4TestDivisionIntegerOverflowsAndDivideByZero.s"(5//"5!5r!c8tj|jdfSrrrs rr9z4TestDivisionIntegerOverflowsAndDivideByZero.s28E??#6":r!c:tj|j dfSrrrs rr9z4TestDivisionIntegerOverflowsAndDivideByZero.s(;';Q&?r!)zerorPneg_minmin-zero neg_min-zerorrPrrrrIrJr3IntegercJttj|jd|}|D]v\}}}}t jt d5||z}dddn #1swxYwY|j|jksJ||tj|jjksJ||z}|j|jksJ||dksJtj||}||dksJt jt d5tj ||\}} dddn #1swxYwY|j| jcxkr |jksnJ||tj|jjksJ|| dksJxdS)Nr@zoverflow encounteredrr) rRrr"rPrwarnsrr3rr rqr3to_checkrPrQrNoperand_identifierr8res1res2s rtest_signed_division_overflowzITestDivisionIntegerOverflowsAndDivideByZero.test_signed_division_overflowsL.bhuoo.A2uMM7? ( ( 3Ci!3n4JKKK ! !Sj ! ! ! ! ! ! ! ! ! ! ! ! ! ! !9 ))))9S>>RXci%8%8%<<<<<)C9 ))))9S>>Q&&&&'#s##C9S>>Q&&&&n4JKKK 1 1YsC00 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1:8888sy8888889T??bhsy&9&9&=====9T??a'''''+ ( (s$A  A$ 'A$ D88D< ?D< rc tdd|}|D]\}}}}tjtd5||z}dddn #1swxYwY|j|jksJ||dksJtjtd5t j||\}} dddn #1swxYwY|j| jcxkr |jksnJ||dksJ|| dksJdS)Nr$rzdivide by zeror)rRrrrr3rrrs rtest_divide_by_zeroz?TestDivisionIntegerOverflowsAndDivideByZero.test_divide_by_zeros .aE::7? ( ( 3Ci!3n4DEEE ! !Sj ! ! ! ! ! ! ! ! ! ! ! ! ! ! !9 ))))9S>>Q&&&&n4DEEE 1 1YsC00 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1:8888sy8888889T??a''''9T??a''''' ( (s#AA A B66B: =B: dividend_dtyper divisor_dtype operationwarnrXcfdtddD}tjdg|}tjjtj|jkr|tjtjtjfvr_tj td5|tj j |d}||j|ksJ dddn #1swxYwY|D]}tj td5tj|||d}tj|j|gt#|z}t%||dddn #1swxYwYdS|tj j |d}||j|ksJ|D]}tj|||d}tj|j|gt#|z}t%||dS) Ncrg|]3}tjtjjg|z4S)r)rrr"rP)rr[rs rr zNTestDivisionIntegerOverflowsAndDivideByZero.test_overflows..sZIII56(BH^4489!;!/111IIIr!r$r@rzoverflow encountered inrf)rrrr3itemsizerror%floordivrrrr"rPoverflow_resultsrflattenlenr r) rqrrrarraysr\resultrexpected_arrays ` rtest_overflowsz:TestDivisionIntegerOverflowsAndDivideByZero.test_overflowssIIII:?3--III(B4}555 8N # # ,11' ( (,5 2?H4E:G-G-G"3555 ( (#*N28N+C+C+GHH)M"--!6y!A!H!H&"("(((((( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ? ?\&7999?? Xii7&;&;<<DDSIIF%'X!29=DD .00114Q8&9&99@#'v~>>>??????????????? ? ?Y&rx'?'?'CDD% b))FT29=DD"$$$$$$ ; ;))Aw"7"788@@EE!#.y9@@*,,--0VV4"5"55::::  ; ;s&+ADDD>BG!!G% (G% N)rvrwrxrrhelper_lambdasrrrr%rrrorrrr&rrr'r3r r r(r_rrr!rrrs*] x ""K 0055::?? N kk 6 "N6$:<<  6 "N6$:<< kk 6 "N6$:<<;; 5 !>)#<>>  5 !>)#<>> ;; : &~(FHH  [(FGG [Wbl9&=>>((?>HG(2 [(FGG [Wbl<&@AA((BAHG($ [(FGG [- Ju  [_ Ju  [[ \27BIr \8, .//R[V,,,5;5;-,//HG5;5;5;r!rceZdZdZdZdS)TestCbrtctttjtjddzddS)Nr=)r rcbrtfloat32rps rtest_cbrt_scalarzTestCbrt.test_cbrt_scalars1RWRZ%5%5q%899DAAAAAr!ctjdddtjtj g}ttj|dz|t tjtjtjttjtjtjttjtj tj dS)Nr]@r=) rrrr r$rrrr rGs r test_cbrtzTestCbrt.test_cbrt s Hb"c26BF73 4 4BGAqDMM1---))***RWRV__bf---RWbfW%%w/////r!N)rvrwrxr&r*rr!rr!r!s5BBB00000r!r!ceZdZdZdZdZeje ddZ dZ dZ d Z d Zd Zd Zd ZdS) TestPowercPtjgd}t|dzgdt|dz|t|dzgd|}|dz}t|gdt |dzgdt |d zd t jdt jd gttjd d D]O\}}}d|D}t |d z||tj||t|||Pttj d dD]O\}}}d|D}t |d z||tj||t|||PdS)N)r]r(@rr]r]r]r$r-)r]@"@r@)r]rgUUUUUU?rr]r=unary r3rmax_sizec6g|]}tj|Srr}sqrtrr[s rr z.TestPower.test_power_float..8 ,,,138A;;,,,r!rrrc6g|]}tj|Srr7r9s rr z.TestPower.test_power_float..@r:r!) rrr rr r}r8rr%r8)rqrcrrinpriexps rtest_power_floatzTestPower.test_power_float*s H\\\ " "QT<<<(((QT1QT<<<((( FFHH aQ %%%AG___555AHr38A;; &DEEE0rz6=:<>>> 0 0MCc-,,,,C c C = = = = GCS ! ! ! ! c3 / / / / /0rz6=:;=== 0 0MCc-,,,,C c C = = = = GCS ! ! ! ! c3 / / / / /  0 0r!ctjgd}t|dzgdt|dz|t|dzgdt|dzgdt|d zgd t|d zgd t|d zgdt|dzgdt|dzt jdt jdt jdgd|dzdz t|dzzfddDd}t dtjt dtjfD]}tj|gtj}tj d5||dz|||dz||z||dz||z|zdddn #1swxYwYdS)N)r@@@@rr/r$r-)y@y(@y8@r=)y&yG"@y@]F@r>)y8y]^yxur@)y?ٿy;;?؉؉ͿyQ?{GzĿrA)yQ{GzĿyn_YK&q-yǺa2U0*rB)yI +Mb?y:бbpԗ|pyF̱~&|grrrArBr]cg|]}|zSrr)rr[norms rr z0TestPower.test_power_complex..Ts)???aT???r!)y~@y0vA΋AyA]Acnt|j|jt|j|jdSr6r raimagrs rassert_complex_equalz:TestPower.test_power_complex..assert_complex_equalX0 qvqv . . . qvqv . . . . .r!rrjrk) rrr r r}r8rrcomplex_r_)rqrcrIrrEs @rtest_power_complexzTestPower.test_power_complexEs H''' ( (QT<<<(((QT1AqD"9"9"9:::AqD"C"C"CDDDAqD"C"C"CDDDAG%C%C%CDDDAG%L%L%LMMMAG&8&8&8 9 9 9AHsx~~sx~~'*x~~'7 8 8 8ArE1:ArEDL????$>??? @ @ @  / / /!RV$$ga&8&89 2 2A!BK000AX... 2 2$$QT1---$$QT1Q3///$$QT1Q3q5111 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2s)7G,,G0 3G0 cvtjdg}tjdg}tjttjtjg}d}dD]!}|tj|||"|tj|d|tjd5|tj|d|dD]"}|tj|| |#|tj|d |ddddS#1swxYwYdS) N?ctj|tj|}}t|j|jt|j|jdSr6)rrr rarHrs rrIz7TestPower.test_power_zero..assert_complex_equalksI:a=="*Q--qA qvqv . . . qvqv . . . . .r!) gQ?rr$?r-r=r>r?gffffff@rrjrk?y𿚙?)rrrrpowerr_)rqronecnanrIps rtest_power_zerozTestPower.test_power_zerocsx~~hvx00122 / / / 6 : :A $!2!2D 9 9 9 9 RXdA..444 [ * * * @ @ $!5!5t < < <: ? ?$$RXdQB%7%7>>>> $!8!8$ ? ? ?  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @s=A$D..D25D2rIrJctjdg}tjttjtjg}d}|tj|d||tj|d||tj|d||tj|d||tj|d|t jt5}|tj|d ||tj|d ||tj|d ||tj|d ||tj|d |dddn #1swxYwYt|dksJdS)NrNcnt|j|jt|j|jdSr6rGrs rrIz?TestPower.test_zero_power_nonzero..assert_complex_equalrJr!y?@y@rrO?)expected_warning?yyrRyr?) rrrrrSrrrr)rqrrUrIrs rtest_zero_power_nonzeroz!TestPower.test_zero_power_nonzero~sx ##x00122 / / / RXdD114888RXdD114888RXdD114888RXdD114888RXdD114888\> : : : =a $!6!6 = = = $!6!6 = = = $!6!6 = = = $!5!5t < < < $!5!5t < < <  = = = = = = = = = = = = = = = 1vv{{{{{{sBF--F14F1cztjgdtj}|dz}t|dzj|jut |gdttj|| t |gd|tjdgggz}t|jddS)Nrr(g9b->@)r$r> r-)r$r$r=) rrint16rr3r may_share_memoryr shape)rqrcr8s rtest_fast_powerzTestPower.test_fast_powers HYYY ) )fG"ci/0003 ***B'Q///0001iii(((28qcUG$$$SY *****r!ctjddgd}tj||}t|ddgdS)Ni8l2X0)rrrSr rqrrs rtest_integer_powerzTestPower.test_integer_powersC Hb"Xt $ $ HQNNQ+-?@AAAAAr!ctjd}|D]N}tjdd|}ttj|dtj|Otjd}|D]M}tjd|}ttj|dtj|NdS)NrrArGrrrrr3rpr rS ones_likerqr rrs r-test_integer_power_with_integer_zero_exponentz7TestPower.test_integer_power_with_integer_zero_exponentsi( > >B)C2...C #q))2<+<+< = = = =/0 > >B)Bb)))C #q))2<+<+< = = = = > >r!ctjd}|D]M}tjd|}ttjd|tj|NdS)NrrGrr$rjrls rtest_integer_power_of_1z!TestPower.test_integer_power_of_1sdl+ > >B)Bb)))C !S))2<+<+< = = = = > >r!ctjd}|D]N}tjdd|}ttjd|tj|OdS)Nrr$rGrr)rr3rpr rS zeros_likerls rtest_integer_power_of_zeroz$TestPower.test_integer_power_of_zerosfl+ ? ?B)Ar,,,C !S))2=+=+= > > > > ? ?r!ctjd}|D]}tjgd|}tjgd|}tjd|}tjd|}tttj||tttj||tttj||tttj||dS)Nr)rr$r-r=r)rr$r-rBr$r@)rr3rr rrS)rqr rrrrTminusones rtest_integer_to_negative_powerz(TestPower.test_integer_to_negative_powersi( ? ?BR000Ab111A(1B'''Cx"---H *bh1 5 5 5 *bh8 < < < *bhQ 7 7 7 *bhX > > > > ? ?r!c BtjtjfD]}tjddddddtjtj g|}tjtjtj tjtj tjtj tjtj g|}tjddtjdtjdtjdg|}t tj|||dS)Nr$r-rAr)rr%r8rrr rS)rqrrrrs rtest_float_to_inf_powerz!TestPower.test_float_to_inf_powers:rz* , ,B!Q1b"bfrvg>CCA"&26'26BF7 ""&BCEGGA!Q261bfa@"EEA !Q + + + +  , ,r!N)rvrwrxr?rLrWrr&rrr]rcrhrmrorrrurwrr!rr,r,)s0006222<@@@6 [(FGGHG4 + + +BBB > > >>>> ??? ? ? ?,,,,,r!r,ceZdZdZdS)TestFloat_powerc d}d}t||D]m\}}d|d|}tjd|}tj||}t |jjtj|jk|ndS)Nz?bhilBHILefdgFDGddddddddddddgDDGzdtin: z , dtout: r$r)rrr float_powerrr3name)rqarg_typeres_typedtindtoutrirr8s rtest_type_conversionz$TestFloat_power.test_type_conversions%%x22 A AKD%%+/447C'!4(((C.c**C CINbhuoo&::C @ @ @ @  A Ar!N)rvrwrxrrr!rryrys(AAAAAr!ryceZdZejdgddZejdedddZej e d d Z d S) TestLog2rrrgcgd}gd}tj||}tj||}ttj||dS)N r$r-r> @rii rr$r-r=r>r?rrr_rGr)rrr log2rqrrcrxfyfs rtest_log2_valueszTestLog2.test_log2_valuess^ 9 9 9 . . . Xar " " " Xar " " "BGBKK,,,,,r!r[r$Acxtjd|z}t|t|d|zdS)Nr(zat exponent %dr)rrr r)rqr[vs rtest_log2_intszTestLog2.test_log2_intss< GBENNQa*:Q*>??????r!rIrJcttjddttjtjtjt tjtjtjtjd5}tj ddtt tjtjdt tjtjtj ttjdtj t |dj tut |d j tut |d j tuddddS#1swxYwYdS) Nr]rT)recordalwaysrr$r-) r rrrrrrwarningscatch_warningsfilterwarningsrcategory)rqws rtest_log2_specialzTestLog2.test_log2_specialsRWR[["%%%RWRV__bf---))***  $D 1 1 1 5Q  #Hb. A A A BHRWS\\** + + + BHRWbfW--.. / / / rvg . . . AaDM^3 4 4 4 AaDM^3 4 4 4 AaDM^3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5s+DGGGN) rvrwrxrr&r'rrrrrrrr!rrrs [T???33--43- [S%%2,,//@@0/@  [(FGG 5 5HG 5 5 5r!rceZdZdZdS)TestExp2cgd}gd}dD]P}tj||}tj||}ttj||QdS)Nrrrr)rrr exp2rqrcrrrrs rtest_exp2_valueszTestExp2.test_exp2_valuesst 9 9 9 . . .! 1 1B!2&&&B!2&&&B  R 0 0 0 0 1 1r!N)rvrwrxrrr!rrrs#11111r!rc,eZdZdZdZdZdZdZdS)TestLogAddExp2cgd}gd}gd}tgdgdD]\}}tjtj||}tjtj||}tjtj||}t tj||||dSN)r$r-r=r>r?)r?r>r=r-r$)rrrrrr)rrererdecimal)rrrrr logaddexp2 rqrcrrrdec_rrzfs rtest_logaddexp2_valuesz%TestLogAddExp2.test_logaddexp2_valuess OO OO OOOOO[[[99 I IHB!2...//B!2...//B!2...//B  b" 5 5r4 H H H H H  I Ir!cgd}gd}gd}dD]g}tj||}tj||}tj||}ttj|||hdSN)@BC)rrrr)rrrrrr)rrr rrqrcrrrlogxflogyflogzfs rtest_logaddexp2_rangez$TestLogAddExp2.test_logaddexp2_ranges 2 2 2 2 2 2 2 2 2! D DBHQb)))EHQb)))EHQb)))E  eU ; ;U C C C C  D Dr!ctj}|| || |d| dg}||| | d|d| g}|||| ||ddg}tjd5dD]g}tj||}tj||}tj||}t tj|||h ddddS#1swxYwYdSNr$r]rkrr)rrr_rr r rqrrcrrrrrrs rtest_infzTestLogAddExp2.test_inf"sVf 3$sdCcTA 6 3sdAaC4 8 3sdCaA 6 [ ) ) ) A A% A A"---"---"---R]5%88%@@@@  A A A A A A A A A A A A A A A A A A AA+CCCcttjtjtjtjttjtjtjtjttjtjtjdttjtjdtjttjtjtjtjdSr)rrrrrrrps rtest_nanzTestLogAddExp2.test_nan.srvrv6677888rvrv6677888rvq1122333q"&1122333rvrv667788888r!cttjjtj ttjgtj ttjtj gtj ttjtj dgddSr)r rridentityrrrps r test_reducezTestLogAddExp2.test_reduce5sR]+bfW555R]))"--w777R]))BF7)44rvg>>>R]))BF7A,77;;;;;r!N)rvrwrxrrrrrrr!rrr shIIIDDD A A A999<<<<r-r?{Gz?Y@rr]r=r@r>nulp) rrseedrrpr8uniformrrr) rqstridessizesiix_f64 x_specialy_true y_specialjjs rtest_log_strideszTestLog.test_log_strides\s? r(00011 !C   a aBJry00T20NNOOE I #Ia1f VE]]Fy))I a a.rveDDbDk/B/BF44R4LWXYYYY.rvi"o/F/F RVRVTVRV^_````` a  a ar!N)rvrwrxrrrr!rrr<s7> a a a a ar!rceZdZdZdZdS)TestExpcgd}gd}dD]U}d}tj||}tj|||z}ttj||VdS)Nrrrrr)rrr r>)rqrcrrrrrs rtest_exp_valueszTestExp.test_exp_valuesks~ 9 9 9 . . .! 0 0B*E!2&&&B!2&&&u,B r B / / / /  0 0r!c tjdtjgd}tjdd}|D]}tjtjdd|}tj|}|D]8}ttj|dd||dd|d9dS) Nrrr-r?rg(@rr) rrrrrpr8rr>r)rqrrrrrrs rtest_exp_strideszTestExp.test_exp_stridests r(00011 !C   Z ZBJry00T20NNOOEVE]]F Z Z.rveDDbDk/B/BF44R4LWXYYYYY Z Z Zr!N)rvrwrxrrrr!rrrjs7000ZZZZZr!rc# eZdZdZejedddZej e ddZ ej e dej dgd d Z ej e dejejd d d Zej e dej dejejgej dgdej dejej gdZej dejejgej dddgej dgddZej dgd dZdZej e ddZej e ddZej e ddZej e ddZdZej e ddZej e dd Z d!Z!d"Z"ej e dd#Z#ej e dd$Z$ejeddd%Z%ej e dd&Z&ejejej'ej(ej)ej*ej+gZ,ej-ej.ej/ej0ej1ej2ej+gZ3ej+gZ4ej2gZ5ej-ej.ej/ej6ej2gZ7ej d'e8ej ddej d(d)ge5fd)gd*ze5fd+ge3fd+gd*ze3fd,ge4fd,gd*ze4fd-ge7fd-gd*ze7fd.ge7fd.gd*ze7fd/d/d/ej9ge5fd/d/d/ej9gd*ze5fej9d,d,d,ge4fej9d,d,d,gd*ze4fej9ggfej9gd*zgfd/d/d/ejge,e5zfd/d/d/ejgd*ze,e5zfejd,d,d,ge,fejd,d,d,gd*ze,fejge,fejgd*ze,fd/d/d/ej ge3e,ze5zfd/d/d/ej gd*ze3e,ze5zfej d,d,d,ge3e,zfej d,d,d,gd*ze3e,zfej ge3e,zfej gd*ze3e,zffd0Z:d1S)2TestSpecialFloatsctjdd5tjtjtjdg}tjtj tjtj g}dD]P}tj||}tj||}t tj||Q ddddS#1swxYwYdS)Nr])underrYrrrrrr)rr_rrrr r>rs rrz!TestSpecialFloats.test_exp_valuess [wW 5 5 5 - -"&"&"-A"&"&26'2A* - -Xar***Xar***RVBZZ,,,, - - - - - - - - - - - - - - - - - - -sB(C  CC2.17zfloat16r%r8rps rtest_exp_exceptionsz%TestSpecialFloats.test_exp_exceptionss@ [g & & & H H ,bfbj6I6I J J J ,bfbj6F6F G G G ,bfbj6F6F G G G ,bfbj6F6F G G G ,bfbj6F6F G G G  H H H H H H H H H H H H H H H[w ' ' ' I I ,bfbj6G6G H H H ,bfbj6H6H I I I ,bfbj6G6G H H H ,bfbj6H6H I I I ,bfbj6G6G H H H  I I I I I I I I I I I I I I I I I Is%C;DD!$D!=C;II  I rIc  tjd5tjtjtjtjtj tjg}tjtj tjtj ddg}tjtj tjtj ddg}dD]}tj||}tj||}tj||}t tj||t tj||t tj||t tj || dddn #1swxYwYtjd 5d D]}tttjtjd|tttjtjd|tttjtjd|tttj tjd| dddn #1swxYwYtjd 5d D]}tttjtjtj |tttjtjd|tttjtjtj |tttjtjd|tttjtjtj |tttjtjd|tttj tjtj |tttj tjd| dddn #1swxYwYt5tjd d }tj|ddddS#1swxYwYdS)Nrjrrrrrr]rTrrrrkgeAr%) rr_rrrr rrlog10log1pr rar) rqrcry1prrryf1prs rrz!TestSpecialFloats.test_log_valuess& [X & & & 1 1"&"&AA"&"&26'3=A6BF7BFRVGT4@C* 1 1Xar***Xar***x2...RVBZZ,,,RWR[["---RXb\\2...RXd^^R0000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1[ ( ( ( 8 8% 8 80"& hs"5557770"' hs"5557770"( hs"5557770"( ht26668888 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8[ ) ) ) 8 8% 8 80"& hwb999;;;0"& ht26668880"' hwb999;;;0"' ht26668880"( hwb999;;;0"( ht26668880"( hwb999;;;0"( ht26668888 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8( ! !  I...A F1III                  sJE9FF #F r?c,d}|t|z}tjd}|||}||dd|}||dd||d|t |d||dS)Nr?rr;)rbrr default_rngstandard_normalr ) rqrr3rONrtrngrcrs rtest_sincos_overlapsz&TestSpecialFloats.test_sincos_overlapss  V i##B''   5 ) ) HQxxx[ ! !88V8!BQB%((((QrrUAr!rctjd5tjtjtjtjdg}tjtj tjtj dg}tj||}tj||}t tj||ddddS#1swxYwYdS)Nrjrrr)rr_rrrr r8rs rtest_sqrt_valuesz"TestSpecialFloats.test_sqrt_valuess [X & & & * *4A"&"&26'26A!2&&&B!2&&&B b ) ) )  * * * * * * * * * * * * * * * * * *sB/CCCcxtjtjtjtjddddg}tjtj tjtj ddddg}dD]P}tj||}tj||}t tj||QdS)Nrr]rrrr)rrrrr rbrs rtest_abs_valuesz!TestSpecialFloats.test_abs_values s Vbfbfbfb"c3 ? VbfWbfrvgr3c B& ) )B!2&&&B!2&&&B R ( ( ( ( ) )r!c Xtjtjtjtjg}tjtj tjtj g}tjd5dD]P}tj||}tj||}t tj||Q dddn #1swxYwYtjd5tttjtjddtttjtjd d tttjtjd d ddddS#1swxYwYdS) Nrjrrrr]r@@rgnFrgZbtir) rrrr_rr squarer rars rtest_square_valuesz$TestSpecialFloats.test_square_valuess Vbfbfbf - VbfWbfrvg . [X & & & 0 0* 0 0Xar***Xar***RYr]]B//// 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [g & & & 6 6 ,bi(3c222 4 4 4 ,bi(4s333 5 5 5 ,bi(5444 6 6 6  6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s&4ACCC5BFF#&F#c tjd5tjtjddtjtj g}tjtj tjtj ddg}dD]P}tj||}tj||}t tj||Q dddn #1swxYwYtjd5dD]6}tttjtjd|7 ddddS#1swxYwYdS) Nrjrrrrrr]rT) rr_rrrr reciprocalr rars rtest_reciprocal_valuesz(TestSpecialFloats.test_reciprocal_values$s [X & & & 4 4"&#tRVbfW=A"&"&26'2s;A* 4 4Xar***Xar***R]2..3333 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4[ ( ( ( 8 8* 8 80"- ht26668888 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8s$B7CC!C::EE Ec .tjd5tjtj ddtjtj g}tjtjddtjtjg}dD]P}tj||}tj||}t tj||Q dddn #1swxYwYtjd5dD]}tttjtjtj|tttjtjtj | ddddS#1swxYwYdS) Nrjrrrrrr]rk) rr_rrrr tanr rarqin_rrin_arrout_arrs rtest_tanzTestSpecialFloats.test_tan3s [X & & & 6 66BF7Crvw?C6263bfbf=C% 6 6#R000(3b111RVF^^W5555 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6[ ) ) ) ; ;% ; ;0"& hrvR888:::0"& hwb999;;;; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;s%B6CC C9BF  FFc 2tjd5tjtj tjtj g}tjtjtjtjg}dD]r}tj||}tj||}t tj||t tj||s dddn #1swxYwYtjtjfD]|}tjtj ddfD]^}dD]Y}tjd5tt|tj||dddn #1swxYwYZ_}dS) Nrjrrrr(rr]rk) rr_rrrr arcsinarccosr ra)rqrrrrrrrs rtest_arcsincosz TestSpecialFloats.test_arcsincosDs [X & & & 9 96BF7BFRVG4C62626262C% 9 9#R000(3b111RYv..888RYv..8888  9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9BI. A AH&26'35 A A)AABW555AA%&8(&(huB&?&?&?AAAAAAAAAAAAAAAAAAA A A As$CC77C;>C;+F F F cltjd5tjtj g}tjtjg}dD]P}tj||}tj||}t tj||Q ddddS#1swxYwYdS)Nrjrrr)rr_rrr arctanrs r test_arctanzTestSpecialFloats.test_arctanVs [X & & & 9 96BF7#C626"C% 9 9#R000(3b111RYv..8888 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9sBB))B-0B-c tjtj tjtj g}tjtjtjtj g}dD]P}tj||}tj||}t tj||Qtjd5tttjtjddtttjtjddtttjtjd d ddddS#1swxYwYdS Nrrr]r(@rg^@rg@r) rrrrr sinhr_r rars r test_sinhzTestSpecialFloats.test_sinh_s~vw0vrvrvw/! 3 3BXc,,,Fhs"---G ' 2 2 2 2 [g & & & 7 7 ,bg(4s333 5 5 5 ,bg(5444 6 6 6 ,bg(6555 7 7 7  7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7sBE22E69E6c tjtj tjtj g}tjtjtjtjg}dD]P}tj||}tj||}t tj||Qtjd5tttjtjddtttjtjddtttjtjd d ddddS#1swxYwYdSr() rrrrr coshr_r rars r test_coshzTestSpecialFloats.test_coshps|vw0vrvrvrv.! 3 3BXc,,,Fhs"---G ' 2 2 2 2 [g & & & 7 7 ,bg(4s333 5 5 5 ,bg(5444 6 6 6 ,bg(6555 7 7 7  7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7sBE11E58E5c@tjtj tjtj g}tjtjddg}dD]P}tj||}tj||}t tj||QdS)Nr]rrr)rrrrr tanhrs r test_tanhzTestSpecialFloats.test_tanhsvw0vrvsD)! 3 3BXc,,,Fhs"---G ' 2 2 2 2 3 3r!cjtjtj tjtj g}tjtjtjtj g}dD]P}tj||}tj||}t tj||QdS)Nrr)rrrrr r^rs r test_arcsinhzTestSpecialFloats.test_arcsinhsvw0vrvrvw/! 6 6BXc,,,Fhs"---G F++W 5 5 5 5 6 6r!c tjd5tjtj tjtj ddg}tjtjtjtjdtjg}dD]P}tj||}tj||}t tj||Q dddn #1swxYwYdtj fD]i}tjd5dD]6}tttjtj||7 dddn #1swxYwYjdS) Nrjrr]rrrr]rk) rr_rrrr arccoshr rarqrrrrrrs r test_arccoshzTestSpecialFloats.test_arccoshs [X & & & : :6BF7BFRVGS#>C62626263?C% : :#R000(3b111RZ//9999 : : : : : : : : : : : : : : : :BF7^ = =EW--- = =)==B!"4bj"$(5";";";===== = = = = = = = = = = = = = = = = =s$CC##C'*C':EE "E c tjd5tjtj tjtj dddg}tjtjtjtjtjtj tjg}dD]P}tj||}tj||}t tj||Q dddn #1swxYwYdtjtj ddfD]j}tjd d 5dD]6}tttjtj||7 dddn #1swxYwYkdS) Nrjrr]rr(rrg)\(?r]r) rr_rrrr arctanhr rar6s r test_arctanhzTestSpecialFloats.test_arctanhs [X & & & : :6BF7BFRVGS$DC626262626BF7BFKC% : :#R000(3b111RZ//9999 : : : : : : : : : : : : : : : :BFRVGS$7 = =EWW=== = =)==B!"4bj"$(5";";";===== = = = = = = = = = = = = = = = = =s$CC::C>C>9:FF F c tjd5tjtj tjtj g}tjtjtjdg}dD]P}tj||}tj||}t tj||Q dddn #1swxYwYdD]j}tjdd5dD]6}tttjtj||7 dddn #1swxYwYkdS) Nrjrrrr)@@g@r])rYr) rr_rrrr rr rar6s r test_exp2zTestSpecialFloats.test_exp2s [X & & & 7 76BF7BFRVG4C626263/C% 7 7#R000(3b111RWV__g6666 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7' = =E'999 = =)==B!"4bg"$(5";";";===== = = = = = = = = = = = = = = = = =s$B(C  CC0:D77D; >D; c tjd5tjtj tjtj g}tjtjtjdg}dD]P}tj||}tj||}t tj||Q dddn #1swxYwYdD]i}tjd5d D]6}tttjtj||7 dddn #1swxYwYjdS) Nrjrrrr)gi@r<r]r)rr) rr_rrrr expm1r rar6s r test_expm1zTestSpecialFloats.test_expm1s [X & & & 8 86BF7BFRVG4C6262640C% 8 8#R000(3b111RXf--w7777 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8% = =E'*** = =$==B!"4bh"$(5";";";===== = = = = = = = = = = = = = = = = =s$B(C  CC/:D66D: =D: rz data, escapegQ?rrr]rrrc|r||vrdS|tjtjfvr|dkrdStj||}t 5||ddddS#1swxYwYdS)Nrr)rspacingceilrr)rqrr3dataescapers rtest_unary_spurious_fpexceptionz1TestSpecialFloats.test_unary_spurious_fpexceptionsR  evoo F RZ) ) )esll FU+++  ! !   E%LLL                  s A((A,/A,N);rvrwrxrrr&rrrrrrr'rrrVrYrrrrrrr rrrrrr#r&r+r.r1r3r7r:r=r@rr"r!rBr9INF_INVALID_ERRrrrrr8r5NEG_INVALID_ERRONE_INVALID_ERRLTONE_INVALID_ERRr BYZERO_ERRUFUNCS_UNARY_FPrrFrr!rrr~s--- [&!!M I I  I [(FGG//HG/b [(FGG [W&:&:&:;;))<;HG) [(FGG [ ))8&& HG & [(FGG [Z"&"&)9:: [Wooo66 [Wrvw&788009876;:HG0  [Z"&"&)9:: [WsCj11 [X'7'7'7889821;: [T#7#7#788**98*))) [(FGG66HG6" [(FGG 8 8HG 8 [(FGG;;HG;  [(FGGAAHGA"999 [(FGG77HG7  [(FGG77HG7 333666 [(FGG = =HG = [(FGG = =HG =  [&!!M = =  = [(FGG = =HG ="  29bj"*O 28RWbj O O  2="*J [Wo66 [Wo66 [^ "# %& ! O$  r?#   r:  J sC "34 sC  #%67 &#sC /2 &#sC  #_5 &2 &"b sC /4E"EF sC  #_7H%HI &#sC /2 &#sC  #_5 &?# &"o& sC"& ! ? *-> > @ sC"& !" $ ? *-> > @ 6'3S !?_#DE 6'3S !" $o&GH 6'Oo56 6'289I%.%%L  M%%7676P   r!rceZdZejdgddZejdddgdZdS) TestFPClassrO)r@rCrBrAr@r$r-r>r?rrrr_rGc tjtjtj tjtj ddddddg d}tjtjtj tjtj ddddd d g d }tjgd }tjgd }tjgd}tjgd}t tj|dd||dd|t tj|dd||dd|t tj|dd||dd|t tj|dd||dd|t tj|dd||dd|t tj|dd||dd|t tj|dd||dd|t tj|dd||dd|dS)Nrr]rriVQ iVQ rrgJ-&6gJ-&r TTFFFFFFFF FFTTFFFFFF FTFTTFTFFT FFFFTTTTTT) rrrrr rrrisfinite)rqrOarr_f64arr_f32rrsignfinites r test_fpclasszTestFPClass.test_fpclasssL(BFRVGRVbfWdCsT_amnvyzzz(BFRVGRVbfWdCsT_amnvyzzz(___``(___``(\\\]]([[[\\RXghhh/00#hhh-@@@RXghhh/00#hhh-@@@RXghhh/00#hhh-@@@RXghhh/00#hhh-@@@RZ& 122D6NCCCRZ& 122D6NCCCR[6!233VHHfH5EFFFR[6!233VHHfH5EFFFFFr!r3rrc . tjtjtj tjtj ddddddg |}tjgd}tjgd }tjgd }tjgd }tj|jd }|d dd}|d dd} tj|} t |jjdt | jjdt | jjdt tj || |d ddt tj || |d ddt tj || |d ddt tj || |d ddt tj | | |d ddt tj | | |d ddt tj | | |d ddt tj | | |d ddt tj ||d ddt tj ||d ddt tj ||d ddt tj ||d ddtjtj |d} tjtj |d} tjtj |d} tjtj |d}tjtj |d}t tj | | t tj | | t tj | |t tj | |dS)Nrr]rrrPrQrrRrSrTrUrr$r=FTr;r-)rrrrrrbr r c_contiguousrrrrV array_split)rqr3rDrrrYrZr ncontig_in ncontig_out contig_in data_split nan_split inf_split sign_split finite_splits rtest_fp_noncontiguousz!TestFPClass.test_fp_noncontiguous.sx"&"&26'4sK(*16888h88899h88899x6667744455j6222!$Q$Z !$Q$i HZ(( Z%2E:::[&3U;;;Y_14888RXjk:::C1IFFFRXjk:::C1IFFFRZ <<r3rrc tjgd|}tjgdd}tjd|}ttj|dd||dd||dd|tjd|dd|t|dd|tjd|dd|dS)N)g??rr]r]r(r0g @r)r=r-r$rrr@rArBr[rr;)rrr7r ldexpr)rqr3rOmantr>rs r test_ldexpzTestLDExp.test_ldexp]sx>>>eLLLx3333???x'''RXd88V8nc((F(mXXvXOOOQSQXYZbgQhQhQhiqiqkqiqQrsssS6]BGAU$;$;$;HHfH$EFFFFFr!N)rvrwrxrr&r'rorr!rriri\sm [X'7'7'788 [WsCj11GG2198GGGr!ricZeZdZejdgdejdddgejedeje j d d d Z d S) TestFRExprOrjr3rrgh23048rJlinuxzAnp.frexp gives different answers for NAN/INF on windows and linuxc tjtjtjtjtj ddddg|}tjtjtjtjtj ddddg|}tjgdd }tjd |}d tjd d z}tj|dd||dd||dd|f \}} t |dd||t |dd|| t |dd||dd|t |dd||dd|dS) Nrrr]rrr)rrrrrrr$r$r[rr-r;)rrrrrrr ) rqr3rOr mant_trueexp_trueout_mantout_exprnr>s r test_frexpzTestFRExp.test_frexpgsq hdCNV[\\\HbfbfbfrvgsD#tT\abbb H555SAAAGAU+++bgas++++HS6]((F(1CWXXvXEV0WXXX cYxxx($///Xhhh'---Xhhh'88V8)<===WXXvX&6(:;;;;;r!N) rvrwrxrr&r'rrrrrVrYrzrr!rrqrqfs [X'7'7'788 [WsCj11 [wy11 [CL33G<<<bdd < <dd212198 < < >  90E0EFFF  90E0EFFFF( 98M8M#,....( 98M8M#,....!88%ve}}H%ve}}H%JJ$VVE$$B$K%8%8(44R4.III$VVE$$B$K%8%8(44R4.IIII+ J  J Jr!N)rvrwrxrrr!rrrs(JJJJJr!rc&eZdZdZdZdZdZdS)TestAVXFloat32Transcendentalcdtjdtjtjddd}tj|}t tj|tjtj|ddS)NrrfffffV@rrr=r)rrrr%rr8rr>rqrrs rtest_exp_float32z-TestAVXFloat32Transcendental.test_exp_float32 r 29,,$G,LLMM 5!!RVE]]BJrve}},E,EaPPPPPPr!cdtjdtjtjddd}tj|}t tj|tjtj|ddS)Nrrrrrr>r)rrrr%rr8rrrs rtest_log_float32z-TestAVXFloat32Transcendental.test_log_float32rr!cFtjdd}tj|dz }tjd||}tjtjdd|}tds7tjd tj|z||<tj |}ttj |tjtj |d ttj |tjtj |d | }ttj || tjtj |d ttj || tjtj |d dS) Nrrrrr{rrgvH7Br-rr;)rrrint_rr%rrrandr8rrrr)rqr rtindexrrtx_f32s rtest_sincos_float32z0TestAVXFloat32Transcendental.test_sincos_float32s r  GAbDMM !!aaa!88 29,,Da,HHII (( @:fRY^^A->->&>??E%L 5!!RVE]]BJrve}},E,EaPPPPRVE]]BJrve}},E,EaPPPPRVEu555rz"&--7P7PYZ[[[[RVF777BF5MM9R9R[\]]]]]]r!c tjdtjgd}tjdd}|D]}tjtjdd|}|}d|d d d <tj|}tj |}tj |}tj |} |D]} ttj|dd| |dd| d ttj |dd| |dd| d ttj |dd| |dd| d ttj |dd| | dd| d ېdS) Nrrr-r?rrrgL@r=r@r>r) rrrrrpr%rrr>rrrr) rqrrrr x_f32_largerwlog_truesin_truecos_truers rtest_strided_float32z1TestAVXFloat32Transcendental.test_strided_float32s r(00011 !C   b bBJry00Tt0LLMME**,,K"*K"Q ve}}Hve}}Hvk**Hvk**H b b.rveDDbDk/B/BHTTrTNYZ[[[[.rveDDbDk/B/BHTTrTNYZ[[[[.rvk$$B$6G/H/H(SWSWUWSW._`aaaa.rvk$$B$6G/H/H(SWSWUWSW._`aaaaa  b b br!N)rvrwrxrrrrrr!rrrs^QQQ QQQ ^^^$bbbbbr!rc,eZdZdZdZdZdZdZdS) TestLogAddExpcgd}gd}gd}tgdgdD]\}}tjtj||}tjtj||}tjtj||}t tj||||dSr)rrrrr logaddexprs rtest_logaddexp_valuesz#TestLogAddExp.test_logaddexp_valuess OO OO OOOOO[[[99 H HHB"---..B"---..B"---..B  R 4 4b$ G G G G G  H Hr!cgd}gd}gd}dD]g}tj||}tj||}tj||}ttj|||hdSr)rrr rrs rtest_logaddexp_rangez"TestLogAddExp.test_logaddexp_ranges 2 2 2 2 2 2 2 2 2! C CBHQb)))EHQb)))EHQb)))E  UE : :E B B B B  C Cr!ctj}|| || |d| dg}||| | d|d| g}|||| ||ddg}tjd5dD]g}tj||}tj||}tj||}t tj|||h ddddS#1swxYwYdSr)rrr_rr rrs rrzTestLogAddExp.test_infsVf 3$sdCcTA 6 3sdAaC4 8 3sdCaA 6 [ ) ) ) @ @% @ @"---"---"---R\%77????  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @rcttjtjtjtjttjtjtjtjttjtjtjdttjtjdtjttjtjtjtjdSr)rrrrrrrps rrzTestLogAddExp.test_nansbfbf5566777bfbf5566777bfa0011222a0011222bfbf556677777r!cttjjtj ttjgtj dSr6)r rrrrrrps rrzTestLogAddExp.test_reducesER\*RVG444R\((,,rvg66666r!N)rvrwrxrrrrrrr!rrrshHHHCCC @ @ @88877777r!rceZdZdZdZdS) TestLog1pcttjdtjdttjdtjddS)N皙?g333333?ư>g zo ?)r r}rrrps r test_log1pzTestLog1p.test_log1psHCIcNNCGCLL999CIdOOSWV__=====r!c\tjdd5ttjtjtjttjtjtjttjdtj ttjdtjttjtj tjddddS#1swxYwYdS)Nrjrrr)rr_r r}rrrrps r test_specialzTestLog1p.test_specials  [( ; ; ; 5 5 26**BF 3 3 3 26**BF 3 3 3 3"& 1 1 1 3 0 0 0 BF7++RV 4 4 4  5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5sC=D!!D%(D%N)rvrwrxrrrr!rrrs2>>>55555r!rc eZdZdZdZdZdS) TestExpm1cttjdtjddz ttjdtjddz dS)Nrr$r)r r}r?r>rps rr@zTestExpm1.test_expm1sPCIcNNCGCLLN;;;CIdOOSWT]]1_=====r!cttjtjtjttjddttjddttjtjtjttjtj ddS)Nrrr)r r}r?rrrps rrzTestExpm1.test_specialsSYrv&&///SYr]]B'''SYs^^S)))SYrv&&///SYw''-----r!ctjd}t|tj||tj}t|tj|dS)Ng-q=)rrrr}r?rrrGs r test_complexzTestExpm1.test_complexsZ Ju  39Q<<((( HHR] # #39Q<<(((((r!N)rvrwrxr@rrrr!rrrsA>>>...)))))r!rceZdZdZdZdS) TestHypotcttjddtjdttjddddSNr$r-r)r r}hypotr8rps r test_simplezTestHypot.test_simple"sDCIaOOSXa[[999CIaOOQ/////r!czttjddgdttjgddttjgddt tjgddS)Nr.r0@)r.r0r)r1r)4@g9@r)r r}rrr rps rrzTestHypot.test_reduce&sCI,,c3Z88#>>>CI,,]]];;SAAACI,,->->->??FFFSY%%b))3/////r!N)rvrwrxrrrr!rrr!s200000000r!rc tjd5ttjt j||d|d|dt j||dddddS#1swxYwYdS)Nrjrkhypot(, ) is , not nan)rr_rrr}rrs rassert_hypot_isnanr- X & & &JJ1a)))23!!QQQ !QH J J JJJJJJJJJJJJJJJJJJJAA66A:=A:c tjd5ttjt j||d|d|dt j||dddddS#1swxYwYdS)Nrjrkrrrz , not inf)rr_rrr}rrs rassert_hypot_isinfr3rrc eZdZdZdZdZdS)TestHypotSpecialValuescttjtjttjddSNr$)rrrrps rtest_nan_outputsz'TestHypotSpecialValues.test_nan_outputs:s.2626***261%%%%%r!czttjtjttjtjttjdtdtjttjtjttjddS)Nrg7@)rrrrrps rtest_nan_outputs2z(TestHypotSpecialValues.test_nan_outputs2>sz2626***2626***261%%%1bf%%%2626***264(((((r!cPttjtjddSr)rr}rrrrps r test_no_fpez"TestHypotSpecialValues.test_no_fpeFs39bfa00000r!N)rvrwrxrrrrr!rrr9sA&&&)))11111r!rc ttjtj||d|d|dtj||ddS)Narctan(rrr)rrrr}arctan2rs rassert_arctan2_isnanrJsV BHS[A&& ' ' 'AAAqqqRUR]^_abRcRcRcRc)deeeeer!c ttjtj||otj||dkd|d|dtj||ddS)Nrrrrz , not +infrrrr}rrs rassert_arctan2_ispinfrN RXck!Q'' ( ( BS[A->->-Bijijijlmlmlmoroz{|~pApApApAFBCCCCCr!c ttjtj||otj||dkd|d|dtj||ddS)Nrrrrz , not -infrrs rassert_arctan2_isninfrRrr!c ttj||dko'tjtj|| d|d|dtj||ddS)Nrrrrz, not +0rr}rrrrs rassert_arctan2_ispzerorVs S[A  ! # IBJs{1a7H7H,I,I(InononoqrqrqrtwtABDEuFuFuFuFMGHHHHHr!c ttj||dko&tjtj||d|d|dtj||ddS)Nrrrrz, not -0rrs rassert_arctan2_isnzerorZs S[A  ! # E 3;q!3D3D(E(Ejkjkjkmnmnmnpsp{|}@AqBqBqBqBICDDDDDr!c\eZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdS)TestArctan2SpecialValuesc&ttjdddtjzttjdddtjzttjdddtjzdS)Nr$rlr@п?)r r}rrr~rps r test_one_onez%TestArctan2SpecialValues.test_one_one_snCK1--tbe|<<<CKA.. >>>CK2..ru =====r!c ttjtjtjtjttjtjtjtj dSr6)r r}rrPZERONZEROr~rps rtest_zero_nzeroz(TestArctan2SpecialValues.test_zero_nzeroesNCK"(;;RUCCCCK"(;;beVDDDDDr!cttjtjttjtjdSr6rrrrrrps rtest_zero_pzeroz(TestArctan2SpecialValues.test_zero_pzerojs0rx222rx22222r!cttjtjdtjttjtjdtj dS)Nr@r r}rrrr~rrps rtest_zero_negativez+TestArctan2SpecialValues.test_zero_negativeosJCK"55ru===CK"55v>>>>>r!cnttjdttjddSrrrps rtest_zero_positivez+TestArctan2SpecialValues.test_zero_positivets,rx+++rx+++++r!cttjdtjdtjzttjdtjdtjzdS)Nr$rrrps rtest_positive_zeroz+TestArctan2SpecialValues.test_positive_zeroysPCK2844cBEkBBBCK2844cBEkBBBBBr!cttjdtjdtjzttjdtjdtjzdS)Nr@rurrps rtest_negative_zeroz+TestArctan2SpecialValues.test_negative_zero~sPCKBH55tbe|DDDCKBH55tbe|DDDDDr!cttjdtjtjttjdtjtj dSNr$r@)r r}rrNINFr~rps r test_any_ninfz&TestArctan2SpecialValues.test_any_ninfsJCK2733be<<<CKBG44ruf=====r!cntdtjtdtjdSr)rrrrrps r test_any_pinfz&TestArctan2SpecialValues.test_any_pinfs,q"&)))r26*****r!cttjtjddtjzttjtj ddtjzdS)Nr$rrur r}rrrr~rps r test_inf_anyz%TestArctan2SpecialValues.test_inf_anysRCK33cBEkBBBCK33TBE\BBBBBr!cttjtjtj dtjzttjtj tj dtjzdS)Nrgr rps r test_inf_ninfz&TestArctan2SpecialValues.test_inf_ninfsZCK"&99D25LIIICK"&99525=IIIIIr!cttjtjtjdtjzttjtj tjdtjzdS)Nrlrr rps r test_inf_pinfz&TestArctan2SpecialValues.test_inf_pinfsVCK884"%<HHHCK88%"%-HHHHHr!cttjtjttjtjttjtjdSr6)rrrrrps r test_nan_anyz%TestArctan2SpecialValues.test_nan_anysDRVRV,,,RVRV,,,RVRV,,,,,r!N)rvrwrxrrrrrrrrr r rrrrr!rrr^s>>> EEE 333 ??? ,,, CCC EEE >>> +++ CCC JJJ III -----r!rc eZdZdZdZdZdS) TestLdexpc ttjtjdtjtjd|dttjtjdtjtjd|dttjtjdtjtjd|ddS)Nr(r=0@)r r}rmrrr%r8r)rqtps r _check_ldexpzTestLdexp._check_ldexpsCIbhr2:&>&>&(hq"oo778; = = =CIbhr2:&>&>&(hq"oo778; = = =CIbhr2=&A&A&(hq"oo778; = = = = =r!cZttjddd|tj|tj|tj|d|ddS)Nr(r=rr[r)r r}rmrrint8r`rrps rrozTestLdexp.test_ldexpsCIb!,,s333 "'""" "(### "(### # #r!ctjd5tjtjdj}tjtjdj}t tjd|tj t tjd|dddddS#1swxYwYdS)Nrjrrr(r) rr_r"r3r#rPr r}rmr)rqimaximins rtest_ldexp_overflowzTestLdexp.test_ldexp_overflows [h ' ' ' 1 18BHSMM**.D8BHSMM**.D 2t,,bf 5 5 5 2t,,a 0 0 0  1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1sB'C  CCN)rvrwrxrrorrr!rrrsA===11111r!rc>eZdZdZdZdZdZdZdZdZ dZ d S) TestMaximumctjd}tjd}tjd}|ddd}tjj}|D]^}||}||}t ||dt ||d_|D]}||}||}t ||dt ||dtj|ddd<tj|ddd<t ||tjt ||tjdS)NAllFloatrr3r@rGr-)rr3rpmaximumrrr r rqdfltdintseq1seq2rrtmp1tmp2s rrzTestMaximum.test_reduces`|J'|L)y}}DDbDzz  ) )B;;r??D;;r??D dR ( ( ( dR ( ( ( ( - -B;;r??D;;r??D dR ( ( ( dR ( ( (D1ID1I dRV , , , dRV , , , , - -r!cttjddgdttjddgddSNr$@y?@)r rr#rrps rtest_reduce_complexzTestMaximum.test_reduce_complexsPRZ&&2w//333RZ&&bz22D99999r!ctj}tjd||g}tj|d|g}tj|||g}ttj|||dSr)rrrr r#rqrarg1arg2rs rtest_float_nanszTestMaximum.test_float_nansjfxc3((xa3((hS#''RZd++S11111r!cbtdD]}tjtdt}d}tjtdt}t tj||dkt tj||dkdSNr$rr])rrrrrrr#rqr[rcrrs rtest_object_nanszTestMaximum.test_object_nansq - -Auv..AAuv..A BJq!$$+ , , , BJq!$$+ , , , ,  - -r!c|tj}t|dtd|t||fD]}tjd||gt}tj|d|gt}tj|||gt}t tj|||dSNrr)rrrrr r#rqrrUr1r2rs rtest_complex_nanszTestMaximum.test_complex_nansfS!__gaoowsC7H7HI 6 6D8QdO7;;;D8T1dO7;;;D(Cc?':::C D$// 5 5 5 5  6 6r!ctjdt}|dz}ttj|||dSNr?rr$)rrprr r#rqr1r2s rtest_object_arrayzTestMaximum.test_object_arrayAy&)))axRZd++T22222r!c tjddddtjtj tjtj g}tjddtjddtjddg}tjddtjdtjtjtjdg}tjd}tjddddddtjdg}t tj|||t tj|ddd |ddd |ddd t tj|dd |ddd tjdtjddgt tj|ddd |dd tjddtjgt tj|dd d |ddd |ddd  tjddtjgt ||dSNgr]g$@rrrr)rr-r>r=rr;)rrrrrr r#)rqrLrMmaxtruer out_maxtrues rtest_strided_arrayzTestMaximum.test_strided_arraysxsD3"&QRRxdBFCNOO8T3RVRVRVTRSSgajjhc3c3LMM RZT**G444RZSSqS $sss)44gccclCCCRZSaS 4!955rxrvtUX@Y7Z7Z[[[RZSSqS 4955rxsBF@S7T7TUUURZTaT D1I3sss8DDDbhPTVY[][aObFcFcdddS+&&&&&r!cXtjtjtjtjg}|D]}tj|j}tj|j}|d}tj|tj }|tj |f|tj |f|||f|tj tj fg}|D][\}} } ttj |g| g| gttj || g| \dSNrC)rrr%r8rrrPr#rrrr r#r rqr rdtmindtmaxd1d1_next test_casesrdrers rtest_precisionzTestMaximum.test_precision s*bj"*bmD D DBHRLL$EHRLL$ECBl2rv..GE*E*G,BF+ J%/ D D BRZrd33hZ@@@RZ..Bx88(CCCC D D Dr!N rvrwrxrr.r3r8r=rBrHrQrr!rr r s---*:::222 - - -666333 ' ' 'DDDDDr!r c>eZdZdZdZdZdZdZdZdZ dZ d S) TestMinimumctjd}tjd}tjd}|ddd}tjj}|D]^}||}||}t ||dt ||d_|D]}||}||}t ||dt ||dtj|ddd<tj|ddd<t ||tjt ||tjdS)Nr"rr3r@rr-)rr3rpminimumrrr rr$s rrzTestMinimum.test_reduce s`|J'|L)y}}DDbDzz  ( (B;;r??D;;r??D dQ ' ' ' dQ ' ' ' ' - -B;;r??D;;r??D dQ ' ' ' dQ ' ' 'D1ID1I dRV , , , dRV , , , , - -r!cttjddgdttjddgddSr,)r rrVrrps rr.zTestMinimum.test_reduce_complex1 sPRZ&&2w//444RZ&&bz22B77777r!ctj}tjd||g}tj|d|g}tj|||g}ttj|||dSr)rrrr rVr0s rr3zTestMinimum.test_float_nans5 r4r!cbtdD]}tjtdt}d}tjtdt}t tj||dkt tj||dkdSr6)rrrrrrrVr7s rr8zTestMinimum.test_object_nans< r9r!c|tj}t|dtd|t||fD]}tjd||gt}tj|d|gt}tj|||gt}t tj|||dSr;)rrrrr rVr<s rr=zTestMinimum.test_complex_nansG r>r!ctjdt}|dz}ttj|||dSr@)rrprr rVrAs rrBzTestMinimum.test_object_arrayO rCr!c tjddddtjtj tjtj g}tjddtjddtjddg}tjddtjdtjtjdtj g}tjd}tjddddddtjdg}t tj|||t tj|ddd |ddd |ddd t tj|dd |ddd tjdtjddgt tj|ddd |dd tjddtjgt tj|dd d |ddd |ddd  tjddtjgt ||dSrE)rrrrrr rV)rqrLrMmintruer out_mintrues rrHzTestMinimum.test_strided_arrayT sxsD3"&QRRxdBFCNOO8T4bfbfcBF7STTgajjhc3S#rvsKLL RZT**G444RZSSqS $sss)44gccclCCCRZSaS 4!955rxrvsTW@X7Y7YZZZRZSSqS 4955rxtRV@T7U7UVVVRZTaT D1I3sss8DDDbhPTVY[][aObFcFcdddS+&&&&&r!cTtjtjtjtjg}|D]}tj|j}tj|j}|d}tj|tj }|tj |f|tj |f|||f|tj tj fg}|D][\}} } ttj |g| g| gttj || g| \dSrJ)rrr%r8rrrPr#rrrr rVrrKs rrQzTestMinimum.test_precisiona s*bj"*bmD D DBHRLL$EHRLL$ECBl2rv..GE*E*B'BF+ J%/ D D BRZrd33hZ@@@RZ..Bx88(CCCC D D Dr!NrRrr!rrTrT s---*888222 - - -666333 ' ' 'DDDDDr!rTc,eZdZdZdZdZdZdZdS)TestFmaxctjd}tjd}tjd}|ddd}tjj}|D]^}||}||}t ||dt ||d_|D]}||}||}t ||dt ||dtj|ddd<tj|ddd<t ||dt ||ddS)Nr"rr3r@rGr-r_)rr3rpfmaxrrr rr$s rrzTestFmax.test_reducex s[|J'|L)y}}DDbDzw~ ) )B;;r??D;;r??D dR ( ( ( dR ( ( ( ( ( (B;;r??D;;r??D dR ( ( ( dR ( ( (D1ID1I dQ ' ' ' dQ ' ' ' ' ( (r!cttjddgdttjddgddSr,)r rrcrrps rr.zTestFmax.test_reduce_complex sLRW^^QG,,a000RW^^T2J//66666r!ctj}tjd||g}tj|d|g}tjdd|g}ttj|||dSr)rrrr rcr0s rr3zTestFmax.test_float_nans jfxc3((xa3((hQ#''RWT4((#.....r!c|tj}t|dtd|t||fD]}tjd||gt}tj|d|gt}tjdd|gt}t tj|||dSr;)rrrrr rcr<s rr=zTestFmax.test_complex_nans fS!__gaoowsC7H7HI 3 3D8QdO7;;;D8T1dO7;;;D(A!S>999C t,,c 2 2 2 2  3 3r!cDtjtjtjtjg}|D]}tj|j}tj|j}|d}tj|tj }|tj |f|tj |f|||f|tj |fg}|D][\}} } ttj |g| g| gttj || g| \dSrJ)rrr%r8rrrPr#rrrr rcrrKs rrQzTestFmax.test_precision s*bj"*bmD A ABHRLL$EHRLL$ECBl2rv..GE*E*G,E* J%/ A A BRWbTB4008*===RW^^RH55x@@@@ A A Ar!Nrvrwrxrr.r3r=rQrr!rraraw sd(((*777///333AAAAAr!rac,eZdZdZdZdZdZdZdS)TestFminctjd}tjd}tjd}|ddd}tjj}|D]^}||}||}t ||dt ||d_|D]}||}||}t ||dt ||dtj|ddd<tj|ddd<t ||dt ||ddS)Nr"rr3r@rr-r$)rr3rpfminrrr rr$s rrzTestFmin.test_reduce s[|J'|L)y}}DDbDzw~ ( (B;;r??D;;r??D dQ ' ' ' dQ ' ' ' ' ( (B;;r??D;;r??D dQ ' ' ' dQ ' ' 'D1ID1I dQ ' ' ' dQ ' ' ' ' ( (r!cttjddgdttjddgddSr,)r rrnrrps rr.zTestFmin.test_reduce_complex sLRW^^QG,,b111RW^^T2J//44444r!ctj}tjd||g}tj|d|g}tjdd|g}ttj|||dSr)rrrr rnr0s rr3zTestFmin.test_float_nans rfr!c|tj}t|dtd|t||fD]}tjd||gt}tj|d|gt}tjdd|gt}t tj|||dSr;)rrrrr rnr<s rr=zTestFmin.test_complex_nans rhr!c@tjtjtjtjg}|D]}tj|j}tj|j}|d}tj|tj }|tj |f|tj |f|||f|tj |fg}|D][\}} } ttj |g| g| gttj || g| \dSrJ)rrr%r8rrrPr#rrrr rnrrKs rrQzTestFmin.test_precision s*bj"*bmD A ABHRLL$EHRLL$ECBl2rv..GE*E*B'E* J%/ A A BRWbTB4008*===RW^^RH55x@@@@ A A Ar!Nrjrr!rrlrl sd(((*555///333AAAAAr!rlc&eZdZdZdZdZdZdS)TestBoolctjdtj}tttj|tttj|tttj||dS)Nr$r)rrrr rnegativepositivesubtractrs rtest_exceptionszTestBool.test_exceptions s\ GARX & & &ia000ia000ia33333r!cgd}gd}tjdtjdzdz}ttj|D]"}tj||}tj||}gd}tjtjfD]4}t|||t|5gd}tj tj fD]4}t|||t|5gd }tj tj fD]4}t|||t|5$dS) N)rrr=r-)rr>rr-r"r?rFTTTFFFTFTTF)rr3mapr3r logical_orr#r rr logical_andrV logical_xorr) rqinput1input2r3r3r1r2rrs rtest_truth_table_logicalz!TestBool.test_truth_table_logical s\*-|L12 9-- A AE:fE222D:fE222D,++C 3 A ATT$--44T::C@@@@---C4 A ATT$--44T::C@@@@,,,C6 A ATT$--44T::C@@@@ A A Ar!cgd}gd}gd}ttj|||gd}ttj|||gd}ttj|||dS)N)FFTT)FTFTr|r}r~)r r bitwise_or bitwise_and bitwise_xor)rqr1r2rs rtest_truth_table_bitwisez!TestBool.test_truth_table_bitwise s))))))'''R]4..444)))R^D$//555(((R^D$//55555r!ctjgdt}tjgdt}tjgdt}tjgt}||||g}|D]<}ttj|t |=|D]<}ttj|t|=|D]H}ttj || dzdkIdS)N)rrrr)r$rr$r$)r$r$r$r$r-r$) rrrr rrr`ranyrr9)rqnonesomeeveryrarrsrs rrzTestBool.test_reduce" s!x d++x d++t,,T""dE5) ? ?C ..s33SXX > > > > > >C --c22CHH = = = = I IC ..s33SWWYY]a5G H H H H I Ir!N)rvrwrxryrrrrr!rrtrt sX444 AAA2 6 6 6IIIIIr!rtc>eZdZddDZdZdZdZdZdS)TestBitwiseUFuncsc6g|]}tj|Sr)rr3)rcs rr zTestBitwiseUFuncs.6 s CCCQRXa[[CCCr!z ?bBhHiIlLqQOc|jD]P}tjdg|}tjdg|}d|jz}t tj|||t tj|||t tj||||t tj||||t tj||||t tj||||t tj||||t tj||||t tj||||t tj||||t tj ||||t tj ||||t tj ||||t tj ||||RdS)Nrrr@ dt = '%s'r) bitwise_typesrrrcharr bitwise_notrrrrqrr7rris r test_valueszTestBitwiseUFuncs.test_values8 s.$ H HBHaS+++E8RD>>((,,D'C ..c B B B B --uc B B B B ue44eS I I I I ud33T3 G G G G tU33T3 G G G G tT22D# F F F F u55uc J J J J t44dC H H H H e44dC H H H H d33UC H H H H u55uc J J J J t44eS I I I I e44eS I I I I d33T3 G G G G G+ H Hr!c |jD]}tjdg|}tjdg|}d|jz}t tj|j|k|t tj||j|k|t tj ||j|k|t tj ||j|k|dS)Nrrr@r) rrrrrrrr3rrrrs r test_typeszTestBitwiseUFuncs.test_typesP s$ C CBHaS+++E8RD>>((,,D'C BN5))/25s ; ; ; BM%//5;S A A A BN5%006">((,,D! @ @-/RR3QXXe__eSAAAAQXXd^^T3????? @ $SbS) 5 5BHRr***E! 5 5-/RR3hqz**11"55hhuooS#s3333 SY.4444  5 0 0AA !#CHRv...E*C((5//C c3 / / / / / 8 8AA !#CHdV6222E D%))T13 7 7 7 7 8 8r!N)rvrwrxrrrrrrr!rrr4 sjCC*BCCCMHHH0 C C C>>> %8%8%8%8%8r!rceZdZdZdS)TestIntc2tjdtj}tjdt}|}d|ddd<|ddd}t tj||dt ||dS)NrGrrFr-r;)rrr`rrr logical_not)rqrcrross rtest_logical_notzTestInt.test_logical_not s GBbh ' ' ' GF$ ' ' 'ffhhCCaC sssV2>!444e<<<1c"""""r!N)rvrwrxrrr!rrr s######r!rceZdZdZdS)TestFloatingPointc:ttjddSr)r r}FLOATING_POINT_SUPPORTrps rtest_floating_pointz%TestFloatingPoint.test_floating_point sS/33333r!N)rvrwrxrrr!rrr s#44444r!rceZdZdZdS) TestDegreescttjtjdttjdtjzddS)Nf@ruV)r r}degreesrr~rps r test_degreeszTestDegrees.test_degrees sDCK..666CKRU 33U;;;;;r!N)rvrwrxrrr!rrr #<<<<rDrrg@)rrrr]r]rr$rr-r) rrrrrr} heavisider rr%)rqrc expectedhalf expected1hs rtest_heavisidezTestHeavside.test_heaviside s; H---RVRVbfW/MN O Ox!5!5!5RVS#7N OPP  %%''  $ M!S ! !Q %%% M!S ! !Q """ HHRZ  M!RZ__ - -Q ++BJ77888 M!RZ__ - -Q ((4455555r!N)rvrwrxrrr!rrr s#66666r!rc eZdZdZdZdZdS)TestSignctjtjtj tjdddg}tj|j}tjddtjdddg}tjd5tj|}t||tj||}t||t||ddddS#1swxYwYdS)Nrr.r)r]rrjrk) rrrrr7rbr_r}rYr )rqrrrr8s r test_signzTestSign.test_sign s HbfrvgrvsC> ? ?hqwhCc4899 [ * * * # #(1++C c " " "(1c""C c " " " c " " "  # # # # # # # # # # # # # # # # # #s AC33C7:C7ctjgd}tj|t}tj|}t ||dS)N)rDrrC)rrrYrrr )rqfoorrs rtest_sign_dtype_objectzTestSign.test_sign_dtype_object sUh|||$$ GCJJv&& ' ' GCLL1a     r!c6d}tt|dS)Nctjtjg}tj|t }dSr6)rrrrYrr)rrs rrz5TestSign.test_sign_dtype_nan_object..test_nan s4(BF8$$C 6**++AAAr!)r r)rqrs rtest_sign_dtype_nan_objectz#TestSign.test_sign_dtype_nan_object s) , , , i*****r!N)rvrwrxrrrrr!rrr sA # # #!!!+++++r!rc&eZdZdZdZdZdZdS) TestMinMaxc tjdftjdffD]l\}}t|d|D]R\}t jD]5}tjj|dd<tj|<fd}t5}| tdttj  |ttj |dddn #1swxYwYd |<t d  d |<td  7TndS) Nrerr2r4rcdS)N r)r=risrr9z0TestMinMax.test_minmax_blocked.. ssssCC#8r!z#invalid value encountered in reduce)rig _Brg _)rr%r8rrrrprrrrrrr#rPr ) rqrszrr[emsgrr=ris @@rtest_minmax_blockedzTestMinMax.test_minmax_blocked s B'"*a9 @ @FB!42G>@"B"B"B @ @ S#sx @ @AYsxr:::CFVCF88888D*,,? >#HJJJ 3 3>>>> 3 3>>>> ??????????????? "CF D#>>>>"CF E3????? @ @ @ @sBD* *D. 1D. c0tjdtjddtj}t ||dt ||ddS)Nrr>rCr)rr7rrr8r r#rPrqrs rtest_lower_alignzTestMinMax.test_lower_align sq HV27 + + +AbD 1 6 6rz B BQUUWWad###QUUWWad#####r!c&dD]}tjtjtjfD]g}tjtjtjg|z|D].}ttj|tj/hdS)N)r-r>rrrr) rr%r complex64diagflatrrr rP)rqrRrrs rtest_reduce_reorderzTestMinMax.test_reduce_reorder s# 4 4Az2:r|< 4 4RXrvhl"%E%E%EFF44A BF33334 4 4 4r!cxtjtjd}t|tjdSr)rrVrr rs rtest_minimize_no_warnsz!TestMinMax.test_minimize_no_warns s- Jrvq ! !Qr!N)rvrwrxrrrrrr!rrr sS@@@*$$$444     r!rceZdZdZdZejdgdejdddgdZd S) TestAbsoluteNegativec tjdftjdffD]\}}t|d|D]\}}}d|D}tj||t |||t |dkd |D}tj||t |||tj tj tj fD]}t|j D]}tj |j | } | |dd<|||<|tj kr| n|| |<ttj|| |tj||t|| |t| d |z|d |z} tj||t|| |ӌdS) Nr3r?r2r4c6g|]}tj|Sr)r}r|r9s rr z=TestAbsoluteNegative.test_abs_neg_blocked.. s 4441s|A444r!r;rrcg|]}d|zS)r@rr9s rr z=TestAbsoluteNegative.test_abs_neg_blocked.. s+++!r1v+++r!rr@)rr%r8rr|r rr`rvrrrrrpr rb) rqrrrr=rirrr[rs rtest_abs_neg_blockedz)TestAbsoluteNegative.test_abs_neg_blocked s' B'"*a9 @ @FB!42G>@"B"B"B @ @ S#44444 CS))))S#s3333(()))++s+++ CS))))S#s3333&26'262 @ @A"38__ @ @Ichb999"#AAA!"A%&26'\\rrq!*26#;;3GGGGs,,,,*33????*C4CEEEEH CS1111*33????? @ @ @ @ @r!ctjdtjddtj}t tj||t tj|| tj||tjtj||tj||tjtj||dS)Nrrr>rCr;) rr7rrr8r rbrvrkrs rrz%TestAbsoluteNegative.test_lower_align" s HV27 + + +AbD 1 6 6rz B BRVAYY"""R[^^aR((( A1 BLOO++++ qa r|AA&&&&&&r!r3)rrrr bigTFctjgd|}tjgd|}|r*tj|d}tj|d}tj|j|}|ddd}|ddd}tj|}t tj||dddt tj|||dddt tj||dddt tj|||dddtjtj|d} tjtj|d} ttj| | dS)N) rr]rrrPr#@rrQirGr) r]rrrrQrr#rrrPrrArGr$r-r;) rrrepeatrrbr rvr^r ) rqr3rrDexpectrr_r`rarb expect_splits rtest_noncontiguousz'TestAbsoluteNegative.test_noncontiguous- sx555.with_wrapc*tjdSrrr7rps r __array__z9TestSpecialMethods.test_wrap..with_wrap.__array__b x{{"r!c8}||_||_|Sr6)rr)rqrrr with_wraps rrz>TestSpecialMethods.test_wrap..with_wrap.__array_wrap__e s!IKK# r!Nrvrwrxrrrsrrra s= # # #       r!rr$r-r) r}rVr rrr7rrr)rqrrcrargsr[rs @r test_wrapzTestSpecialMethods.test_wrap_ s           IKK K1  QUBHQKK((( dA #$$$SYY"""T!Wa   T!Wa   Qr!c>Gddtjfd}|dd|dd|dd |d d |d d |dd|dd|dd|dddS)NcDeZdZdZdZdZdZdZedZ dZ dS)KTestSpecialMethods.test_wrap_and_prepare_out..StoreArrayPrepareWrapNcPtjd|Srt)rr7rrs rrzSTestSpecialMethods.test_wrap_and_prepare_out..StoreArrayPrepareWrap.__new__| sx||((---r!c |d|_|Sr) _wrap_argsrqrrs rrzZTestSpecialMethods.test_wrap_and_prepare_out..StoreArrayPrepareWrap.__array_wrap__~ s")!* r!c |d|_|Sr) _prepare_argsrs r__array_prepare__z]TestSpecialMethods.test_wrap_and_prepare_out..StoreArrayPrepareWrap.__array_prepare__ s%,QZ" r!c|j|jfSr6)rrrps rrzPTestSpecialMethods.test_wrap_and_prepare_out..StoreArrayPrepareWrap.args s*DO<.StoreArrayPrepareWrap.__repr__ sr!) rvrwrxrrrrrpropertyrrrr!rStoreArrayPrepareWrapr y suJ M . . .       = =X =     r!rc }|||j\}}||} t||t||dS#t$rd}tddd|d|d|gd}~wwxYw)Nrz"Bad arguments passed in ufunc callz expected: {}z __array_prepare__ got: {}z __array_wrap__ got: {})rr AssertionErrorjoinformat)f_call f_expectedrrVrrrrs rdo_testz=TestSpecialMethods.test_wrap_and_prepare_out..do_test s%%''A F1III6DAq!z!}}H Q)))Q)))))!   $TYY8077AA077::077:: 0&& s A B=AB88B=c,tj|dSrrrrs rr9z>TestSpecialMethods.test_wrap_and_prepare_out.. s"&A,,r!c |dfSrrr$s rr9z>TestSpecialMethods.test_wrap_and_prepare_out.. 1vr!c.tj|ddSrr#r$s rr9z>TestSpecialMethods.test_wrap_and_prepare_out.. s"&At,,r!c |dfSrrr$s rr9z>TestSpecialMethods.test_wrap_and_prepare_out.. r&r!c0tj|ddSNrr;r#r$s rr9z>TestSpecialMethods.test_wrap_and_prepare_out.. s"&A4000r!c |dfSrrr$s rr9z>TestSpecialMethods.test_wrap_and_prepare_out.. r&r!c0tj|ddS)Nrr6r;r#r$s rr9z>TestSpecialMethods.test_wrap_and_prepare_out.. s"&A7333r!c |dfSrrr$s rr9z>TestSpecialMethods.test_wrap_and_prepare_out.. r&r!c.tjdd|Srr#r$s rr9z>TestSpecialMethods.test_wrap_and_prepare_out.. s"&Aq//r!c dd|fSrrr$s rr9z>TestSpecialMethods.test_wrap_and_prepare_out.. 1ayr!c0tjdd|Sr*r#r$s rr9z>TestSpecialMethods.test_wrap_and_prepare_out.. s"&A1---r!c dd|fSrrr$s rr9z>TestSpecialMethods.test_wrap_and_prepare_out.. r0r!c2tjdd|fSr*r#r$s rr9z>TestSpecialMethods.test_wrap_and_prepare_out.. s"&AA4000r!c dd|fSrrr$s rr9z>TestSpecialMethods.test_wrap_and_prepare_out.. r0r!c0tj|ddSNrFrr#r$s rr9z>TestSpecialMethods.test_wrap_and_prepare_out.. s"&AU333r!c |dfSrrr$s rr9z>TestSpecialMethods.test_wrap_and_prepare_out.. r&r!c2tjdd|dSr6r#r$s rr9z>TestSpecialMethods.test_wrap_and_prepare_out.. s"&Aq666r!c dd|fSrrr$s rr9z>TestSpecialMethods.test_wrap_and_prepare_out.. s 1a)r!)rr)rqr!rs @rtest_wrap_and_prepare_outz,TestSpecialMethods.test_wrap_and_prepare_outu s>     BJ   &     $ &&5E5EFFF,,5E5EFFF005E5EFFF335E5EFFF ))5H5HIII--5H5HIII005H5HIII 335E5EFFF668K8KLLLLLr!cGddtj}|}tj|d}t t ||t |tjddS)NceZdZdZdZdZdS)=TestSpecialMethods.test_wrap_with_iterable..with_wraprGcttjd|Srrrs rrzETestSpecialMethods.test_wrap_with_iterable..with_wrap.__new__ s*z!}}))#..33555r!cF|t|Sr6rrs rrzLTestSpecialMethods.test_wrap_with_iterable..with_wrap.__array_wrap__ rr!Nrrr!rrr> s8!#  6 6 6 , , , , ,r!rr)rrr}multiplyrrr rrqrrrcs rtest_wrap_with_iterablez*TestSpecialMethods.test_wrap_with_iterable s , , , , ,  , , , IKK LI & & 1i(()))1bhy1122222r!cGddtj}|}tjd|z}tt ||t |tjddS)NceZdZdZdZdS)7TestSpecialMethods.test_priority_with_scalar..ArGcvtjdd|S)Nr]r8rrs rrz?TestSpecialMethods.test_priority_with_scalar..A.__new__ s.z#y1166s;;@@BBBr!N)rvrwrxrrrr!rArF s.!#  C C C C Cr!rHr$)rrr8rrr r)rqrHrrcs rtest_priority_with_scalarz,TestSpecialMethods.test_priority_with_scalar s C C C C C  C C C ACC JqMM!O 1a  !!!1bhqkk*****r!cGfdd}tj||}t|jt jddS)Nc eZdZdZfdZdS)3TestSpecialMethods.test_old_wrap..with_wrapc*tjdSrrrps rrz=TestSpecialMethods.test_old_wrap..with_wrap.__array__ rr!c*}||_|Sr6)r)rqrrrs rrzBTestSpecialMethods.test_old_wrap..with_wrap.__array_wrap__ sIKKr!NrrsrrrL s= # # #       r!rr$)r}rVr rrr7)rqrrcrs @r test_old_wrapz TestSpecialMethods.test_old_wrap ss           IKK K1  QUBHQKK(((((r!chGdd}Gdd|}Gdd|}tjd}|}|}|}tj}t t |||tjut t ||||ut t ||||ut t ||||ut t ||||ut t ||||ut t ||||ut t ||||ut t ||||ut t ||||ut t ||||ut t ||||ut t ||||ut t ||||ut t tj||ut t tj||ut t tj||udS)NceZdZdZdZdS)+TestSpecialMethods.test_priority..Ac*tjdSrrrps rrz5TestSpecialMethods.test_priority..A.__array__ rr!cPt|}||_||_|Sr6)rrr)rqrrrs rrz:TestSpecialMethods.test_priority..A.__array_wrap__ s&DJJLL# r!Nrrr!rrHrR s2 # # #     r!rHceZdZdZdS)+TestSpecialMethods.test_priority..BrNrvrwrxrrr!rBrV !$   r!rXceZdZdZdS)+TestSpecialMethods.test_priority..CgD@NrWrr!rCr[ rYr!r\r$)rr7r}rVrrrr>) rqrHrXr\rcrrrrs r test_priorityz TestSpecialMethods.test_priority s          % % % % % % % % % % % % % % % % HQKK ACC ACC ACC KQQq!WW +,,,QQq!WW "###QQq!WW "###QQq!WW "###QQq!WW "###QQq!WW "###QQq!WW "###QQq!WW "###QQq!WW "###QQq!WW "###QQq!WW "###QQq!WW "###QQq!WW "###QQq!WW "###SWQZZ1_%%&&&SWQZZ1_%%&&&SWQZZ1_%%&&&&&r!cGdd}|}tttj||tttjj|dS)NceZdZdZdZdS)/TestSpecialMethods.test_failing_wrap..Ac*tjdSNr-rrps rrz9TestSpecialMethods.test_failing_wrap..A.__array__ rr!ctr6 RuntimeErrorrs rrz>TestSpecialMethods.test_failing_wrap..A.__array_wrap__ ""r!Nrrr!rrHr` s2 # # # # # # # #r!rH)r rer}r#rrqrHrs rtest_failing_wrapz$TestSpecialMethods.test_failing_wrap sj # # # # # # # # ACClCKA666lCK$6:::::r!ctjdgGfddtj}Gddtj}tjd|}tjd|}t dD]$}t ttj d||%dS)Nr]ceZdZfdZdS)4TestSpecialMethods.test_failing_out_wrap..OkcSr6r)rqr singletons rrzCTestSpecialMethods.test_failing_out_wrap..Ok.__array_wrap__ s   r!Nrvrwrxr)rmsrOkrk s. ! ! ! ! ! ! !r!roceZdZdZdS)5TestSpecialMethods.test_failing_out_wrap..Badctr6rdrqrs rrzDTestSpecialMethods.test_failing_out_wrap..Bad.__array_wrap__ rfr!Nrnrr!rBadrq # # # # # #r!rtr$rG) rrrrrrr rer}r)rqrortokbadr[rms @rtest_failing_out_wrapz(TestSpecialMethods.test_failing_out_wrap sHcUOO  ! ! ! ! ! ! ! ! ! ! # # # # #"* # # #Xa[[  b ! !hqkks##r ? ?A , 1b# > > > > ? ?r!czGdd}|}ttj||ddS)NceZdZdZddZdS),TestSpecialMethods.test_none_wrap..Ac*tjdSrrrps rrz6TestSpecialMethods.test_none_wrap..A.__array__( rr!NcdSr6rrs rrz;TestSpecialMethods.test_none_wrap..A.__array_wrap__+ tr!r6rrr!rrHr{' s7 # # #      r!rH)r r}r#rgs rtest_none_wrapz!TestSpecialMethods.test_none_wrap$ sY         ACCS[A&&-----r!cGdd}|}tj||}t|tjdtt |tjdS)NceZdZdZdZdZdS):TestSpecialMethods.test_default_prepare..with_wraprGc*tjdSrrrps rrzDTestSpecialMethods.test_default_prepare..with_wrap.__array__6 rr!c|Sr6rrs rrzITestSpecialMethods.test_default_prepare..with_wrap.__array_wrap__9 s r!N)rvrwrxrrrrr!rrr3 s8!#  # # #     r!rr$)r}rVr rr7rrrBs rtest_default_preparez'TestSpecialMethods.test_default_prepare1 s~         IKK K1  Q $$$T!WWbj)))))r! use_whereTFcGfddtjtjd}|r*tj||tjd}ntj||}t |tjdt t |dS)NceZdZdZfdZdS)5TestSpecialMethods.test_prepare..with_preparerGcTtj|SNrrrrrqrr with_prepares rrzGTestSpecialMethods.test_prepare..with_prepare.__array_prepare__G s"x}}))|)<<>222AAq! AQ $$$T!WWl+++++r!cGfddtjtjdg}|rtj|||dg}ntj|||}t tj|| t|tjdgtt|dS)NceZdZdZfdZdS)9TestSpecialMethods.test_prepare_out..with_preparerGcTtj|Srrrs rrzKTestSpecialMethods.test_prepare_out..with_prepare.__array_prepare__Y s"x}}))|)<<.Ac*tjdSrrrps rrz.A.__array__j rr!Nctr6rdrs rrzDTestSpecialMethods.test_failing_prepare..A.__array_prepare__m rfr!r6)rvrwrxrrrr!rrHri s7 # # # # # # # # #r!rHFr7)r rer}r#rgs rtest_failing_preparez'TestSpecialMethods.test_failing_prepareg sn # # # # # # # # ACClCKA666lCKAUCCCCCCr!cvGdd}|}ttdtj|dS)NceZdZdZdS)6TestSpecialMethods.test_array_too_many_args..Ac*tjdSrr)rqr3rs rrz@TestSpecialMethods.test_array_too_many_args..A.__array__w rr!N)rvrwrxrrr!rrHrv rur!rHz2 required positional)r rrr9rgs rtest_array_too_many_argsz+TestSpecialMethods.test_array_too_many_argst sT # # # # # # # # ACCI'>JJJJJr!cGdd}Gddtj}|}tjdg|}tj||}tj|||}t |d|t |d|t |dtjt |dtjt |dd t |dd t |d ||ft |d ||ft |d it |d d |fidS) NceZdZdZdS)1TestSpecialMethods.test_ufunc_override..Ac|||||fSr6rrqrmethodinputskwargss r__array_ufunc__zATestSpecialMethods.test_ufunc_override..A.__array_ufunc__ sT66699r!Nrvrwrxrrr!rrHr s# : : : : :r!rHceZdZdZdS)9TestSpecialMethods.test_ufunc_override..MyNDArrayr?NrWrr!r MyNDArrayr rYr!rr$r;rr-__call__r=r>r)rrrrrAr )rqrHrrrres0r s rtest_ufunc_overridez&TestSpecialMethods.test_ufunc_override} s : : : : : : : : % % % % %  % % % ACC HaSMM  y ) ){1a  {1aQ''' T!Wa   T!Wa   T!Wbk***T!Wbk***T!Wj)))T!Wj)))T!Wq!f%%%T!Wq!f%%%T!Wb!!!T!Wuqdm,,,,,r!c d}d}tj|dd}tj|dd}Gdd}Gdd |}Gd d }Gd d }Gdd|} |} |} |} |} tj| | }t|d tj| | }t|d tj| | }t|dt| jdtj| | }t| jd|} | }t t tj| |t| jdt|jddx| _|_t t tj|| t| jdt|jdd| _t t tj| | t| jdd| _t t tjd| t| jdt|| dddt|d| ddt|dd| dt|| | ddt|| d| dt|| d| dt|| d| d t|| | dd d| _t|| | dd t| jdd| _t|d| | d t| jdd| _t|| | | dt| jdd|_t|| | |dt|jdt|dd| d t t |dd| t t ||d| t t ||ddt|| ddddt|d| dddt|dd| ddt|ddd| dt|| | dddt|d| d| dt|| d| dd t|| dd| d t|| dd| d |} | }t t |ddd| t| jdd| _t t |dd|| t|jdt| jd|}dx| _|_t t |d| ||t|jdt| jdt|jddx| _x|_|_t t ||| || t|jdt| jdt|jddS)Nc||z|zSr6r)rrrs rtres_mulz.tres_mul sq519 r!c||z|z|zSr6r)rrrrs r quatro_mulz>TestSpecialMethods.test_ufunc_override_mro..quatro_mul sq519q= r!r=r$r>ceZdZdZdS)5TestSpecialMethods.test_ufunc_override_mro..AcdS)NrHrrs rrzETestSpecialMethods.test_ufunc_override_mro..A.__array_ufunc__ rr!Nrrr!rrHr #     r!rHceZdZdZdS)8TestSpecialMethods.test_ufunc_override_mro..ASubcdS)NASubrrs rrzHTestSpecialMethods.test_ufunc_override_mro..ASub.__array_ufunc__ svr!Nrrr!rrr #     r!rceZdZdZdS)5TestSpecialMethods.test_ufunc_override_mro..BcdS)NrXrrs rrzETestSpecialMethods.test_ufunc_override_mro..B.__array_ufunc__ rr!Nrrr!rrXr rr!rXceZdZdZdZdS)5TestSpecialMethods.test_ufunc_override_mro..Ccd|_dSr)countrps r__init__z>TestSpecialMethods.test_ufunc_override_mro..C.__init__ s  r!c0|xjdz c_tSrrNotImplementedrs rrzETestSpecialMethods.test_ufunc_override_mro..C.__array_ufunc__  a %%r!N)rvrwrxrrrr!rr\r s2    & & & & &r!r\ceZdZdZdS)8TestSpecialMethods.test_ufunc_override_mro..CSubc0|xjdz c_tSrrrs rrzHTestSpecialMethods.test_ufunc_override_mro..CSub.__array_ufunc__ rr!Nrrr!rCSubr s# & & & & &r!rr-rr)r frompyfuncrAr rr r)rqrrthree_mul_ufuncfour_mul_ufuncrHrrXr\rra_subrrr8c_subc2s rtest_ufunc_override_mroz*TestSpecialMethods.test_ufunc_override_mro sy    ! ! !-!Q77z1a88             1            & & & & & & & & & & & & &1 & & & ACC ACC ACCk!U##S&!!!k%##S&!!!k!QS#QWa   k!QQWa    ACCia777QWa   U[!$$$ !!%+ieQ777QWa   U[!$$$ia333QWa   ia333QWa    __Q1--s333__Q1--s333__Q1--s333__Q1--s333__Q1--s333__Q1--s333__Q5116:::__Qq116:::__Qq116:::QWa   __Qq116:::QWa   __Q1--s333QWa    __Q5113777U[!$$$__Q1--s333i!Q:::i%A>>>i%A>>> ^^Aq!Q//555^^Aq!Q//555^^Aq!Q//555^^Aq!Q//555^^Aq!Q//555^^Aq!Q//555^^Aq!Q//555^^E1a33V<<<^^Aq!U33V<<< ACCiAq!<<<QWa   iAua@@@U[!$$$QWa   QSS !!%+iAubAAAU[!$$$QWa   RXq!!!+,,,"(U[iQqAAAU[!$$$QWa   RXq!!!!!r!c RGdd}|}tt5tjd|dddddn #1swxYwYtjd|dd}t |d|t |dtjt |d d t |d d|ft |d dddtttj|tttj||||tttj||d d ttt j||dddgtj|dddd}t |d|t |dtjt |d dt |d |ft |d dddddtj|dddddd}t |d|t |dtjt |d dt |d |ft |d dddddddtj|dddd}t |d ddddtj|ddd}t |d dddtj|dd d!}t |d ddd"tj|ddddd d}t |d dddd dd#tj|ddddtj d}t |d ddddd$tj|dddddd}t |d dddddd#tttjj|d%&tttjj|d'&tttjj|dd(tj |ddd}t |d|t |dtjt |d d)t |d |ft |d dddd*tj |ddd+}t |d|t |dtjt |d d)t |d |ft |d dddd*tj |ddd}t |d ddd"tj |ddd,-}t |d dd,d"tj |dd d!}t |d ddd"tttjj |d%&tttjj |d'&tttjj |dd(tj |d d gddd}t |d|t |dtjt |d d.t |d |d d gft |d dddd*tj |d d gddd+}t |d|t |dtjt |d d.t |d |d d gft |d dddd*tj |d d gddd}t |d ddd"tj |d d gddd/0}t |d dd/d"tj |d d gddd &}t |d ddd"tttjj|d d gd%&tttjj|d d gd'&tttjj|d d gdd(tj |d}t |d|t |dtjt |d d1t |d |dft |d itttjj |tttjj ||||tttjj ||d d tj|d d gd2}t |d|t |dtjt |d d3t |d |d d gd2ftttjj|tttjj||||dS)4NceZdZdZdS)9TestSpecialMethods.test_ufunc_override_methods..Ac|||||fSr6rrqrrrrs rrzITestSpecialMethods.test_ufunc_override_methods..A.__array_ufunc__! UFFF::r!Nrrr!rrHr # ; ; ; ; ;r!rHr$rr)ranswer)rrrr-rr=r>r)rr)axisaxesaxis0dtype0out0keep0r)r)r3rkeepdimsrinit0where0)rr3rrinitialr)r3rrrrrF)rr3rT)rrr)rrr6)rr3)rr3)rr3rrr)rr3rrrr;)rout1rr/)r3rr)rr3rdtype1)rrr3reduceatr)rrr3outerb0at)r rrrArr ncu_testsinner1dr_NoValuerr/rrr)rqrHrr8s rtest_ufunc_override_methodsz.TestSpecialMethods.test_ufunc_override_methods s  ; ; ; ; ; ; ; ; ACC 9 % % = = K A5 < < < = = = = = = = = = = = = = = =k""1auB"??SVQSVR[)))SVZ(((SVaV$$$SVur::;;; ia000iaAq999iasKKKKi!2Aqq1vNNNNk  GXvwGGSVQSVR[)))SVX&&&SVaT"""SVh%.*1&-// 0 0 0 k  f*17'/!11 SVQSVR[)))SVX&&&SVaT"""SVh%.*1&-)0'/ 11 2 2 2k  AtT599SVa$EJJKKKk  1t DDSVaT::;;;k  DgT BBSVdT::;;;k  AtT5!TBBSVa$E)*T;; < < <k  AtT5!#d44SVa$E'+-- . . .k  AtT5$EESVa$E)->> ? ? ? j"+"4aR@@@@j"+"4a=MNNNNi!3QgNNNNk$$Q6BBSVQSVR[)))SV\***SVaT"""SVh%.&-// 0 0 0 k$$QWH)/%11SVQSVR[)))SV\***SVaT"""SVh%.&-// 0 0 0 k$$Q466SVa$77888k$$QDq$IISVa(;;<<<k$$Q'$FFSVdT::;;; j"+"8!DDDDj"+"8!* , , , ,i!7G - - - -k""1q!fgxHHSVQSVR[)))SVZ(((SVa!Q[)))SVh%.&-// 0 0 0 k""1q!f7('-#//SVQSVR[)))SVZ(((SVa!Q[)))SVh%.&-// 0 0 0 k""1q!fat<<SVa$77888k""1q!f4T"NNSVdT::;;;k""1q!fdDg"FFSVdT::;;; j"+"4a!QRHHHHj"+"4a!Q* , , , ,i!3QAG - - - -k2&&SVQSVR[)))SVW%%%SVaW%%%SVR    i!2A666i!2Aq!Q???i!2AqcSQQQQknnQA--SVQSVR[)))SVT"""SVa!Q./// i333iAq!<<<<.Ac|Sr6rrs rrzETestSpecialMethods.test_ufunc_override_out..A.__array_ufunc__  r!Nrrr!rrHr rr!rHceZdZdZdS)5TestSpecialMethods.test_ufunc_override_out..Bc|Sr6rrs rrzETestSpecialMethods.test_ufunc_override_out..B.__array_ufunc__ rr!Nrrr!rrXr rr!rXout_argr;r-r=r>r?rrrrr$r6)NNrTtworTrr)rthreer)rTrr)rT) rrAr modfrrrr rr) rqrHrXrrrr r res3res4res5res6res7s rtest_ufunc_override_outz*TestSpecialMethods.test_ufunc_override_out s                 ACC ACC{1a++{1aY///{1a++{1aY///{1a++{1aY///T%[^Y///T%[^Y///T%[^Y///T%[^Y///T%[^Y///T%[^Y///wq&&))x66**T%[^V,,,T%[^V,,,T%[^V,,,T%[^V,,, q$2%&&&qd###r)***qg&&&",---4  B&'''4&&",---|,,,2333 9 % % ! ! GA4  ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! iaEuEEEEiaE5AAAj"+q!HHHHiaR8888i!U8HIIIIi!UE7CCCj"'12IJJJJj"'1(;;;;;;s6LL Lc$Gddtj}Gdd|}tj}tjgd}tjgd}|||}t jt 5||||dddn #1swxYwY||||}t||sJtj tj||k|sJ|||||}t||sJtj tj||k|sJdS)Nc$eZdZdZfdZxZS)HTestSpecialMethods.test_ufunc_override_where..OverriddenArrayOldct|}g}|D]b}t||rtj|}n&t|tjkr t cS||c|Sr6)rrrrrrappend)rqobjsrrrs r_unwrapzPTestSpecialMethods.test_ufunc_override_where..OverriddenArrayOld._unwraps{4jj''C!#s++. hsmmcbj00----MM#&&&& r!c|||}|turtS|}d|vr4||d|d<|dturtStj||g|Ri|}|tur"|t |}|S)Nr)rrrsuperrrrrqrrrrr __class__s rrzXTestSpecialMethods.test_ufunc_override_where..OverriddenArrayOld.__array_ufunc__sf--^++))F??$(LL$?$?F5Me}66--+EGG+E6MFMMMfMMN**tDzz**Ar!)rvrwrxrr __classcell__rs@rOverriddenArrayOldr sG            r!rceZdZfdZxZS)HTestSpecialMethods.test_ufunc_override_where..OverriddenArrayNewcV|}d|vrF||df|d<|dturtS|dd|d<tj||g|Ri|}|tur"|t |}|S)Nrr)rrrrrrrrs rrzXTestSpecialMethods.test_ufunc_override_where..OverriddenArrayNew.__array_ufunc__#sf$$&*llF7O3F&G&GF7Og.88--*0/!*<w+EGG+E6MFMMMfMMN**tDzz**Ar!rvrwrxrrrs@rOverriddenArrayNewr"s8         r!rr)TFTr7) rrrvrrr rrrr`) rqrrrrrrresult_1result_2s rtest_ufunc_override_wherez,TestSpecialMethods.test_ufunc_override_wheres        >     !3   " ##,,,--5e,,, ]9 % % ? ? E%uzz*<== > > > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?5 **/00   ($677777vbhx((H4EBBBBBB5 JJ) * ***/00   ($677777vbhx((H4EBBBBBBBBs!B22B69B6cGdd}|}tttjd|tttj|tttjd|dS)NceZdZdZdS);TestSpecialMethods.test_ufunc_override_exception..Ac td)Noops)r)rqrrs rrzKTestSpecialMethods.test_ufunc_override_exception..A.__array_ufunc__Ms (((r!Nrrr!rrHr"Ls# ) ) ) ) )r!rHr$r;r])r rrrvrUrgs rtest_ufunc_override_exceptionz0TestSpecialMethods.test_ufunc_override_exceptionJs ) ) ) ) ) ) ) ) ACCj"+qa8888j"+q111j")R33333r!cGdd}d}tttj|5t j|dddn #1swxYwYd}tttj|5t j|tdddddS#1swxYwYdS)NceZdZdZdS)ATestSpecialMethods.test_ufunc_override_not_implemented..ActSr6)rrqrrs rrzQTestSpecialMethods.test_ufunc_override_not_implemented..A.__array_ufunc__Xs%%r!Nrrr!rrHr(Ws# & & & & &r!rHzjoperand type(s) all returned NotImplemented from __array_ufunc__(, '__call__', <*>): 'A'zoperand type(s) all returned NotImplemented from __array_ufunc__(, '__call__', <*>, , out=(1,)): 'A', 'object', 'int'r$r;)r rfnmatch translaterrvrr)rqrHris r#test_ufunc_override_not_implementedz6TestSpecialMethods.test_ufunc_override_not_implementedUsa & & & & & & & &K G,=c,B,B C C   K                  1!G,=c,B,B C C ) ) F1133a ( ( ( ( ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )s#A  A$'A$,C  CCcDGdd}|}d}tt|5tj|ddddn #1swxYwYtt|5tjd|dddn #1swxYwYtt|5tj|dddn #1swxYwYGdd}|}t tj||utt|5tj||dddn #1swxYwYtt|5tj|d|ddddS#1swxYwYdS)NceZdZdZdS)?TestSpecialMethods.test_ufunc_override_disabled..OptOutNrrr!rOptOutr0hs"OOOr!r1z(operand 'OptOut' does not support ufuncsr$ceZdZdZdS)DTestSpecialMethods.test_ufunc_override_disabled..GreedyArrayc|Sr6rr*s rrzTTestSpecialMethods.test_ufunc_override_disabled..GreedyArray.__array_ufunc__zs r!Nrrr!r GreedyArrayr3y#     r!r5r;)r rrrrvr)rqr1opt_outrir5greedys rtest_ufunc_override_disabledz/TestSpecialMethods.test_ufunc_override_disabledfs # # # # # # # #&((9 C 0 0   F7A                   C 0 0   F1g                   C 0 0 ! ! K  ! ! ! ! ! ! ! ! ! ! ! ! ! ! !          F##v-... C 0 0 $ $ F67 # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ C 0 0 + + F61' * * * * + + + + + + + + + + + + + + + + + +sYAAA1BBB3CCC.EEE0FFFc<Gdd}tj}|}|||}t|d|t|d|t|ddt|d||ft|di|dd| }t|d|t|d|t|ddt|dd t|dd |fitt||d tt|||d d tt|||d d tt |||d tt |||d dS)NceZdZdZdS)2TestSpecialMethods.test_gufunc_override..Ac|||||fSr6rrs rrzBTestSpecialMethods.test_gufunc_override..A.__array_ufunc__rr!Nrrr!rrHr<rr!rHrr$r-rr=r>r;)r$r$rrrTrr)rrr r rr)rqrHrrr8s rtest_gufunc_overridez'TestSpecialMethods.test_gufunc_overrides ; ; ; ; ; ; ; ;# ACCgammSVQSVW%%%SVZ(((SVaV$$$SVR   ga"""SVQSVW%%%SVZ(((SVV$$$SVeaT]+++ i!7777i!Q5AAAAi!Qu===j'1a^DDDDj'1aR888888r!cJ G fddtj G fdd}tjd}tjd }tj|}tj|}t tj||kt|jddgitj||f}t tj||kt|jd dgit ||utjd }tj||}t tj||kt|jdgdgd tjd }tj |\}}t|jddgitj |d|f\}}t ||ut|jd d gitjd }tjd }tj |||f\}} t ||ut | |ut|jdgdd gd tjd }tjd }tj |||} t | |ut| jdd gdgd tjd}|}t | tj d ||tut | tj d ||tutttj ||| }t | tj d ||tut | tj d ||d kt tj ||d ktjgdgdg}| }|} |}t| |t | jddgi|} |}t| |t | jddgitjd }||} t| |t | |ut | jdgdgd |d}tj| }|d|} t| |t | |ut | jdgdgd tj |d }tj |d } t| |t | jddgitj| }tj |d d|} t| |t | |ut | jdgdgd tj |d}tj |d} t| |t | jddgitj| }tj |dd|} t| |t | |ut | jdgdgd gd} tj || d }tj || d } t| |t | jddgitj| }tj || d d|} t| |t | |ut | jdgdgd tjgdgdg}|}| }tj |dd gddgfdtj |dd gddgfdt||t |jddgitjd }| }tj |dd gddgf|t||t |jdddgidS)Nc(eZdZddfd ZxZS).ANr;c"g}g}t|D]r\}} t| rH|||| tj]|| s|} g} | rg} t| D]r\} }t|rH| | | |tj]| |st | |d<n d|jz} i}|r||d<| r| |d<tj ||g|Ri|}|turtS|dkr%t|dr ||d_ dS|jdkr|f}t fdt|| D}|r#t|dr ||d_ t|dkr|dn|S) Nrr6routputsrrr$c3tK|]2\}}|'tj|n|V3dSr6)rrr)rroutputrHs rrz_TestSpecialMethods.test_ufunc_override_with_super..A.__array_ufunc__..sh M M$2FF%+N"$F!3!3!8!8!;!;!;8> M M M M M Mr!) enumeraterrrrrtupler1rrrinforr)rqrrrrrrin_nor[input_rCout_noout_argsjrErHresultsrHrs rrzLTestSpecialMethods.test_ufunc_override_with_super..A.__array_ufunc__sq!*6!2!2,,IAv!&!,,, Q FKK $;$;<<<< F++++ 3!H%.w%7%744 6%fa004"MM!,,,$OOFKK ,C,CDDDD$OOF3333$)(OOF5MM% 2G+%*DN-&,DO1%''1%C37CCC;ACCn,,))T>>!&)Q//.)-q F:??&jG M M M M69'76K6K M M MMM+z'!*a88+&*GAJO%(\\Q%6%6wqzzGCr!r)rrHs@rrHrAsWBF1 D1 D1 D1 D1 D1 D1 D1 D1 D1 D1 D1 Dr!rHceZdZfdZdS).BcLtfd|DrdStS)Nc38K|]}t|VdSr6)r)rrJrHs rrz_TestSpecialMethods.test_ufunc_override_with_super..B.__array_ufunc__..s-BBz&!,,BBBBBBr!A!)rr)rqrrrrrHs rrzLTestSpecialMethods.test_ufunc_override_with_super..B.__array_ufunc__s3BBBB6BBBBB*4))r!Nr)rHsrrXrPs. * * * * * * *r!rXrrrr;rC)rrCr$rrSrr)rr)rr-r$r-r])rrrprrrr`r rHrrrrr rrrr#rqrr/rrr) rqrXrrrcheckb1b2c1rrindicesrHs @rtest_ufunc_override_with_superz1TestSpecialMethods.test_ufunc_override_with_supersm 2 D2 D2 D2 D2 D2 D2 D 2 D2 D2 Dh * * * * * * * * * * IbMM IbMM  q ! ! F1IIq uz""###QVh_--- F11$   uz""###QVi!-...Q IbMM  q ! ! F1!   uz""###QV<<=== IbMM  q ! !BRWx!o...q ***BaRWy1#./// IbMM  q ! ! IbMM  q ! !A'''BaaRW!!Q@@AAA IbMM  q ! ! IbMM  q ! ! F1aQ   QQVAA3??@@@ IbMM ACC!!"&*a;;~MNNN!!"&*a;;~MNNNiA... FF1II!!"&*a;;~MNNN!!"&*a;;tCDDDq! $%%% Hiii+ , , FF1II EEGGQA3((( EEGGQA3((( HQKK  Q   EEaELLQQA3A3778881  M% % %a ( ( EEqaE QQA3A377888 aa (( FMM!!M $ $QA3((( M!   FMM!Qa ( (QQA3A377888!!!!!,, F  aa  ( (QA3((( M!   F  aD! , ,QQA3A377888))733 FOOAwQO / /QA3((( M!   FOOAw4 3 3QQA3A377888 Hiii+ , , FFHHMM!    %1a&1a&)2...  !q!fq!f%r***QA3((( HRLL  a  FFHHMM!    !q!fq!f%q)))QAq6*+++++r!ctjd}tjt5|dddn #1swxYwYtjt5|dddddn #1swxYwY|tjd||}t|||zdS)Nr$r-r)rrrr rrrr )rqrr8s rtest_array_ufunc_direct_callz/TestSpecialMethods.test_array_ufunc_direct_callOs: HQKK ]9 % %                     ]9 % % $ $  a # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ Aq993A&&&&&s#AAA3BBBN)rvrwrxr r;rCrIrOr]rhrxrrrr&r'rrrrrrrr rr%r-r9r>rYr[rr!rrr^ s,5M5M5Mn333" + + + ) ) ))')')'V ; ; ;???$ . . .***  [[4-88,,98," [[4-88,,98,& D D DKKK---4E"E"E"Ni=i=i=V6<6<6)r=rurr)rrrrtrr) rrr lcm issubclassunsignedintegerrrprrqr3rrs rrdz%TestRationalFunctions._test_lcm_innerss@ Hb#Ye , , , Hb#Ye , , ,RVAq\\B9---%!344 /,,,E:::A,,,E:::A 1tAv . . . H[[[ . . .RV]];;;//444 IaLL   & & RVAq\\#:#:#:;;;;;r!ctjddg|}tjddg|}ttj||ddgt |tjsWtjgd|}tjgd |}ttj||dgdztjgd |}ttj|d tjd |}d}ttj||gd dS)Nrurrrrrsr>(rurv)re#r?r)rr$r-r$r>r?) rrr gcdryrzrrprr{s rrmz%TestRationalFunctions._test_gcd_inners< Hb#Ye , , , Hb#Ye , , ,RVAq\\Ar7+++%!344 .,,,E:::A,,,E:::A 1s1u - - - H\\\ / / /RV]]1%%q))) IaLL   & & RVAq\\#;#;#;<<<<r=)rrr r"rPr r)rqr3rqs rtest_gcd_overflowz'TestRationalFunctions.test_gcd_overflowsh) - -Ebhuoo)**Aq& A AaC! , , , A2a4! , , , ,  - -r!cZddlm}tjgd|dz}tjgd|dz}t tj||d|dgzt tj||d|d gzdS) Nr)Decimal)r$r$r@r@z0.20)r$r@r$r@z0.12r>z0.04z0.60)rrrrr rrx)rqrrrs r test_decimalz"TestRationalFunctions.test_decimals###### H___ % % 7 H___ % % 7RVAq\\1ggfoo%6#6777RVAq\\1ggfoo%6#677777r!ctttjddtttjdddS)Ng333333?g?)r rrrrxrps r test_floatz TestRationalFunctions.test_floats4ic222ic22222r!cttjddzddztjddzdz}tjddzdzdg}ttj||ddzdgttj||ddzdzdzddzdzgttjddzd dzd dS) Nr-rsr?i-1l U9l`ir=r$)r rritemrrxrgs rtest_builtin_longz'TestRationalFunctions.test_builtin_longsRXaf%%**,,af555 HQVd] # # Haftm]3 4 4RVAq\\AsF,#GHHHRVAq\\AsFTMD$8!S&5.#IJJJRVAsFAsF++Q/////r!N)rvrwrxrfrjrnrprdrmrrrrrrr!rrbrbds((()))((()))<<<*===*+++---888333 0 0 0 0 0r!rbc eZdZdZdZdZdS)TestRoundingFunctionscDGdd}tj||g}ttj|ddgttj|ddgttj|ddgdS)z3 test direct implementation of these magic methods c eZdZdZdZdZdS)3TestRoundingFunctions.test_object_direct..CcdSrrrps r __floor__z=TestRoundingFunctions.test_object_direct..C.__floor__qr!cdSrbrrps r__ceil__z.C.__ceil__rr!cdS)Nr=rrps r __trunc__z=TestRoundingFunctions.test_object_direct..C.__trunc__rr!N)rvrwrxrrrrr!rr\rsA           r!r\r$r-r=N)rrr r~rCrrqr\rs rtest_object_directz(TestRoundingFunctions.test_object_directs        hQQSSz""RXc]]QF+++RWS\\QF+++RXc]]QF+++++r!cGdd}tj||g}ttj|ddgttj|ddgt jt5tj|ddddS#1swxYwYdS)z$ test implementations via __float__ ceZdZdZdS)5TestRoundingFunctions.test_object_indirect..CcdS)Nr#rrps r __float__z?TestRoundingFunctions.test_object_indirect..C.__float__r~r!N)rvrwrxrrr!rr\rr6r!r\rBrAN) rrr r~rCrr rrrs rtest_object_indirectz*TestRoundingFunctions.test_object_indirects        hQQSSz""RXc]]RH---RWS\\RH--- ]9 % %   HSMMM                  sB77B;>B;ctdd}ttj|dttj|dttj|ddS)NrCr=rAr@)rr rr~rCr)rqrs r test_fractionz#TestRoundingFunctions.test_fractions] ROORXa[["%%%RWQZZ$$$RXa[["%%%%%r!N)rvrwrxrrrrr!rrrsA , , ,   &&&&&r!rceZdZejejejejejej ej ej ej ej ejejejejejejgZdZejedejeddZejedejeddZejedejeddZdZejedejedejd ej ej!ej"gd Z#ej$d d Z%dS)TestComplexFunctionsc|jD]l}|tjurd}nd}||}|t|}t |j|d|zt |jdd|zmdS)NrQrz real part %srrz imag part %s)funcsrr5rr rarH)rqrrcfrfzs rtest_itzTestComplexFunctions.test_its I IABJ1B71::B ^a5G H H H H ^a5G H H H H H I Ir!gh23049rJz doesn't workc$d}|jD]}|tj|}|tj|}|tj|}t ||dd|zt ||dd|zdS)Nrrz fch-fcd %s)rrrez fch-fcl %s)rrcsinglecdouble clongdoubler )rqrrfcffcdfcls rtest_precisions_consistentz/TestComplexFunctions.test_precisions_consistents  P PA!BJqMM""C!BJqMM""C!BN1%%&&C S!\A=M N N N N S"lQ>N O O O O O  P Pr!cVttjdddddttjdddddttjdddddttjdddddttjdddddttjddgddgdddttjddgddgdddttj d d gddgdddttj d d gddgdddttj dd gddgdddttj ddgddgdddttjd d gddgddttjd d gddgddttj ddgddgddttj gd gd ddttj gdgdddttj gdgddddS)NrurRr$r@TrAr-r-rrAr-rrRrRr$rr-r-r$r$rRrr-r) _check_branch_cutrrrrrr8r!r"r%r^r5r9rps rtest_branch_cutsz%TestComplexFunctions.test_branch_cutss "&D"aT:::"'D"aT:::"(D"aT:::"(D"aT:::"'D"aT:::")r1X"b1b$GGG")r1X"b1b$GGG")dBZ1q'2q$GGG"*tbkA8RDIII"*Cj2)QDIII"*aj2r(Ar4HHH ")dBZ1q1a@@@")dBZ1q1a@@@")rAYR!Q???"*lllKKKAFFF"*mmm\\\1aHHH"*mmm\\\1aHHHHHr!c ttjdddddtjttjdddddtjttjdddddtjttjdddddtjttjdddddtjttjddgddgdddtjttj ddgddgdddtjttj d d gddgdddtjttj d d gddgdddtjttj dd gddgdddtjttj ddgddgdddtjttjd d gddgddd tjttj d d gddgddd tjttj ddgddgddd tjttj gd gdddd tjttj gdgdddd tjttj gdgdddd tjdS)NrurRr$r@TrrAr-rr-rFrrrrr)rrrrrrrr8r!r"r%r^r5r9rps rtest_branch_cuts_complex64z/TestComplexFunctions.test_branch_cuts_complex64"sn "&D"aT2<HHH"'D"aT2<HHH"(D"aT2<HHH"(D"aT2<HHH"'D"aT2<HHH")r1X"b1b$ UUU")r1X"b1b$ UUU")dBZ1q'2q$ UUU"*tbkA8RD",WWW"*Cj2)QD",WWW"*aj2r(Ar4VVV ")dBZ1q1a UUU")dBZ1q1a UUU")rAYR!Qr|TTT"*lllKKKAubl[[["*mmm\\\1aPRP\]]]"*mmm\\\1aPRP\]]]]]r!c ddl}gd}ddddddd }d tjtjz}|jD]}|jd d }|||} t||}n#t$rYVwxYw|D]f} t|tj | } || } tt| | z |k|d | d| d| gdS)Nr)yr\rZrasinacosatanasinhacoshatanh)r!r"r%r^r5r9r>.r@ z: z ; cmath: )cmathrrrepsrrvsplitgetrAttributeErrorrKrrb) rqrpointsname_mapatolrfnamecnamecfuncrVrrs rtest_against_cmathz'TestComplexFunctions.test_against_cmath=sI ---$&&7wPP'""&&J V VDM'',,R0ELL..E u--!     V VDDQ0011E!HHAE T)UUUAAAqqqRSRS+TUUUU V V Vs3B BBr3cH tj}djj |j  fd}tjddd}tjdddd }tjur2trtj d ||d zn||d z||d zdz tj dg}d}tj dtj ||z z }ttj|dkd}tj dtj||z z }ttj|dkd}tj dtj||z z }ttj|dkd}tj dtj||z z }ttj|dkd fd }tjtjtjtj tjfD]5} ddD} || | d|| | d|| | d6dS)z1Check loss of precision in complex arc* functionsrc.|}|}tjtj|tj|jz dz }t tj||ktj||tj||dfd|z}tjtj|tj |j z dz }t tj||ktj||tj||df|}tjtj |tj |jz dz }t tj||ktj||tj||dfd|z}tjtj |tj |j z dz }t tj||ktj||tj||dfdS)Nr$r^rRr!r9r%) rrr|r^rarr`argmaxr#r!rHr9r%)rcrtolrrr3 real_dtypes rrTz:TestComplexFunctions.test_loss_of_precision..check\sL$$AA BJqMM"*Q--*<h㈵>ryg݈>+j鈵>r$r|yi戵>Sh>y+j鈵>g݈>ySh>i戵>ctj|}|t||zzdzz}|t||zzdzz }ttj||k||ft||||z dzk}ttj||||fdS)Nrr-)rrrbrr`)rz0rzpzmgoodr3rs rrTz:TestComplexFunctions.test_loss_of_precision..checksBe,,,Bc"ggkC'!++Bc"ggkC'!++B BF28$$r2h / / /R4488+,,qu4D BF4LL4TE"3 4 4 4 4 4r!c@g|]}dD]}|dks|dk|d|zzS)gMbPrrrrRr)rrpips rr z?TestComplexFunctions.test_loss_of_precision..sI***@P**2Aggqbe8!(r!rrRrNr#)rrrar3rlogspace longcomplexrfrr{rr|r9rr`r^r%r!) rqr3rHrTx_seriesx_basicrrVrrptsrrs ` @@rtest_loss_of_precisionz+TestComplexFunctions.test_loss_of_precisionPsxU2YY^) h 1 1 1 1 1 14;sFC00+fae<<< BN " "}} ; :;;; E(DH % % % % E(CG $ $ $ gs3wt|$$$ Hk]% 0 0 0 > K"*Q--/) * *q5y!!""" ? K"*Q--/) * *q5y!!""" > K")A,,q.( ) )q5y!!""" ? K")A,,q.( ) )q5y!!""" 5 5 5 5 5 5 5ZRY BIN # #D**&6***C E$Q    E$R E$T " " " "  # #r!rjrcF|jD]}|tjdjtjksJ|tjdjtjksJ|tjdjtjksJdSr)rrrr3rr`r%)rqrs rtest_promotion_corner_casesz0TestComplexFunctions.test_promotion_corner_casessJ 9 9D4 1 &&, ::::4 $$*bj88884 $$*bj88888  9 9r!N)&rvrwrxrr!r"r%r^r5r9rrrr>rrr8rrrrrrr&rrrrrrrr'rrKrrr_rrr!rrrs* YRY BJ ZRVBF WRWBG X E I I I [wy11 [w~66PP7621P [wy11 [w~66II7621I2 [wy11 [w~66^^7621^2VVV& [wy11 [w~66 [Wr|R[".&QRRW#W#SR7621W#rR[X99999r!rceZdZdZdZdS)TestAttributesc"tj}t|jdt |jdkt d|jvt|jdt|jdt|j ddS)Nrzii->ir-r$r) r}rr rvrntypesr+r&r1r)rqrs rtest_attributeszTestAttributes.test_attributessgS\5))) b !!!39$%%%SWa   SXq!!!S\1%%%%%r!cttjjdttjjddS)Nz&add(x1, x2, /, out=None, *, where=Truez.simplec~tj||t}|d|S)Nrr)rrrrfill)subtyperbrqs rrz5TestSubclass.test_subclass_op..simple.__new__s2z))'5)GG !  r!N)rvrwrxrrr!rsimplers#     r!r)r=r>)rrr )rqrrs rtest_subclass_opzTestSubclass.test_subclass_opsW     RZ    F6NNQqS!r!N)rvrwrxrrr!rrrs#     r!rceZdZdZdS)TestFrompyfuncc,d}tj|dddtgddttjdd dtgdtj|dddtgddttjdd dt t fd tj|dd tgddt t fd t t fd dS)Nc ||zSr6r)rrs rmulz)TestFrompyfunc.test_identity..muls q5Lr!r-r$)r&r1r)r-r=r>r-r-rr$rc.gSr6r mul_ufuncsrr9z.TestFrompyfunc.test_identity..)*:*:2*>*>r!)r&r1cVtjddS)Nrr r)rrrr srr9z.TestFrompyfunc.test_identity..s#)*:*:276??QW*:*X*Xr!c.gSr6rr srr9z.TestFrompyfunc.test_identity..r r!)rrr rrr r)rqrr s @rrzTestFrompyfunc.test_identitys   M#11qAAA Y%%iii00"555Y%%bgfooF%CCQGGGY%%b))1---M#11tDDD Y%%iii00"555Y%%bgfooF%CCQGGGj">">">">???M#11555 Y%%iii00"555j"X"X"X"XYYYj">">">">?????r!N)rvrwrxrrr!rrrs(@@@@@r!rr$r@Fc tj||}tj||}tj|jdkr1tj|jdz}tjd}ntj|jdz}d}||} ||||ztj|ztj|z z} ||||ztj|ztj|z z } ttj tj| j | j z |k| | fttj tj| j | j z |k| | fttj tj| j | j |zz |k| | fttj tj| j | j |zz |k| | f|r|j dk|j dkz} |j dk|j dkz} tj | r|| }tj|_ ||} ttj tj| | j | j |zz |k| | | fttj tj| | j | j |zz |k| | | ftj | r|| }tj|_ ||} ttj tj| | j | j |zz |k| | | fttj tj| | j | j |zz |k| | | fdSdSdS)aR Check for a branch cut in a function. Assert that `x0` lies on a branch cut of function `f` and `f` is continuous from the direction `dx`. Parameters ---------- f : func Function to check x0 : array-like Point on branch cut dx : array-like Direction to check continuity in re_sign, im_sign : {1, -1} Change of sign of the real or imaginary part expected sig_zero_ok : bool Whether to check if the branch cut respects signed zero (if applicable) dtype : dtype Dtype to check (should be complex) Frrrg-C6?rN)r atleast_1drr3rrrr%r|rr`rarHrr)rx0dxre_signim_sign sig_zero_okr3scalery0ypymjrjircs rrrs0 r   ! !% ( (B r   ! !% ( (B xs""#c)z$#c) 2B 25R(R8 8 9 9B 25R(R8 8 9 9B BF2;rw011D8 9 9B8DDD BF2;rw011D8 9 9B8DDD BF2;rw899D@ A AB8LLL BF2;rw899D@ A AB8LLL]glrw!| ,glrw!| , 6":: ]2AXAF1B BF2;r"v{RWW_'DEELMMPRSUPVXZ| \ \ \ BF2;r"v{RWW_'DEELMMPRSUPVXZ| \ \ \ 6":: ]2AXAF1B BF2;r"v{RWW_'DEELMMPRSUPVXZ| \ \ \ BF2;r"v{RWW_'DEELMMPRSUPVXZ| \ \ \ \ \!]] ] ]r!cJttjdddktjd5tdtjddz dktdtjddz dkdddn #1swxYwYttjtjtjdttjtjtjd dS)Nr$r@rjrTr)rrcopysignr_rrrr!r test_copysignr ,s( BK2  " $%%% H % % %++BK2&&&*+++BK1%%%)***+++++++++++++++ BJr{262.. / /000  2;rvq1122 233333sABB"Bcb|d}|d}|d}tj|j}ttj|||z |kttj|||z dkttjtjtj|ttjtj|tjttj|||kdSr)rrrrrrr)rrTrrrs r_test_nextafterr"4s !A$$C !A$$C 1Q44D (1++/C BLc " "S (C /000 BLd # #c )A -... BHR\"&#.. / /000 BHR\#rv.. / /000 BLc " "c )*****r!c4ttjSr6)r"rr8rr!rtest_nextafterr$? 2: & &&r!c4ttjSr6)r"rr%rr!rtest_nextafterfr'Cr%r!zlong double is same as doublerJppc64zIBM double double) conditionrKc4ttjSr6)r"rrrr!rtest_nextafterlr+Gs 2= ) ))r!c ztjtjddD]\}}t 5}|t tjtj|j s^tj|j }td|tj |d||zcxko|kncdddn #1swxYwYttj |d|||dz |dzdS)Nrrrrr) rrrr(rr UserWarningrrrrrr )r directionrrs rtest_nextafter_0r/Os~!)"*W*=wGG Q Q 9  NC JJ{ # # #8BHQKK,-- Nx{{'R\!!A$$) %E%EELLLLLLLLNNN  N N N N N N N N N N N N N N N R\!!A$$) 55#> CPPPP Q QsB$C**C. 1C. c|d}tj|j}|tj}|tj}tjd5t tj||ttj tj|ttj tj|ttj tj| ttj|ddkddddS#1swxYwYdS)Nr$rjrkgꌠ9Y>)Fr) rrrrrr_r rBrr)rrTrrrs r _test_spacingr1[sT !A$$C (1++/C !BF))C !BF))C X & & &**RZ__c***C))***C))***SD))**+++ 11T77##q())) ******************s$C+EE #E c4ttjSr6)r1rr8rr!r test_spacingr3g  $ $$r!c4ttjSr6)r1rr%rr!r test_spacingfr6jr4r!c4ttjSr6)r1rrrr!r test_spacinglr8ns  ' ''r!ctjgdtjgdi}ttjtjgdD]G\}}tjgd|}t tj||||HdS)N)g;ggK8?gP?)rGr)h㈵>r$ri)rr)rr8r%rrrrB)refrrrcs rtest_spacing_gfortranr<us" :222 :(((  )CRZ0(;;HHD H+++2 6 6 6!"*Q--R$GGGGGHHr!ctjtjfD][}dD]V}||}||dz}ttj|||z tj|kW\dS)N)r$r:rr$)rr%r8rrrB)r_frf1s rtest_nextafter_vs_spacingr@sj"* %>>! > >B"A26B BLB''!+rz!}}< = = = = >>>r!cdttjtjdkdS)zCheck np.nan is a positive nan.rN)rrrrrr!r test_pos_nanrBs' BJrv  ! #$$$$$r!cNtjddtjfdtjfg}tjdg|}d|d<d|d<d|d<gd }g}|d }|d d D]D}|tj|d|||}E|tj|d|d tj|}tj |d|}t||tj d tj |d|}tj tj t||d S)z;Test bug in reduceat when structured arrays are not copied.)r}S11timerr?rSimpler}rG)rrrer~rr$Nr) rr3r r%rrrrrrr setbufsizeUFUNC_BUFSIZE_DEFAULT)dbrindxh2rJrKh1s r test_reduceatrMsr ?VRX$6"*8MN O OB #b!!!AAfIAfIAgJ >>D B 7DQRR "&--' 49 566777IIbfmmAgJtuu-../// "B 7T * *Bb"%%%M" 7T * *BM"*+++b"%%%%%r!cdtjgd}tjgd}tj||}t |j|jt |jdtjd}tj|gd}t |j|jt |jdtj|gd}t |j|jt |jd d S) z&Reduceat should work with empty arraysi4f8)r)r?r-rrrr$)r?rN)rrrrr r3rbr)rXrcrs rtest_reduceat_emptyrQshr4  G TA V__Q ( (Fqw'''t$$$ A V__Q_ + +Fqw'''v&&& V__Q_ + +Fqw'''v&&&&&r!c ttjdtdtjttjtjg}tddtddtddtddtddtddtddg}tjd5||zD]}tj|g}||zD]}tj|g}tj|rtj|r@t ||kd|d|t ||kd|d |t ||kd|d |t ||kd|d |t ||kd|d |Ȍ ddddS#1swxYwYdS) Nrr$r@rjrkFz < rz > z <= z >= z == )rrrr_rrVr )nansfinsrcrs rtest_complex_nan_comparisonsrUs= BFA  26 2 2GBFBF4K4K LD AqMM72q>>71a=='!R.. AqMM72r??GAqMM ;D X & & & I I I IA! AD[ I IHaSMM;q>>bk!nnQUE113EFFFFQUE113EFFFFQ!VU!!!QQ4GHHHHQ!VU!!!QQ4GHHHHQ!VU!!!QQ4GHHHHH I I I I I I I I I I I I I I I I I I I IsC+GGGcd}t|tt|t|tj|dS)Nl*n)r rrrr})vals rtest_rint_big_intrXsC Cc%**oo&&&bgcll#####r!ftypecJtjgd|}tjgd|}tjgd|}ttj||ttj||dS)N)Q?333333?p= ף?= ףp=?RQ?r)r[r[r]r]r])r[r\r\r^r_)rrr r#r/rV)rYrout_maxout_mins rtest_memoverlap_accumulaterbs (111 ? ? ?Ch555UCCCGh555UCCCG&&s++W555&&s++W55555r!z ufunc, dtypecbg|],}|jD]"}|ddk|ddv||df#-S)r@r{rDFGMmOr*rrrs rr r s^*** [** u||!H,, AaDM-,,,r!c |jrtjddD]}tjgd|z|}||d}|tj}tjttj||tj}t||dS)NFor generic signatures onlyr-rrrrr)rr$r$rr{) rrr{rrr/rrrrr )rr3rraccacc_u8r>s rtest_memoverlap_accumulate_cmprks 3 1222(""hyyy~U333s#.."(##htI0e<<==RXNNNS&!!!! ""r!cg|]D}|jD]:}|d|dk|d|dk&|ddv0||df;ES)rr$r@zDFGMmO?r*res rr r ss*** [** tqt||!" !A$i*?*? AaDM+@*?*?*?r!c |jrtjdtjd5dD]}tjgd|z|}|||}tjttj|||}t|| ddddS#1swxYwYdS)Nrgrjrrhrr$r-r) rrr{rr_rrr/rrr )rr3rrrir>s r$test_memoverlap_accumulate_symmetricros# 3 1222  " " "##, # #D(999T>**11%88C""3e"44C(4 4S% @ @AAOOOC c " " " "  ###################sBCCCct5tjddd}tj|ddddS#1swxYwYdS)Nrr%s)rbr3buffer)rrrrr$s rtest_signaling_nan_exceptionsrrs    JRy9L M M M  s,AA A rr-r?cGddtj}tj||||}|jjdksJdS)NceZdZdS))test_outer_subclass_preserve..fooN)rvrwrxrr!rrrusr!r)rrrArrrrv)rractuals rtest_outer_subclass_preserverwsh bj [  sxx}}chhsmm < .BadArr1c>|jdkr|jdz|_dSdS)Nr=r#)ndimrbrss r__array_finalize__z;test_outer_bad_subclass..BadArr1.__array_finalize__%s&yA~~!Z$. ~r!Nc|Sr6rrs rrz:test_outer_bad_subclass..BadArr1.__array_prepare__*Jr!r6rvrwrxr}rrr!rBadArr1rz$s7 / / /       r!rc"eZdZfdZddZdS)(test_outer_bad_subclass..BadArr2c|t|r(|jddkr|jddd|_dSdSdS)Nr@r$)rrb)rqrBadArr2s rr}z;test_outer_bad_subclass..BadArr2.__array_finalize__.sN#w'' 2:b>Q&&!%DDbD!1DJJJ 2 2&&r!Nc|Sr6rrs rrz:test_outer_bad_subclass..BadArr2.__array_prepare__4rr!r6r)rsrrr-sB 2 2 2 2 2       r!r)r-r=r$r-) rrrrr rrrr)rrrrrs @rtest_outer_bad_subclassr#sg"*"*!66gfoo""3'' 9 % % & FLLq!f % % % & & & & & & & & & & & & & & & gfoo""3''BFLL!Q--..#5555566s5#B$$B( +B( ctjd}tt5tj||ddddS#1swxYwYdS)N)r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$r$)rrr rrr)deeps rtest_outer_exceeds_maxdimsrAs 79  D z " "!!  T4   !!!!!!!!!!!!!!!!!!s!AAAc:tjdtj}t jt d5tj||dddn #1swxYwYt jt d5| d dddddddf}tj||dddn #1swxYwYt jt d5tj ||dddn #1swxYwYt jt d5tj |dddn #1swxYwYt jt d5tj |dd gdddn #1swxYwYt jt d5tj|dddn #1swxYwYt jt d5tj|gd |ddddS#1swxYwYdS) Nr=How unexpected :\)!rrr@rr-rr$rn)rrprr8rr rer always_errorrreshaperrrr/r)r non_contigs r#test_bad_legacy_ufunc_silent_errorsrFs )A,,  bj ) )C |+A B B B))sC((())))))))))))))) |+A B B B00ZZ^^++B22111ccc6: z3///000000000000000 |+A B B B//$$S#.../////////////// |+A B B B++%%c***+++++++++++++++ |+A B B B55''aV444555555555555555 |+A B B B//))#.../////////////// |+A B B B77!!#yyy#666777777777777777777s A//A36A3A C--C14C1!EEE& FFF8#G''G+.G+ H99H=H=$JJJx1r.)rr]r(ctjtd5tj|dddddS#1swxYwYdS)Nrrr)rr reralways_error_gufunc)rs r$test_bad_legacy_gufunc_silent_errorsrds |+A B B B//%b#...//////////////////s?AA)rVrr+rrrrr% fractionsr functoolsr collectionsrnumpy.core.umathcoreumathr} numpy.corerrnumpyr numpy.testingrr r r r r rrrrrrrrrnumpy.testing._private.utilsr__dict__valuesUFUNCS UFUNCS_UNARYrL UFUNCS_BINARYUFUNCS_BINARY_ACCrRrZrfrhrzrrr5r<rrrrr!r,ryrrrrrrrNrirqrrrrrrrrrrrrrrrrrr rTrarlrtrrrrrrrrrrrr]rbrrrrrrrr r"r$r'r&rrdoublerrrXrYr+r/r1r3r6r8r<r@rBrMrQrUrXr'r%r8rbrkrorrrpmatrixrwrrrrrr!rrs """"""000000 ;::::: ' '/6688 ' ' '  555p000 ((($!!!!!!!!DDDDDDDD{:{:{:{:{:{:{:{:|b/b/b/b/b/b/b/b/J&&&&&&&&z'z'z'z'z'z'z'z'x777OHOHOHOHOHOHOHOHdF;F;F;F;F;F;F;F;R 0 0 0 0 0 0 0 0k,k,k,k,k,k,k,k,\AAAAAAAA55555555@11111111-<-<-<-<-<_-<-<-<`,a,a,a,a,a,a,a,a\ZZZZZZZZ([[[[[[[[z ?<?<?<?<?<?<?<?( ( ( ( ( ( ( ( VD<D<D<D<D<D<D<D>>%%%&&&8''' III*$$$2:rz":;;66<;6**"*** ""  "**"*** ##  #  BIaLL BIq!f BI1v1v! ..  . 666<!!! 777<  #@AA//BA///r!