
    \h                         S SK Jr  S SKJr  S SKr\" S5      (       a
  S SKJs  Jr  OSr	S SK
r
S SKJrJrJr  S rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS r g)    )import_module)raisesNllvmliteT)abnc                 F    SnSn[        X-
  5      X2[        U5      -  -   :*  $ )Ngh㈵>g:0yE>)abs)r   r   rtolatols       Y/var/www/auris/envauris/lib/python3.13/site-packages/sympy/printing/tests/test_llvmjit.pyiscloser      s(    DDqs8t3q6k)))    c                      [         S-   n [        R                  " [         /U 5      n[        U R	                  [         S05      R                  5       5      nU" S5      n[        X25      (       d   eg )Ng      ?      @)r   gllvm_callablefloatsubsevalfr   efresjit_ress       r   test_simple_exprr      sW    	CA	QA
3x &&(
)CfG7    r   c                  
   S[         -  [        -   S-   n [        R                  " [         [        /U 5      n[	        U R                  [         S[        S05      R                  5       5      nU" SS5      n[        X25      (       d   eg )Nr   g      @r   r   r   r   r   r   r   r   r   s       r   test_two_argr      sh    A	CA	A"A
33'(..0
1CSkG7    r   c                     S[         R                  " [        * 5      -  n [        R                  " [        /U 5      n[        U R                  [        S05      R                  5       5      nU" S5      n[        X25      (       d   eg )Nr         ?)	sympyexpr   r   r   r   r   r   r   r   s       r   	test_funcr$   (   sb    EIIqbMA	QA
3x &&(
)CfG7    r   c                  V   S[         R                  " [        * 5      -  [         R                  " [        5      -   n [        R
                  " [        [        /U 5      n[        U R                  [        S[        S05      R                  5       5      nU" SS5      n[        X25      (       d   eg Nr   r!          @)
r"   r#   r   r   r   r   r   r   r   r   r   s       r   test_two_funcr(   1   sx    EIIqbMEIIaL(A	A"A
33'(..0
1CSkG7    r   c                  T   S[         R                  " [        5      -  [         R                  " [        5      -   n [        R
                  " [        [        /U 5      n[        U R                  [        S[        S05      R                  5       5      nU" SS5      n[        X25      (       d   eg r&   )
r"   sqrtr   r   r   r   r   r   r   r   r   s       r   test_two_sqrtr+   :   sv    EJJqMEJJqM)A	A"A
33'(..0
1CSkG7    r   c                  
   [         S-  [        S-  -   n [        R                  " [         [        /U 5      n[	        U R                  [         S[        S05      R                  5       5      nU" SS5      n[        X25      (       d   eg )Nr!      r'   r   r   s       r   test_two_powr.   C   sh    	3AA	A"A
33'(..0
1CSkG7    r   c                  P   [         S-   n [        R                  " [         /U SS9n[        R                  " S5      n[        R
                  S-  n[         S0nU" U[            5      nU" X%5      n[        U R                  U5      R                  5       5      n[        Xg5      (       d   eg )N333333?scipy.integrate.testcallback_type   皙@
r   r   r   ctypesc_intc_doubler   r   r   r   r   r   m
array_typeinparrayr   r   s           r   test_callbackr?   L   s    	CA	Q.DEAQA1$Jc(Cs1vEkG
s!!#
$C7    r   c                  |   [         S-   n [        R                  " [         /U SS9n[        R                  " S5      n[        R
                  S-  n[         S0nU" U[            5      nU" S5      nU" X%S X&5      nUS:X  d   e[        U R                  U5      R                  5       5      n[        US   U5      (       d   eg )Nr0   cubaturer2   r4   r5   g        r   r6   )	r   r   r;   r<   r=   r>   	out_arrayjit_retr   s	            r   test_callback_cubaturerD   Z   s    	CA	Qj9AQA1$Jc(Cs1vE3I$-Ga<<
s!!#
$C9Q<%%%%r   c                     S[         -  [        -  n [        R                  " [         [        /U SS9n[        R
                  " S5      n[        R                  S-  n[         S[        S0nU" U[            U[           5      nU" X%5      n[        U R                  U5      R                  5       5      n[        Xg5      (       d   eg )N   r1   r2      皙?333333?)r   r   r   r   r7   r8   r9   r   r   r   r   r:   s           r   test_callback_tworJ   k   s    	!AA	A1GHAQA1$Jc1c
Cs1vs1v&EkG
s!!#
$C7    r   c                     [         R                  " S5      n SU S   -  U S   -  n[        R                  " [        U /USS9n[
        R                  " S5      n[
        R                  S-  nU S   SU S   S	0nU" XPS      XPS      5      nU" X65      n[        UR                  U5      R                  5       5      n[        Xx5      (       d   eg )
NdrF   r   r4   r1   r2   rG   rH   rI   )r"   IndexedBaser   r   r   r7   r8   r9   r   r   r   r   )	rL   r   r   r;   r<   r=   r>   r   r   s	            r   test_callback_alt_tworN   y   s    #A	!A$qtA	A1GHAQA1$JQ4adC
 CsQ4y#d),EkG
s!!#
$C7    r   c                     [         S[        -  4/[         S-   //n [        R                  " [        /U 5      nU S   S   S   R	                  [        S05      n[        U S   S   R	                  [         U05      R                  5       5      nU" S5      n[        XC5      (       d   e[        R                  " [        /U SS9n[        R                  " S5      n[        R                  S-  nU" S5      nU" Xh5      n	[        X5      (       d   eg )Nr      r   r4   r!   r1   r2   )r   r   r   r   r   r   r   r   r7   r8   r9   )
r   r   b_valr   r   
f_callbackr;   r<   r>   jit_callback_ress
             r   test_multiple_statementsrT      s    c!e*AwA	QAaDGAJOOQH%E
!QaZ(..0
1CfG7    !a7MNJQA1$JsOE!!+#))))r   c                     [         [         -  [        [        -  -   [        R                  " [         * [         -  [        [        -  -
  5      -   n [        R                  " U 5      n[
        R                  " [         [        /U5      n[        U R                  [         S[        S05      R                  5       5      nU" SS5      n[        XC5      (       d   eg )Ngffffff@皙?)r   r   r"   r#   cser   r   r   r   r   r   )r   e2r   r   r   s        r   test_cserY      s    	!ac	EIIqbdQqSj))A	1B	A#A
33'(..0
1CSkG7    r   c                     0 nU S    H+  u  p4UR                  U5      nUR                  U5      nXbU'   M-     U S    V s/ s H"  o R                  U5      R                  U5      PM$     sn $ s  sn f )Nr   r4   )r   )r   sub_dicttmp_dicttmp_nametmp_exprrX   e3s          r   eval_cser`      sl    Hd]]8$WWX # 67qT:TFF8!!(+T:::s   )A*c                    ^ [         [         -  n [         [         -  [        [        -  -   n[        R                  " X/5      m[	        [
        U4S j5        [        R                  " [         [        /T5      nU" SS5      n[        U5      S:X  d   e[        T[         S[        S05      n[        US   US   5      (       d   e[        US   US   5      (       d   eg )Nc                  D   > [         R                  " [        [        /T SS9$ )Nzscipy.integrater2   )r   r   r   r   )r_   s   r   <lambda>#test_cse_multiple.<locals>.<lambda>   s    1??Aq62=NOr   rV   r!   rG   r   r4   )r   r   r"   rW   r   NotImplementedErrorr   r   lenr`   r   )e1rX   r   r   r   r_   s        @r   test_cse_multiplerh      s    	
1B	
1qsB	B8	B
OQ 	
A#ASkGw<1
233'
(C3q671:&&&&3q671:&&&&r   c                     [         [         -  n [         [         -  [        [        -  -   n[        R                  " XSU-  /5      n[        R
                  " [         [        /USS9nSnSn[        R                  " U5      n[        R                  " U5      n[        R                  U-  n[        R                  U-  n	[         S[        S0n
U" U
[            U
[           5      nU	" 5       nU" XkS X|5      nUS:X  d   e[        X*5      n[        US   US   5      (       d   e[        US	   US	   5      (       d   e[        US   US   5      (       d   eg )
N   rA   r2   rG   rF   rH   r!   r   r4   )r   r   r"   rW   r   r   r7   r8   r9   r`   r   )rg   rX   r_   r   ndimoutdimr;   fdimr<   out_array_typer=   r>   rB   rC   r   s                  r   test_callback_cubature_multiplero      s+   	
1B	
1qsB	BAbD>	"B	A*=A DFTA<<D4'J__v-Nc1c
Cs1vs1v&E I$0Ga<<
2
C9Q<Q((((9Q<Q((((9Q<Q((((r   c                  V   ^  [         [         -  [        -   m [        [        U 4S j5        g )Nc                  <   > [         R                  " [        /T 5      $ )Nr   r   r   r   s   r   rc   'test_symbol_not_found.<locals>.<lambda>   s    Q 7r   )r   r   r   LookupErrorrs   s   @r   test_symbol_not_foundrv      s    	!aA
;78r   c                  :   ^  [         m [        [        U 4S j5        g )Nc                  :   > [         R                  " [        /T SS9$ )Nbad_callbackr2   rr   rs   s   r   rc   #test_bad_callback.<locals>.<lambda>   s    qsA^Tr   )r   r   
ValueErrorrs   s   @r   test_bad_callbackr|      s    	A
:TUr   )!sympy.externalr   sympy.testing.pytestr   r7   sympy.printing.llvmjitcodeprintingllvmjitcoder   disabledr"   	sympy.abcr   r   r   r   r   r   r$   r(   r+   r.   r?   rD   rJ   rN   rT   rY   r`   rh   ro   rv   r|    r   r   <module>r      s    ( '  **H   *!!!!!!!&"!!*"!;' ):9
Vr   