+
    ilH                     r   ^ RI Ht ^ RIHtHtHtHtHtHtH	t	 ^ RI
Ht ^ RIHt ^ RIHtHt ^ RIHtHtHt ^ RIHt ^ RIt]! R	4      w  tttR
 tR tR tR tR t]R 4       t R t!R t"R t#R t$R t%R t&R t']R 4       t(R t)R t*R t+R t,R t-R t.R t/R t0R  t1R! t2R" t3R# t4R$ t5R% t6R& t7R' t8R( t9R) t:R# )*    )StringIO)SsymbolsEqpiCatalan
EulerGammaFunction)Equality)	Piecewise)MatrixMatrixSymbol)JuliaCodeGencodegenmake_routine)XFAILNzx,y,zc                      \        4       p \        4       pV P                  . VR RRR7       VP                  4       pVR8X  g   Q hR# )fileFheaderempty N)r   r   dump_jlgetvalue)code_genoutputsources      f/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/utilities/tests/test_codegen_julia.pytest_empty_jl_coder      sA    ~HZFRUC__FR<<    c                      R \         \        ,           \        ,          3p \        V RRRR7      w  pV^ ,          R8X  g   Q hV^,          pRpW#8X  g   Q hR# )testJuliaFr   test.jlzCfunction test(x, y, z)
    out1 = z .* (x + y)
    return out1
end
Nxyzr   	name_exprresultr   expecteds       r   test_jl_simple_coder-      sY    !a%#IieDGF!9	!!!AYF	  r    c                      R \         \        ,           \        ,          3p \        V RRRR7      w  pV^ ,          R8X  g   Q hV^,          pR\        P
                  ,           R,           pW#8X  g   Q hR# )	r"   r#   TFr   r$   #   Code generated with SymPy z
#
#   See http://www.sympy.org/ for more information.
#
#   This file is part of 'project'
function test(x, y, z)
    out1 = z .* (x + y)
    return out1
end
N)r&   r'   r(   r   sympy__version__r)   s       r   test_jl_simple_code_with_headerr2   %   sm    !a%#IiUCGF!9	!!!AYF(5+<+<< @ 	  r    c                      \        \        \        \        ,           4      p R V 3p\	        VRRRR7      w  pV^,          pRpW48X  g   Q hR# )r"   r#   Fr   z3function test(x, y)
    z = x + y
    return z
end
N)r   r(   r&   r'   r   exprr*   r+   r   r,   s        r   test_jl_simple_code_nameoutr6   8   sN    AADIieDGFAYF	  r    c                  t    R \         \        ,          3p \        V RRRR7      w  pV^,          pRpW#8X  g   Q hR# )r"   r#   Fr   z<function test()
    out1 = pi ^ catalan
    return out1
end
N)r   r   r   r)   s       r   test_jl_numbersymbolr8   F   sC    W%IieDGFAYF	  r    c                      R \         \        ,          \        .3p \        V RRRRR7      w  pV^,          pRpW#8X  g   Q hR# )r"   r#   Fr   r   inlinezfunction test()
    Catalan = 0.915965594177219
    EulerGamma = 0.5772156649015329
    out1 = pi ^ Catalan
    out2 = EulerGamma
    return out1, out2
end
N)r   r   r	   r   r)   s       r   test_jl_numbersymbol_no_inliner<   S   sO     "g+z23Ii!%1GFAYF	  r    c                      \         \        ,           p \        R V \        \         \        .RR7      p\	        4       p\        4       pVP                  V.VR RRR7       VP                  4       pRpWE8X  g   Q hR# )r"   julia)argument_sequencelanguageFr   z<function test(z, x, y)
    out1 = x + y
    return out1
end
N)r&   r'   r   r(   r   r   r   r   )r5   routiner   r   r   r,   s         r   test_jl_code_argument_orderrB   f   sn    q5D64Aq!9wWG~HZFgYuEJ__F	  r    c                      \         \        ,           \        ,          p \         \        ,
          \        ,          pR W.3p\        VRRRR7      w  pV^,          pRpWE8X  g   Q hR# )r"   r#   Fr   zafunction test(x, y, z)
    out1 = z .* (x + y)
    out2 = z .* (x - y)
    return out1, out2
