idGddlZddlmZmZmZmZmZmZmZm Z m Z m Z m Z m Z mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZddlmZGddejZ dS)N)ExprOpArithOpLanguage as_symbol as_number as_stringas_array as_complexas_terms as_factorseliminate_quotes insert_quotes fromstringas_expras_applyas_numer_denom as_ternaryas_refas_deref normalizeas_eqas_neas_ltas_gtas_leas_ge)utilcPeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d S) TestSymboliccd}dD]e}||dz||dz|zdz||dz||dz|zdz||dz|d |zd zfdS) NcJt|\}}t||}dSN)rr)srds1s S/opt/cloudlinux/venv/lib/python3.11/site-packages/numpy/f2py/tests/test_symbolic.pyworkerz2TestSymbolic.test_eliminate_quotes..worker%s&#A&&DAqq!$$BBB)mykind_z"1234" // "ABCD"z "1234" // z"ABCD"z"1234" // 'ABCD'z'ABCD'z "1\"2'AB'34"za = z '1\'2"AB"34')selfr*kinds r)test_eliminate_quotesz"TestSymbolic.test_eliminate_quotes$s    $ 6 6D F4,, - - - F4,&-8 9 9 9 F4.. / / / F4,&-8 9 9 9 F4++ , , , F6D=#44 5 5 5 5  6 6r+ctd}td}td}td}td}td}td}tdd }td d } td } td } t ||f} t |f} t |}t |}t |}t |}t|||}t|||}t||}t||}dS)Nxyz{g(@gF@rz'123'"ABC") rrr r r r r rrr)r/r3r4r5nmfnfmcc2r%s2abtuvwefs r) test_sanityzTestSymbolic.test_sanity2s# cNN cNN cNN cNN cNNt__ t__ q!   1   g   w   aV   aUOO QKK QKK qMM qMM q!Q   q!Q   !QKK !QKKr+c td}td}td}td}td}t||f}t||}t t j|dt t j|d|didi}t t j|dt t j|d|didi}dS) Nr3r4r5r6r7r8rr9)rrr r rrFACTORSTERMS) r/r3r4r5r<r=rCr@rGs r)test_tostring_fortranz"TestSymbolic.test_tostring_fortrans cNN cNN cNN cNN cNN aV   q!  0 aDAq!Q<$@$@!D E E aDaAq\$B$BAF G Gr+ctj}td}td}td}td}dS)Nr3r4r5r6)rCrr)r/languager3r4r5r<s r)test_tostring_czTestSymbolic.test_tostring_cs9: cNN cNN cNN cNNr+ctd}td}td}td}td}tdd}dS)Nr3r4r5r;"123"g?g@)rr r )r/r3r4r5r%rEr@s r)test_operationszTestSymbolic.test_operationssU cNN cNN cNNb g   g   sC r+ctd}td}td}t||f}dS)Nr3r4r5)rr )r/r3r4r5rCs r)test_substitutezTestSymbolic.test_substitutes8 cNN cNN cNN aV  r+ctd}td}td}td}td}td}t||f}dS)Nr3r4r5rJr;rU)rr r )r/r3r4r5rJr%rErCs r)test_fromstringzTestSymbolic.test_fromstring&s] cNN cNN cNN cNN g   g   aV  r+c td td}td}td}|f fd }tt  fd} || |z z|d}t || |z z| d}t || |z z| dS) Nr3r4r5rJc|kr|SdSr$r.)r%r&r3s r) replace_visitz1TestSymbolic.test_traverse..replace_visitsAvvvr+c |jtjur?|jd}||vr|dSdS|jtjur|vr|dSdSdS)Nr)oprAPPLYdataaddremoveSYMBOL)r%operfunction_symbolssymbolss r)collect_symbolsz3TestSymbolic.test_traverse..collect_symbolsstrxvay $$T***7??NN4(((((#?""q0@'@'@ A#"'@'@r+cZ|jtjur||dSdSr$)r_rrdrbexprrgs r)collect_symbols2z4TestSymbolic.test_traverse..collect_symbols2s1w")## D!!!!!$#r+c|jtjur|S|jtjur||dSdSr$)r_rr`rdrbrjs r)collect_symbols3z4TestSymbolic.test_traverse..collect_symbols3sEw"("" w")## D!!!!!$#r+)rsettraverse) r/r4r5rJr]rhrlrnrfrgr3s @@@r) test_traversezTestSymbolic.test_traverses; cNN cNN cNN cNN !      $55%%       QQq!a%[[""?333  " " "%% QQq!a%[[""#3W=== " " "%% QQq!a%[[""#3W=====r+ctdtd}td}tjtfddS)Nr3r4r5c4zSr$) linear_solve)r3sr)z0TestSymbolic.test_linear_solve..sQU,@,@,C,Cr+)rpytestraises RuntimeError)r/r4r5r3s @r)test_linear_solvezTestSymbolic.test_linear_solvesH cNN cNN cNN  l$C$C$C$CDDDDDr+c`td}td}td}dSNr3r4r6rrr/r3r4r<s r)test_as_numer_denomz TestSymbolic.test_as_numer_denom' cNN cNN cNNr+c`td}td}td}dSr{r|r}s r)test_polynomial_atomsz"TestSymbolic.test_polynomial_atomsrr+N)__name__ __module__ __qualname__r1rKrOrSrVrXrZrqryr~rr.r+r)r!r!#s 6 6 6O#O#O#b/././.bCCC@>->->-@EEE$\P\P\P|<<<|EEE( L L L 6 6 6 6 6r+r!)!rvnumpy.f2py.symbolicrrrrrrr r r r r rrrrrrrrrrrrrrrrr,rF2PyTestr!r.r+r)rs :K6K6K6K6K64=K6K6K6K6K6r+