
    \h                         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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      S 5       5       r g)    N)import_module)ccode)compile_link_import_stringshas_c)	may_xfail)skipskip_under_pyodide)	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          ]/var/www/auris/envauris/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_importr5      s    $W
E7JKH$<<WEFF&	H%	 > E Ec J!J!J LR6+18 LR L"	#(  r%   z,Emscripten does not support process spawningc                     [         (       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TemporaryDirectoryr5   r$   arange
empty_like_our_test_functionallclose)infofoldermodr   r   s        r#   test_copying_functionrA   *   s     2#$77#$6 !D		$	$	&&*9;&I	iiommC s({{3$$$$ 
'	&	&s   A,C
C")!r8   sympy.externalr   sympy.printing.codeprinterr   sympy.utilities._compilationr   r   !sympy.utilities._compilation.utilr   sympy.testing.pytestr   r	   sympy.codegen.astr
   r   r   r   r   r   r   r   r   sympy.codegen.cnodesr   r   sympy.codegen.cutilsr   r   r7   r$   r5   rA    r%   r#   <module>rK      sr     ( , K 7 9   4 6	x	 7H BC% D %r%   