end
Nr%   )expr1expr2r*   r+   r   r,   s         r   test_multiple_results_mrF   v   s[    UAIEUAIE%(IieDGFAYF	  r    c                  <   \        R 4      w  rp\        V\        \        ,           \        ,          4      p\        V \        \        ,
          \        ,          4      p\        V^\        ,          4      pRW4V.3p\        VRRRR7      w  pV^,          pRp	W8X  g   Q hR# )A,B,Cr"   r#   Fr   zffunction test(x, y, z)
    C = z .* (x + y)
    A = z .* (x - y)
    B = 2 * x
    return C, A, B
end
Nr   r   r&   r'   r(   r   
ABCrD   rE   expr3r*   r+   r   r,   s
             r   test_results_named_unorderedrO      s    gGA!QQ	"EQQ	"EQ!E%./IieDGFAYF	  r    c            	         \        R 4      w  rp\        V\        \        ,           \        ,          4      p\        V \        \        ,
          \        ,          4      p\        V^\        ,          4      pRW4V.3p\        VRRR\        \        \        3R7      pV^ ,          ^ ,          R8X  g   Q hV^ ,          ^,          pRp	W8X  g   Q hR# )rH   r"   r#   Fr   r   r?   r$   zffunction test(x, z, y)
    C = z .* (x + y)
    A = z .* (x - y)
    B = 2 * x
    return C, A, B
end
NrI   rJ   s
             r   test_results_named_orderedrR      s    gGA!QQ	"EQQ	"EQ!E%./IYU()1ay2F!9Q<9$$$AYq\F	  r    c                     ^ RI Hp HpHp RV! \        4      V ! \
        4      ,           V! \        4      ,           ^,          P                  4       V ! V ! V ! V ! V ! V ! V ! V ! \        \
        ,           \        ,           4      4      4      4      4      4      4      4      .3p\        VRRRR7      pV^ ,          ^ ,          R8X  g   Q hV^ ,          ^,          pRpWV8X  g   Q hR# )	r   )cossintantestlongr#   Fr   ztestlong.jlan  function testlong(x, y, z)
    out1 = sin(x) .^ 3 + 3 * sin(x) .^ 2 .* cos(y) + 3 * sin(x) .^ 2 .* tan(z) + 3 * sin(x) .* cos(y) .^ 2 + 6 * sin(x) .* cos(y) .* tan(z) + 3 * sin(x) .* tan(z) .^ 2 + cos(y) .^ 3 + 3 * cos(y) .^ 2 .* tan(z) + 3 * cos(y) .* tan(z) .^ 2 + tan(z) .^ 3
    out2 = cos(cos(cos(cos(cos(cos(cos(cos(x + y + z))))))))
    return out1, out2
end
N)	(sympy.functions.elementary.trigonometricrT   rU   rV   r&   r'   r(   expandr   )rT   rU   rV   r*   r+   r   r,   s          r   test_complicated_jl_codegenrZ      s    HHAQ#a&(1,446CCCAEAI$7 89:;<=I YUCF!9Q<=(((AYq\F	  r    c                  >   ^ RI Hp Hp \        R4      pRV ! ^\        ,          4      \        \        V! \        4      4      V ! \        4      \        W!! ^\        ,          4      4      .3p\        VRRRR7      w  pV^ ,          R8X  g   Q hV^,          pRpWV8X  g   Q hR	# )
r   )rT   rU   afoor#   Fr   foo.jlzzfunction foo(x)
    out1 = cos(2 * x)
    y = sin(x)
    out3 = cos(x)
    a = sin(2 * x)
    return out1, y, out3, a
end
N)rX   rT   rU   r   r&   r   r'   r   )rT   rU   r\   r*   r+   r   r,   s          r   "test_jl_output_arg_mixed_unorderedr_      s    CAQqS8As1v#6ACPQRSPSH@UVWIieDGF!9   AYF	  r    c                      \        ^ \        R8  3\        ^,          \        ^8*  3\        ) ^,           \        ^8  3R	RR7      p RV 3p\        VRRRR7      w  pV^,          pRpW48X  g   Q hR# )
r   Fevaluatepwtestr#   r   z{function pwtest(x)
    out1 = ((x < -1) ? (0) :
    (x <= 1) ? (x .^ 2) :
    (x > 1) ? (2 - x) : (1))
    return out1
