1j"dZddlZddlZddlZddlmZejdddZej ed d Z ej d ej d d Zej d ej ddZej dejejejgdZdZdZdZdZej dejejgej dddgdZdZdS)z This file adds basic tests to test the NEP 50 style promotion compatibility mode. Most of these test are likely to be simply deleted again once NEP 50 is adopted in the main test suite. A few may be moved elsewhere. N)IS_WASMmoduleT)scopeautousec#Ktj}tjddVtj|dS)N weak_and_warn)np_get_promotion_state_set_promotion_state)states z/builddir/build/BUILD/cloudlinux-venv-1.0.11/venv/lib64/python3.11/site-packages/numpy/core/tests/test_nep50_promotions.py_weak_promotion_enabledrsE  # % %EO,,, EEEE"""""z'wasm doesn't have support for fp errors)reasonctjtd5tjddz}dddn #1swxYwY|jtjksJtjtd5tjdgtjtjdz}dddn #1swxYwY|jtjksJtjtd5tjdgtjtjdtjz}dddn #1swxYwY|jtjksJtjtd5tjd5tjdd z}dddn #1swxYwYdddn #1swxYwY|jtjksJtjt5}tj dd z}dddn #1swxYwYt| tj }|dsJt| tj }|d sJt!|d ksJtj|sJ|jtj ksJtjd gtj tjd k}|d dksJtjtd5tjd gtj tjd z}dddn #1swxYwY|jtjksJtjtd5tjdgtj tjdz}dddn #1swxYwY|jtjksJdS)Nresult dtype changedmatchdtyperaiseoverdg;%_nToverflowrg?F?)pytestwarns UserWarningr uint8rarrayint64errstateWarningfloat32strpopmessage startswithRuntimeWarninglenisinffloat64)resrecwarnwarnings r test_nep50_examplesr5s k)? @ @ @hqkkAo 9 k)? @ @ @44hsBH%% 3444444444444444 9 k)? @ @ @DDhsBH%%"((C(C(CCDDDDDDDDDDDDDDD 9 k)? @ @ @&&[g & & & & &(3--#%C & & & & & & & & & & & & & & &&&&&&&&&&&&&&&& 9 g  $'jmme#$$$$$$$$$$$$$$$'++k**233G   4 5 555 5'++n--566G   j ) ))) ) w<<1     8C=== 9 " " " " (C5"* % %C 8C q6U???? k)? @ @ @<<hubj))BJsOO;<<<<<<<<<<<<<<< 9 " " " " k)? @ @ @77htRZ((28A;;6777777777777777 9 " " " " " "sAAA=6B??CCH;)6N++N/2N/(6P**P.1P.r AllIntegerctjdtj|j}t tj|j}tjd5tj t5|d|z}dddn #1swxYwYdddn #1swxYwY|j|ksJtj d||z}|j|ksJdS)Nweakwarnrrr) r r rtypeintiinfomaxr'r!r"r.r%)r scalar_typemaxintr2s r test_nep50_weak_integersr@FsgF###(5//&K %$ % %F & ! ! !,, \. ) ) , ,+c""V+C , , , , , , , , , , , , , , ,,,,,,,,,,,,,,,, 9     (3e $ $ $v -C 9      s6)B5B B5B" "B5%B" &B55B9<B9AllFloatctjdtj|j}t tj|jdz}|dvrtjt5|d|zdddn #1swxYwYtjt5tj d||zddddS#1swxYwYdS|dvr5 t|n$#t$rtj dYnwxYwtjt5|d|z}dddn #1swxYwY|j|ksJ|tjksJtjt5tjtj d|||}dddn #1swxYwY|j|ksJ|tjksJdS)Nr8rdDGrrgGz)`huge_int -> string -> longdouble` failed)r r rr:r;finfor=r!raises OverflowErrorr%r* ValueErrorskipr"r.infadd)rr> too_big_intr2s r %test_nep50_weak_integers_with_inexactrMYs F###(5//&Kbhuoo)**Q.K ~~]= ) ) ) ) KNN[ ( ( ) ) ) ) ) ) ) ) ) ) ) ) ) ) )]= ) ) 3 3 HQe $ $ ${ 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 D== IK     I I I GHHHHH I\. ) ) / /+a..;.C / / / / / / / / / / / / / / /yE!!!!bf}}}} \. ) ) M M&!5111;eLLLC  M M M M M M M M M M M M M M M yE!!!!bf}}}}}}sZ4BBB3CC!C,C<<DD9EEE,GGGopc,tjd|tjdd}||ddksJ|jtjks|jtksJt jt5|tjdddddn #1swxYwY|tjdd}||ddksJ|jtjks|jtksJdSdS)Nr8r ig@g@) r r r$rboolr!rFrGr))rNr2s r test_weak_promotion_scalar_pathrRsJF### "RXa[[!  C ""Q((???? 9 CI$5$5$5 5 } % % 28A;; "RZ]]B  C ""R**     9 " "ci4&7&7&7 7 " "&7&7sB00B47B4c tjdtjtd5tjdt ddzz}dddn #1swxYwYt|tjksJdS)Nr8z .*overflowrr r,)r r r!r"r. complex64complexr:r2s r test_nep50_complex_promotionrXsF### nL 9 9 900l1oo3/000000000000000 99 $ $ $ $ $ $s(A$$A(+A(ctjdtjtd5tjdgtjdzdddn #1swxYwYtjtd5tjddzdddn #1swxYwYtjtd5tjddzddddS#1swxYwYdS)Nr8z.*uint8rrrTz)Python integer -1 out of bounds for uint8)r r r!rFrGr%r$rr $test_nep50_integer_conversion_errorsr\sF### }I 6 6 6&& !bh#%%&&&&&&&&&&&&&&& }I 6 6 6  c }= ? ? ?  bs5$A  A$'A$B**B.1B.C55C9<C9ctjdtjd}|dzjtjksJ|ddzjtjksJdS)Nlegacyrr[)r r r%rr1)arrs r test_nep50_integer_regressionras`H%%% (1++C %K "* , , , , GeO "bj 0 0 0 0 0 0rctjdtjt5tjtjdtjdfddddS#1swxYwYdS)Nr8rPr)r r r!rFrGr_arangeint8r[rr test_nep50_with_axisconcatenatorrgsF### } % %00 bi)))3.//000000000000000000s3A..A25A2ufuncr r8rc`tj|tjt5|tjdddddn #1swxYwY|dkrtjtd5tjt5|tjdddddn #1swxYwYdddn #1swxYwYnOtjt5|tjdddddn #1swxYwY|dkrRtjtd5|tjdd}dddn #1swxYwYn|tjdd}|j tjksJ||ddtksJtjt5|tjdddddn #1swxYwYtjt5|tjdd d zdddn #1swxYwY|d d d z}t|tj sJdS) Nrr_rz%result dtype changed.*float64.*uint64rlrrrrr) r r r!rFrGr&r"r#uint64robject isinstancer1)rhr r2s r test_nep50_huge_integersrms8 E""" } % %"" bhqkk5!!!"""""""""""""""  \+=??? + +}-- + +billE*** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]= ) ) ' ' E")A,, & & & ' ' ' ' ' ' ' ' ' ' ' ' ' ' '  \+=??? - -% ! e,,C - - - - - - - - - - - - - - -eBIaLL%(( 9 ! ! ! ! %%5/// / / / / } % %"" bhqkk5!!!""""""""""""""" } % %## bhqkk1c6"""############### %QV  C c2: & &&& &&&sAA AC!C > C! C C!C C!!C%(C%D11D58D5FF F ;H&&H*-H* "I88I<?I<ctjdtjtd5tjtjddgd}dddn #1swxYwY|jdksJtjtd5tjdtjddg}dddn #1swxYwY|jdksJdS)Nrrrrr)axisr)) r r r!r"r# concatenater)rchooserWs r test_nep50_in_concat_and_chooserrsTO,,, k)? @ @ @==nbjmmR0t<<<=============== 9 ! ! ! ! k)? @ @ @00iBJqMM2.//000000000000000 9 ! ! ! ! ! !s#+A''A+.A+*CCC)__doc__operatornumpyr r! numpy.testingrfixturermarkskipifr5 parametrize typecodesr@rMrKpoweqrRrXr\rargpowerrmrrr[rr rs  !!!!!!h---##.-#G$MNN+#+#ON+#\",|"<==>=$",z":;;''<;'T hlHKHII88JI8$%%%    1110002628"4556?";<<&'&'=<65&'R " " " " "r