
    Цi                         S SK r S SKJr  S SKJr  S SKJrJr  S SKJ	r	  S SK
Jr  S SKJrJrJrJrJrJrJrJrJr  S SKJrJr  S S	KJr  \" S
5      r\" S5      rS rS r\	S 5       rg)    N)import_module)ccode)compile_link_import_stringshas_c)	may_xfail)skip)	FunctionDefinitionFunctionPrototypeVariablePointerreal
Assignmentinteger	CodeBlockWhile)voidPreIncrement)render_as_source_filecythonnumpyc                  ,   [        S[        5      [        S[        5      [        S[        5      4=n u  pn[        S[        5      n[	        XA:  [        X4   X$   5      [        U5      /5      n[        UR                  SS9U5      n[        [        SX5      $ )Nninpoutir   )valueour_test_function)r   r   r   r   r   r   r   r   as_Declarationr	   r   )declarsr   r   r   r   whlbodys          d/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/sympy/codegen/tests/test_applications.py	_mk_func1r#      s    $S'2GE44H'RWY]J^^^GkacgA
j0,q/B
CCQ%%A%.4Dd$7GG    c           
          [        U SS0S9n[        [        R                  " U 5      5      n[	        SU4SSR                  S5      S-   R                  X0R                  S	S
94/US9$ )NcontractF)settingszour_test_func.cz_our_test_func.pyxz#cython: language_level={}
3zfcdef extern {declar}
def _{fname}({typ}[:] inp, {typ}[:] out):
    {fname}(inp.size, &inp[0], &out[0])double)declarfnametyp	build_dir)r   r   r
   from_FunctionDefinitionr   formatname)funcdefr.   code_strr*   s       r"   _render_compile_importr4      s    $W
E7JKH$<<WEFF&	H%	 > E Ec J!J!J LR6+18 LR L"	#(  r$   c                     [         (       d  [        S5        [        5       (       d  [        S5        [        (       d  [        S5        S n [        R
                  " 5        n[        [        5       US9u  p [         R                  S5      n[         R                  U5      nUR                  X45        [         R                  X45      (       d   e S S S 5        g ! , (       d  f       g = f)Nznumpy not installed.zNo C compiler found.zCython not found.r-   g      $@)npr   r   r   tempfileTemporaryDirectoryr4   r#   arange
empty_like_our_test_functionallclose)infofoldermodr   r   s        r"   test_copying_functionr@   *   s    2#$77#$6 !D		$	$	&&*9;&I	iiommC s({{3$$$$ 
'	&	&s   A,C
C") r7   sympy.externalr   sympy.printing.codeprinterr   sympy.utilities._compilationr   r   !sympy.utilities._compilation.utilr   sympy.testing.pytestr   sympy.codegen.astr	   r
   r   r   r   r   r   r   r   sympy.codegen.cnodesr   r   sympy.codegen.cutilsr   r   r6   r#   r4   r@    r$   r"   <module>rJ      sc     ( , K 7 %   4 6	x	 7H % %r$   