end
N   Tr   r&   r   pwr*   r+   r   r,   s        r   test_jl_piecewise_rj      ss    	Aq2v;AqAv!Aq1uySX	YB2IieDGFAYF	  r    c                      \        ^ \        R8  3\        ^,          \        ^8*  3\        ) ^,           \        ^8  3R4      p RV 3p\        VRRRRR7      w  pV^,          pRpW48X  g   Q hR# )	r   rc   r#   Fr:   zfunction pwtest(x)
    if (x < -1)
        out1 = 0
    elseif (x <= 1)
        out1 = x .^ 2
    elseif (x > 1)
        out1 = -x + 2
    else
        out1 = 1
    end
    return out1
end
Nrd   re   rg   rh   s        r   test_jl_piecewise_no_inlinerl      sw     
Aq2v;AqAv!Aq1uy	IB2Iie"$GFAYF	  r    c                      R ^\         ,          ^\        ,          .3R\        ^,          ^\        ,          .3.p \        V RRRR7      pV^ ,          ^ ,          R8X  g   Q hV^ ,          ^,          pRpW#8X  g   Q hR# )r]   barr#   Fr   r^   zfunction foo(x, y)
    out1 = 2 * x
    out2 = 3 * y
    return out1, out2
end
function bar(y)
    out1 = y .^ 2
    out2 = 4 * y
    return out1, out2
end
Nr&   r'   r   r)   s       r   test_jl_multifcns_per_filerp     sy    1Q3!*%1ac{';=IYUCF!9Q<8###AYq\F		  r    c                  .   R ^\         ,          ^\        ,          .3R\        ^,          ^\        ,          .3.p \        V RRRR7      pV^ ,          ^ ,          R8X  g   Q hV^ ,          ^,          pR\        P                  ,           R,           pW#8X  g   Q hR	# )
r]   rn   r#   TFr   r^   r/   z
#
#   See http://www.sympy.org/ for more information.
#
#   This file is part of 'project'
function foo(x, y)
    out1 = 2 * x
    out2 = 3 * y
    return out1, out2
end
function bar(y)
    out1 = y .^ 2
    out2 = 4 * y
    return out1, out2
end
N)r&   r'   r   r0   r1   r)   s       r   #test_jl_multifcns_per_file_w_headerrr     s    1Q3!*%1ac{';=IYEBF!9Q<8###AYq\F(5+<+<< @ 	 " r    c                      R ^\         ,          ^\        ,          .3R\        ^,          ^\        ,          .3.p \        V RRRRR7      w  pV^ ,          R8X  g   Q hR# )r]   rn   r#   bazF)prefixr   r   zbaz.jlNro   )r*   r+   s     r   test_jl_filename_match_prefixrv   /  sW    1Q3!*%1ac{';=Iiu "GF!9   r    c                     \        \        ^\        ,          \        \        ,          ..4      p R\        \        R^^4      V 4      3p\        VRRRR7      pV^ ,          ^ ,          R8X  g   Q hV^ ,          ^,          pRpW48X  g   Q hR# )	   r"   myout1r#   Fr   r$   Kfunction test(x, y, z)
    myout1 = [x 2 * y pi * z]
    return myout1
end
N)r   r&   r'   r   r(   r   r   r   )e2r*   r+   r   r,   s        r   test_jl_matrix_namedr|   6  s    	!QqS"Q$ 	!B,xA">CDIYUCF!9Q<9$$$AYq\F	  r    c                      \        R ^^4      p \        \        ^\        ,          \        \
        ,          ..4      pR\        WRR7      3p\        VRRRR7      w  pV^,          pRpWE8X  g   Q hR# )ry   r"   Fra   r#   r   rz   N)r   r   r&   r'   r   r(   r   r   )ry   r{   r*   r+   r   r,   s         r   test_jl_matrix_named_matsymr~   E  so    (Aq)F	!QqS"Q$ 	!B&u=>IieDGFAYF	  r    c                      \        \        \        \        ,           ^..4      p RV 3p\        VRRRR7      w  pV^,          pRpW48X  g   Q hR# )   r"   r#   Fr   z?function test(x, y)
    out1 = [x x + y 3]
    return out1
end
N)r   r&   r'   r   r4   s        r   test_jl_matrix_output_autonamer   T  sT    AqsA;- DIieDGFAYF	  r    c                  P   \         \        ,           p \        ^\         ,          ^\        ,          ^\        ,          ..4      p\        \         .\        .\        ..4      p\        \         \        .\        ^..4      pRWW#33p\	        VRRRR7      w  pV^,          pRpWg8X  g   Q hR# )rx   r"   r#   Fr   zfunction test(x, y, z)
    out1 = x + y
    out2 = [2 * x 2 * y 2 * z]
    out3 = [x, y, z]
    out4 = [x  y;
    z 16]
    return out1, out2, out3, out4
end
N)r&   r'   r   r(   r   )e1r{   e3e4r*   r+   r   r,   s           r    test_jl_matrix_output_autoname_2r   b  s    
a%B	!A#qsAaC!	"B	!qcA3	 B	!Q!R!	"B"")*IieDGFAYF	  r    c            	      b   \        R 4      w  r\        R^^4      p\        V\        \        ,           \
        ,          4      p\        V\        ^^\        ..4      4      p\        V ^\        ,          4      pRW4V.3p\        VRRR\        \
        \        3R7      w  pV^,          pRp	W8X  g   Q hR# )zB,CrK   r"   r#   FrQ   zafunction test(x, z, y)
    C = z .* (x + y)
    A = [1 2 x]
    B = 2 * x
    return C, A, B
end
N)r   r   r   r&   r'   r(   r   r   )
rL   rM   rK   rD   rE   rN   r*   r+   r   r,   s
             r   $test_jl_results_matrix_named_orderedr   w  s    5>DAS!QAQQ	"EQAq	{+,EQ!E%./Iie()1ay2GFAYF	  r    c                  $   \        R ^^4      p \        R^^4      p\        R^^4      p\        R^^4      pR\        WR
,          4      \        W R,          4      \        W0R,          4      .3p\        VRRRR7      w  pV^,          pRpWg8X  g   Q hR	# )rK   rL   rM   Dr"   r#   Fr   zUfunction test(A)
    B = A[1,:]
    C = A[2,:]
    D = A[:,3]
    return B, C, D
end
Nr   NNNrf   r   )r   rx   r   r   r   )rK   rL   rM   r   r*   r+   r   r,   s           r   test_jl_matrixsymbol_slicer     s    S!QAS!QAS!QAS!QA(1g."1g."1g.0 1I ieDGFAYF	  r    c                      \        R ^^4      p \        R^^4      p\        R^^4      pR\        WR	,          4      \        W R
,          4      .3p\        VRRRR7      w  pV^,          pRpWV8X  g   Q hR# )rK   rL   rM   r"   r#   Fr   zKfunction test(A)
    B = A[1:2,1:2]
    C = A[1:2,2:3]
    return B, C
end
N)r   rx   Nr   )r   :rf   r   Nr   rK   rL   rM   r*   r+   r   r,   s          r   test_jl_matrixsymbol_slice2r         S!QAS!QAS!QA(1k2"1k24 5IieDGFAYF	  r    c                      \        R ^^4      p \        R^^4      p\        R^^4      pR\        WR	,          4      \        W R
,          4      .3p\        VRRRR7      w  pV^,          pRpWV8X  g   Q hR# )rK   rL   rM   r"   r#   Fr   zYfunction test(A)
    B = A[7:end,2:3:end]
    C = A[1:2:end,1:3:end]
    return B, C
end
N):   NN:rf   Nr   ):NNrx   :NNr   r   r   s          r   test_jl_matrixsymbol_slice3r     r   r    c                      \        R ^^4      p \        R^^4      pR\        WR,          4      V R	,          V R
,          V R,          .3p\        VRRRR7      w  pV^,          pRpWE8X  g   Q hR# )rK   rL   r"   r#   Fr   zyfunction test(A)
    B = A[1,:]
    out2 = A[2,:]
    out3 = A[:,1]
    out4 = A[:,2]
    return B, out2, out3, out4
end
Nr   r   )r   r   )r   rf   r   )rK   rL   r*   r+   r   r,   s         r   #test_jl_matrixsymbol_slice_autonamer     sy    S!QAS!QA(1f-qvqvqvFGIieDGFAYF	  r    c            	      |   ^ RI Hp Hp ^ RIHp V! RRR7      w  r4V ! R4      pV ! R4      pV ! R4      pV! R	V4      pV! R
V4      p	\        R\        Wx,          WXV	3,          Wi,          ,          4      3RRRR7      w  p
V
^,          pRpWRRV: RV	: R2/,          8X  g   WRRV: RV	: R2/,          8X  g   Q hR# R# )r   IndexedBaseIdxr   zn mTintegerrK   r&   r'   ijmat_vec_multr#   Fr   zfunction mat_vec_mult(y, A, m, n, x)
    for i = 1:m
        y[i] = 0
    end
    for i = 1:m
        for j = 1:n
            y[i] = %(rhs)s + y[i]
        end
    end
    return y
end
rhszA[,z	] .* x[j]z
x[j] .* A[]Nsympy.tensorr   r   sympy.core.symbolr   r   r   )r   r   r   nmrK   r&   r'   r   r   r+   r   r,   s                r   test_jl_loopsr     s    
 .)5$'DACACACACACA~r!$Q$'=>"%1GFAYF
	  %q!)D!EEE%q!)D!EEEG FE Fr    c                  R   ^ RI Hp Hp ^ RIHp V! RRR7      w  r4rVV ! R4      pV ! R4      pV ! R4      p	V! R	V4      p
V! R
V4      pV! RV4      pV! RV4      p\        R\        W,          WW3,          WzWV3,          ,          4      3RRRR7      w  pV^,          pRpVV8X  g   Q hR# )r   r   r   zn m o pTr   rK   rL   r'   r   r   kltensorthingr#   Fr   a-  function tensorthing(y, A, B, m, n, o, p)
    for i = 1:m
        y[i] = 0
    end
    for i = 1:m
        for j = 1:n
            for k = 1:o
                for l = 1:p
                    y[i] = A[i,j,k,l] .* B[j,k,l] + y[i]
                end
            end
        end
    end
    return y
end
Nr   )r   r   r   r   r   oprK   rL   r'   r   r   r   r   r+   r   r,   s                    r   *test_jl_tensor_loops_multiple_contractionsr     s    -)D1JA!CACACACACACACA}bqAz!qQJ-/G&HIe5:GFAYF	 " Xr    c                      \        \        \        ^,          4      p RV 3p\        VRRRR7      w  pV^,          pRpW48X  g   Q hR# )rx   mysqrr#   Fr   z2function mysqr(x)
    x = x .^ 2
    return x
end
N)r   r&   r   r4   s        r   test_jl_InOutArgumentr     sN    Aq!tD$IieDGFAYF	  r    c                  T   \        \        \        ^,          \        ,           4      p RV 3p\        VRRR\        \        3R7      w  pV^,          pRpW48X  g   Q h\        \        \        ^,          \        ,           4      p RV 3p\        VRRRR7      w  pV^,          pRpW48X  g   Q hR# )rx   r"   r#   FrQ   z8function test(x, y)
    x = x .^ 2 + y
    return x
end
r   N)r   r&   r'   r   r4   s        r   test_jl_InOutArgument_orderr   )  s    Aq!tax DIi!aU<GFAYF	  Aq!tax DIieDGFAYF	  r    c                      \        R 4      p RV ! \        4      P                  \        4      \        P                  .3p\        VRRRR7      w  pV^,          pRpW48X  g   Q hR# )fr"   r#   Fr   zfunction test(x)
    # unsupported: Derivative(f(x), x)
    # unsupported: zoo
    out1 = Derivative(f(x), x)
    out2 = zoo
    return out1, out2
end
N)r
   r&   diffr   ComplexInfinityr   )r   r*   r+   r   r,   s        r   test_jl_not_supportedr   E  s_    A!A$))A,(9(9:;IieDGFAYF	  r    c            	          \        R 4      w  rr#\        RW,          3RRRV3R7      pV^ ,          ^,          pRpWV8X  g   Q h\        RW,          V,           3RRRW3W#3R7      pV^ ,          ^,          pRpWV8X  g   Q hR# )	zx y z tr   r#   F)r   r   global_varsz4function f(x)
    out1 = x .* y
    return out1
end
)r   r   r?   r   z;function f(x, y)
    out1 = x .* y + z
    return out1
end
N)r   r   )r&   r'   r(   tr+   r   r,   s          r   test_global_vars_octaver   V  s    #JA!c13Ze"#'FAYq\F	  c13q5\75()vA6CFAYq\F	  r    );ior   
sympy.corer   r   r   r   r   r	   r
   sympy.core.relationalr   $sympy.functions.elementary.piecewiser   sympy.matricesr   r   sympy.utilities.codegenr   r   r   sympy.testing.pytestr   r0   r&   r'   r(   r   r-   r2   r6   r8   r<   rB   rF   rO   rR   rZ   r_   rj   rl   rp   rr   rv   r|   r~   r   r   r   r   r   r   r   r   r   r   r   r   r    r    r   <module>r      s     H H H * : / G G &  '
1a&
  $ "(**(   0(2!***$$$GB F8"r    