Ë
    7^(h¾6  ã                   ó  — d dl mZmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZ d dl mZmZmZmZmZmZ d dlmZmZmZmZmZmZmZ d dlmZ d dl m!Z! d dl"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z( d dl)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5 d dlm6Z6 d d	l7m8Z8  ed
«      \  Z9Z:Z;d„ Z<d„ Z=d„ Z>d„ Z?d„ Z@d„ ZAd„ ZBd„ ZCd„ ZDd„ ZEd„ ZFd„ ZGd„ ZHd„ ZId„ ZJd„ ZKe6d„ «       ZLd„ ZMd„ ZNd„ ZOd„ ZPd „ ZQd!„ ZRd"„ ZSd#„ ZTd$„ ZUd%„ ZVd&„ ZWd'„ ZXd(„ ZYd)„ ZZd*„ Z[d+„ Z\d,„ Z]y-).é    )ÚSÚpiÚooÚsymbolsÚFunctionÚRationalÚIntegerÚTupleÚSymbolÚEqÚNeÚLeÚLtÚGtÚGe)Ú
EulerGammaÚGoldenRatioÚCatalanÚLambdaÚMulÚPow)Ú	PiecewiseÚsqrtÚceilingÚexpÚsinÚcosÚsinc)Úraises)Úimplemented_function)ÚeyeÚMatrixÚMatrixSymbolÚIdentityÚHadamardProductÚSparseMatrix)ÚjnÚynÚbesseljÚbesselyÚbesseliÚbesselkÚhankel1Úhankel2ÚairyaiÚairybiÚairyaiprimeÚairybiprime)ÚXFAIL©Ú
julia_codezx,y,zc                  óh   — t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚y )NéC   Ú67éÿÿÿÿz-1)r5   r	   © ó    ú]/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/printing/tests/test_julia.pyÚtest_Integerr=      s0   € Ü”g˜b“kÓ" dÒ*Ð*Ð*Ü”g˜b“kÓ" dÒ*Ð*Ñ*r;   c                  óX  — t        t        dd«      «      dk(  sJ ‚t        t        dd«      «      dk(  sJ ‚t        t        dd«      «      dk(  sJ ‚t        t        d	d«      «      dk(  sJ ‚t        t        t        dd«      z   «      d
k(  sJ ‚t        t        dd«      t        z  «      dk(  sJ ‚y )Né   é   z3 // 7é   é	   Ú2iùÿÿÿz-3 // 7éýÿÿÿz
x + 3 // 7z(3 // 7) * x)r5   r   Úxr:   r;   r<   Útest_RationalrF      s£   € Ü”h˜q !“nÓ%¨Ò1Ð1Ð1Ü”h˜r 1“oÓ&¨#Ò-Ð-Ð-Ü”h˜q "“oÓ&¨)Ò3Ð3Ð3Ü”h˜r 2Ó&Ó'¨8Ò3Ð3Ð3Ü”aœ( 1 a›.Ñ(Ó)¨\Ò9Ð9Ð9Ü”h˜q !“n¤QÑ&Ó'¨>Ò9Ð9Ñ9r;   c                  óœ  — t        t        t        t        «      «      dk(  sJ ‚t        t	        t        t        «      «      dk(  sJ ‚t        t        t        t        «      «      dk(  sJ ‚t        t        t        t        «      «      dk(  sJ ‚t        t        t        t        «      «      dk(  sJ ‚t        t        t        t        «      «      dk(  sJ ‚y )Nzx == yzx != yzx <= yzx < yzx > yzx >= y)	r5   r   rE   Úyr   r   r   r   r   r:   r;   r<   Útest_RelationalrI   !   s˜   € Ü”bœœA“hÓ 8Ò+Ð+Ð+Ü”bœœA“hÓ 8Ò+Ð+Ð+Ü”bœœA“hÓ 8Ò+Ð+Ð+Ü”bœœA“hÓ 7Ò*Ð*Ð*Ü”bœœA“hÓ 7Ò*Ð*Ð*Ü”bœœA“hÓ 8Ò+Ð+Ñ+r;   c                  óÒ   — t        t        t        «      t        t        «      z  «      dk(  sJ ‚t        t	        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚y )Nzsin(x) .^ cos(x)zabs(x)zceil(x))r5   r   rE   r   Úabsr   r:   r;   r<   Útest_FunctionrL   *   sQ   € Ü”cœ!“f¤¤A£Ñ&Ó'Ð+=Ò=Ð=Ð=Ü”cœ!“fÓ Ò)Ð)Ð)Ü”gœa“jÓ! YÒ.Ð.Ñ.r;   c                  ó   — t        t        dz  «      dk(  sJ ‚t        t        t        dz  z  «      dk(  sJ ‚t        t        t        dd«      z  «      dk(  sJ ‚t	        dt        t        dt        z  «      «      } t        d | t        «      dz  t        t        t        z  z
  z  z  t        dz  t        z   z  «      d	k(  sJ ‚t        t        d
t        t        t        t        t        d¬«      dd¬«      d¬«      «      dk(  sJ ‚y )Nr?   zx .^ 3zx .^ (y .^ 3)é   zx .^ (2 // 3)Úgé   g      @z.(3.5 * 2 * x) .^ (-x + y .^ x) ./ (x .^ 2 + y)éþÿÿÿF)Úevaluater9   z-2 * x ./ (y .* y))r5   rE   rH   r   r    r   r   r   )rO   s    r<   Útest_PowrS   0   sì   € Ü”a˜‘dÓ˜xÒ'Ð'Ð'Ü”aœ!˜Q™$‘iÓ  OÒ3Ð3Ð3Ü”aœ ! Q›Ñ'Ó(¨OÒ;Ð;Ð;Ü˜S¤&¬¨A¬a©C£.Ó1€AÜ�a™œ1›˜c™¤Q¬¬A©¡XÑ.Ñ.´°1±´q±Ñ9Ó:Ø8ò9ð 9ð 9ô ”c˜"œa¤¤S¬¬1°eÔ%<¸bÈ5Ô!QØ9>ô@ó AØDXòYð Yñ Yr;   c                  óÐ   — t        t        t        z  «      dk(  sJ ‚t        t        t        z   «      dk(  sJ ‚t        t        t        z
  «      dk(  sJ ‚t        t         «      dk(  sJ ‚y )Núx .* yzx + yzx - yz-x)r5   rE   rH   r:   r;   r<   Útest_basic_opsrV   <   sZ   € Ü”aœ‘c‹?˜hÒ&Ð&Ð&Ü”aœ!‘eÓ Ò'Ð'Ð'Ü”aœ!‘eÓ Ò'Ð'Ð'Ü”q�b‹>˜TÒ!Ð!Ñ!r;   c                  óÂ  — t        dt        z  «      dk(  sJ ‚t        t        dz  «      t        t        dz  «      cxk(  rdk(  sJ ‚ J ‚t        dt        t        «      z  «      dk(  sJ ‚t        t        t        j                   z  «      t        t        dz  «      cxk(  rdk(  sJ ‚ J ‚t        t        t        «      «      dk(  sJ ‚t        t        t        j                  z  «      t        t        dz  «      cxk(  rdk(  sJ ‚ J ‚t        dt
        z  «      d	k(  sJ ‚t        t
        dz  «      t        t
        dz  «      cxk(  rd	k(  sJ ‚ J ‚t        t
        dz  «      d
k(  sJ ‚y )NrP   z1 ./ xr9   g      ð¿z1 ./ sqrt(x)g      à¿zsqrt(x)g      à?z1 / piz1 / sqrt(pi))r5   rE   r   r   ÚHalfr   r:   r;   r<   Útest_1_over_x_and_sqrtrY   C   s0  € ô �aœ‘c‹?˜hÒ&Ð&Ð&Ü”a˜‘eÓ¤
¬1¨d©7Ó 3Ô?°xÒ?Ð?Ñ?Ð?Ð?Ü�aœœQ›‘iÓ  NÒ2Ð2Ð2Ü”aœ!Ÿ&™&˜‘jÓ!¤Z´°4±Ó%8ÔJ¸NÒJÐJÑJÐJÐJÜ”dœ1“gÓ )Ò+Ð+Ð+Ü”aœŸ™‘iÓ ¤J¬q°#©vÓ$6ÔC¸)ÒCÐCÑCÐCÐCÜ�aœ‘dÓ˜xÒ'Ð'Ð'Ü”b˜"‘fÓ¤¬B°©HÓ!5ÔA¸ÒAÐAÑAÐAÐAÜ”b˜$‘hÓ >Ò1Ð1Ñ1r;   c                  óð  — t        dt        z  «      dk(  sJ ‚t        t        t        z  «      dk(  sJ ‚t        dt        z  «      dk(  sJ ‚t        t        t        z  «      dk(  sJ ‚t        t        dz  «      dk(  sJ ‚t        t        t        z  «      dk(  sJ ‚t        t        t        z  «      dk(  sJ ‚t        dt        z  t        z  «      d	k(  sJ ‚t        dt        z  t        z  t        z  «      d
k(  sJ ‚t        t        t        z  «      dk(  sJ ‚t        dt        z  t        z  «      dk(  sJ ‚t        t        t        z  t        z  «      dk(  sJ ‚t        t        t        z  t        z  «      dk(  sJ ‚t        dt        z  t        z  «      dk(  sJ ‚t        dt        z  t        z  t        z  t        z  «      dk(  sJ ‚t        dt        z  t        z  «      dk(  sJ ‚t        t        d«      dz  «      dk(  sJ ‚t        t        d«      dz  t        z  «      dk(  sJ ‚t        t        t        z  t        z  «      dk(  sJ ‚t        t        t        z   t        z  «      dk(  sJ ‚t        t        t        z   t        t        z   z  «      dk(  sJ ‚t        t        t        z   t        z  «      dk(  sJ ‚t        t        dz  t        z  «      dk(  sJ ‚t        t        d«      dz  t        z  t        z  t        z  «      dk(  sJ ‚y )Nr?   z3 * xzpi * xz3 ./ xzpi ./ xzx / 3zx / pirU   z
3 * x .* yz3 * pi * x .* yzx ./ yz
3 * x ./ yzx .* y ./ zzx .* z ./ yrP   z1 ./ (x .* y)rN   z2 * pi * x ./ (y .* z)z3 * pi ./ xé   z3 // 5z(3 // 5) * xzx ./ (y .* z)z(x + y) ./ zz(x + y) ./ (x + z)z(x + y) / eulergammazx / (3 * pi)z(3 // 5) * x .* y / pi)r5   rE   r   rH   Úzr   r   r:   r;   r<   Útest_mix_number_mult_symbolsr]   Q   s‹  € Ü�aœ‘c‹?˜gÒ%Ð%Ð%Ü”bœ‘dÓ˜xÒ'Ð'Ð'Ü�aœ‘c‹?˜hÒ&Ð&Ð&Ü”bœ‘dÓ˜yÒ(Ð(Ð(Ü”a˜‘c‹?˜gÒ%Ð%Ð%Ü”aœ‘dÓ˜xÒ'Ð'Ð'Ü”aœ‘c‹?˜hÒ&Ð&Ð&Ü�aœ‘cœ!‘eÓ Ò,Ð,Ð,Ü�aœ‘dœ1‘fœQ‘hÓÐ#4Ò4Ð4Ð4Ü”aœ‘c‹?˜hÒ&Ð&Ð&Ü�aœ‘cœ!‘eÓ Ò,Ð,Ð,Ü”aœ‘cœ!‘eÓ Ò-Ð-Ð-Ü”aœ‘cœ!‘eÓ Ò-Ð-Ð-Ü�aœ‘cœ!‘eÓ Ò/Ð/Ð/Ü�aœ‘dœ1‘fœQ‘hœq‘jÓ!Ð%=Ò=Ð=Ð=Ü�aœ‘dœ1‘fÓ Ò.Ð.Ð.Ü”a˜“d˜1‘fÓ Ò)Ð)Ð)Ü”a˜“d˜1‘fœQ‘hÓ >Ò1Ð1Ð1Ü”aœ‘cœ!‘eÓ Ò/Ð/Ð/Ü”qœ‘sœA‘gÓ .Ò0Ð0Ð0Ü”qœ‘sœQœq™S‘kÓ"Ð&:Ò:Ð:Ð:Ü”qœ‘sœJÑ&Ó'Ð+AÒAÐAÐAÜ”a˜‘cœ"‘fÓ Ò/Ð/Ð/Ü”a˜“d˜1‘fœQ‘hœq‘j¤‘mÓ$Ð(@Ò@Ð@Ñ@r;   c                  óZ  — t        t        dz  «      dk(  sJ ‚t        t        dz  «      dk(  sJ ‚t        t        t        dz  z  «      dk(  sJ ‚t        t        t        z  «      dk(  sJ ‚t        t        t        t        z  z  «      dk(  sJ ‚t        t        t        z  t        z  «      dk(  sJ ‚y )	Nr?   zpi ^ 3rN   zx .^ 2zx .^ (pi ^ 3)zx .^ yzx .^ (y .^ z)z(x .^ y) .^ z)r5   r   rE   rH   r\   r:   r;   r<   Útest_mix_number_pow_symbolsr_   l   s˜   € Ü”b˜!‘eÓ Ò(Ð(Ð(Ü”a˜‘dÓ˜xÒ'Ð'Ð'Ü”aœ"˜a™%‘jÓ! _Ò4Ð4Ð4Ü”aœ‘dÓ˜xÒ'Ð'Ð'Ü”aœ!œQ™$‘iÓ  OÒ3Ð3Ð3Ü”qœ!‘tœa‘iÓ  OÒ3Ð3Ñ3r;   c                  óÊ   — t        d«      } t        | «      dk(  sJ ‚t        d| z  «      dk(  sJ ‚t        t        d«      dz  | z  «      dk(  sJ ‚t        dd| z  z   «      d	k(  sJ ‚y )
NÚIÚimr[   Ú5imr?   rN   z(3 // 2) * imé   z3 + 4im)r   r5   )ra   s    r<   Ú	test_imagre   u   sm   € Ü	ˆ#‹€AÜ�a‹=˜DÒ Ð Ð Ü�a˜‘c‹?˜eÒ#Ð#Ð#Ü”q˜“t˜A‘v˜q‘jÓ! _Ò4Ð4Ð4Ü�a˜˜!™‘eÓ 	Ò)Ð)Ñ)r;   c                  ód  — t        t        «      dk(  sJ ‚t        t        «      dk(  sJ ‚t        t         «      dk(  sJ ‚t        t        j                  «      dk(  sJ ‚t        t        j
                  «      dk(  sJ ‚t        t        j                  «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚y )Nr   ÚInfz-InfÚNaNÚerP   )r5   r   r   r   ÚNegativeInfinityrh   ÚExp1r   r:   r;   r<   Útest_constantsrl   }   s˜   € Ü”b‹>˜TÒ!Ð!Ð!Ü”b‹>˜UÒ"Ð"Ð"Ü”r�c‹?˜fÒ$Ð$Ð$Ü”a×(Ñ(Ó)¨VÒ3Ð3Ð3Ü”a—e‘eÓ Ò%Ð%Ð%Ü”a—f‘fÓ Ò$Ð$Ð$Ü”c˜!“fÓ Ò$Ð$Ñ$r;   c                  óŽ   — t        dt        z  «      dk(  sJ ‚t        dt        z  «      dk(  sJ ‚t        dt        z  «      dk(  sJ ‚y )NrN   z
2 * goldenz2 * catalanz2 * eulergamma)r5   r   r   r   r:   r;   r<   Útest_constants_otherrn   ‡   sH   € Ü�aœ‘mÓ$¨Ò4Ð4Ð4Ü�aœ‘iÓ  MÒ1Ð1Ð1Ü�aœ
‘lÓ#Ð'7Ò7Ð7Ñ7r;   c                  óª  — t        t        t        z  «      dk(  sJ ‚t        t        t        z  «      dk(  sJ ‚t        t         «      dk(  sJ ‚t        t        t        z  t        z  «      dk(  sJ ‚t        t        t        z  t        z  «      dk(  sJ ‚t        t        t        z  t        z  «      dk(  sJ ‚t        t        t        z  t        z  «      dk(  sJ ‚y )Nzx && yzx || yz!xzx && y && zzx || y || zzz || x && yzz && (x || y))r5   rE   rH   r\   r:   r;   r<   Útest_booleanrp   �   s°   € Ü”aœ!‘eÓ Ò(Ð(Ð(Ü”aœ!‘eÓ Ò(Ð(Ð(Ü”q�b‹>˜TÒ!Ð!Ð!Ü”aœ!‘eœa‘iÓ  MÒ1Ð1Ð1Ü”aœ!‘eœa‘iÓ  MÒ1Ð1Ð1Ü”qœ1‘u¤‘kÓ" mÒ3Ð3Ð3Ü”qœ1‘u¤‘kÓ" oÒ5Ð5Ñ5r;   c                  óÌ   — t        t        t        «      «      dk(  sJ ‚t        t        t        dz   «      «      dk(  sJ ‚t        t        t        t        dz   z  «      «      dk(  sJ ‚y )Nzsinc(x / pi)r?   zsinc((x + 3) / pi)zsinc(x + 3))r5   r   rE   r   r:   r;   r<   Ú	test_sincrr   –   sU   € Ü”dœ1“gÓ .Ò0Ð0Ð0Ü”dœ1˜q™5“kÓ"Ð&:Ò:Ð:Ð:Ü”dœ2¤ Q¡™<Ó(Ó)¨]Ò:Ð:Ñ:r;   c            	      ó&  — t        t        dddg«      «      dk(  sJ ‚t        dt        t        dz  «      t	        t        «      gddt
        gdt        d«      t        t        «      gg«      } d}t        | «      |k(  sJ ‚t        | d d …df   «      dk(  sJ ‚t        | dd d …f   «      dk(  sJ ‚t        t        ddg «      «      d	k(  sJ ‚t        t        dd
g «      «      dk(  sJ ‚t        t        t        t        t        z
  t         gg«      «      dk(  sJ ‚y )NrP   é
   z[10]rN   r   zB[1 sin(x / 2)  abs(x);
0          1      pi;
0          e ceil(x)]z	[1, 0, 0]z[1 sin(x / 2) abs(x)]zzeros(0, 0)r?   zzeros(0, 3)z[x x - y -y])	r5   r"   r   rE   rK   r   r   r   rH   ©ÚAÚexpecteds     r<   Útest_Matricesrx   ›   s  € Ü”f˜Q  B 4Ó(Ó)¨VÒ3Ð3Ð3Ü�”Cœ˜!™“Hœc¤!›fÐ%Ø�A”r�
Ø”C˜“FœG¤A›JÐ'ð)ó 	*€Að(€Hô �a‹=˜HÒ$Ð$Ð$ä�aš˜!˜‘fÓ Ò,Ð,Ð,Ü�a˜š!˜‘fÓÐ!8Ò8Ð8Ð8ä”f˜Q  2Ó&Ó'¨=Ò8Ð8Ð8Ü”f˜Q  2Ó&Ó'¨=Ò8Ð8Ð8ä”fœq¤!¤a¡%¬!¨˜nÐ-Ó.Ó/°>ÒAÐAÑAr;   c                  ó¸   — t        dt        dt        z  «      dt        z  t        z  dz  gg«      } t	        | «      dk(  sJ ‚t	        | j
                  «      dk(  sJ ‚y )NrP   rN   r?   r[   z"[1 sin(2 ./ x) (3 // 5) * pi ./ x]z$[1, sin(2 ./ x), (3 // 5) * pi ./ x])r"   r   rE   r   r5   ÚT©rv   s    r<   Útest_vector_entries_hadamardr|   ®   sT   € ä�”C˜œ!™“H˜a¤™d¤1™f Q™hÐ'Ð(Ó)€AÜ�a‹=Ð@Ò@Ð@Ð@Ü�a—c‘c‹?ÐDÒDÐDÑDr;   c                  ó¦   — t        dt        dt        z  «      dt        z  t        z  dz  gddt        t        z  gg«      } d}t        | «      |k(  sJ ‚y )NrP   rN   r?   r[   z.[1 sin(2/x) 3*pi/(5*x);
1        2        x*y])r"   r   rE   r   rH   r5   ru   s     r<   Ú"test_Matrices_entries_not_hadamardr~   µ   sQ   € ô
 	�”C˜œ!™“H˜a¤™d¤1™f Q™hÐ'¨!¨Q´´!±¨Ð5Ó6€Að)€Hä�a‹=˜HÒ$Ð$Ñ$r;   c                  óÖ  — t        dd¬«      } t        d| | «      }t        d| | «      }t        ||z  «      dk(  sJ ‚t        ||z  «      dk(  sJ ‚t        d|z  |z  «      d	k(  sJ ‚t        |dz  |z  «      d
k(  sJ ‚t        ||dt        | «      z  z   z  «      dk(  sJ ‚t        |t        dz  z  «      dk(  sJ ‚t        |dz  «      dk(  sJ ‚t        |t
        j                  z  «      dk(  sJ ‚y )NÚnT)Úintegerrv   ÚBzA * BzB * ArN   z	2 * A * Bz	2 * B * Ar?   zA * (3 * eye(n) + B)zA ^ (x .^ 2)zA ^ 3zA ^ (1 // 2))r   r#   r5   r$   rE   r   rX   )r€   rv   r‚   s      r<   Útest_MatrixSymbolrƒ   À   sÿ   € Üˆs˜DÔ!€AÜ�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ�a˜‘c‹?˜gÒ%Ð%Ð%Ü�a˜‘c‹?˜gÒ%Ð%Ð%Ü�a˜‘c˜!‘eÓ Ò+Ð+Ð+Ü�a˜‘c˜!‘eÓ Ò+Ð+Ð+Ü�a˜˜Qœx¨›{™]Ñ*Ñ+Ó,Ð0FÒFÐFÐFÜ�aœ!˜Q™$‘iÓ  NÒ2Ð2Ð2Ü�a˜‘dÓ˜wÒ&Ð&Ð&Ü�aœŸ™‘iÓ  NÒ2Ð2Ñ2r;   c                  ó<   — t        dt        d«      z  «      dk(  sJ ‚y )Né   r?   z
6 * eye(3))r5   r$   r:   r;   r<   Útest_special_matricesr†   Î   s   € Ü�aœ ›‘mÓ$¨Ò4Ð4Ñ4r;   c            	      óp  — t        dddddddggdd	d
gdg«      dk(  sJ ‚t        d«      dk(  sJ ‚t        dg«      dk(  sJ ‚t        d«      dk(  sJ ‚t        t        g d¢Ž «      dk(  sJ ‚t        dt        t        z  dt        dz  ff«      dk(  sJ ‚t        dt	        d«      t        ddg «      g f«      dk(  sJ ‚y )NrP   rN   r?   rd   r[   r…   r@   é   rB   rt   é   z5Any[1, 2, 3, Any[4, 5, Any[6, 7]], 8, Any[9, 10], 11])rP   rN   )r?   rd   z(1, 2, (3, 4))zAny[1])rP   z(1,)©rP   rN   r?   z	(1, 2, 3)z(1, x .* y, (3, x .^ 2))r   z.(1, [1 0 0;
0 1 0;
0 0 1], zeros(0, 0), Any[]))r5   r
   rE   rH   r!   r"   r:   r;   r<   Útest_containersr‹   Ò   sà   € Ü�q˜!˜Q  A¨¨1 v °°A°r°7¸BÐ?Ó@Ø?ò@ð @ð @ä�nÓ%Ð)9Ò9Ð9Ð9Ü�q�c‹?˜hÒ&Ð&Ð&Ü�dÓ˜vÒ%Ð%Ð%Ü”ešYÐ'Ó(¨KÒ7Ð7Ð7Ü�qœ!œA™# ¤1 a¡4˜yÐ)Ó*Ð.HÒHÐHÐHä�qœ#˜a›&¤&¨¨A¨rÓ"2°BÐ7Ó8Ð<nÒnÐnÑnr;   c                  ó‚   — t        t        t        z   t        z  dd¬«      } dt        j                  d«      z  }| |k(  sJ ‚y )NÚmeF©Ú	assign_toÚinlinez)const Catalan = %s
me = (x + y) / Catalané   )r5   rE   rH   r   Úevalf)Úsourcerw   s     r<   Útest_julia_noninliner”   Þ   s@   € Üœœ1™œg™°¸eÔD€Fð	!ä�‰�bÓñ€Hð �XÒÐÑr;   c                  ó\  ‡— t        t        t        dk  ft        dz  df«      Št        ‰«      dk(  sJ ‚t        ‰d¬«      dk(  sJ ‚t        ‰dd¬	«      d
k(  sJ ‚t        t        dz  t        dk  ft        dz  t        dk  ft        dz  t        dk  ft        dz  df«      Šd} t        ‰«      | k(  sJ ‚t        ‰d¬«      d| z   k(  sJ ‚t        ‰dd¬	«      dk(  sJ ‚t        t        t        dk  ft        dz  t        dkD  ft        t        «      t        dkD  f«      Št	        t
        ˆfd„«       y )NrP   rN   Tz((x < 1) ? (x) : (x .^ 2))Úr©r�   zr = ((x < 1) ? (x) : (x .^ 2))FrŽ   z,if (x < 1)
    r = x
else
    r = x .^ 2
endr?   rd   r[   zI((x < 1) ? (x .^ 2) :
(x < 2) ? (x .^ 3) :
(x < 3) ? (x .^ 4) : (x .^ 5))zr = zmif (x < 1)
    r = x .^ 2
elseif (x < 2)
    r = x .^ 3
elseif (x < 3)
    r = x .^ 4
else
    r = x .^ 5
endr   c                  ó   •— t        ‰ «      S )Nr4   )Úexprs   €r<   ú<lambda>z&test_julia_piecewise.<locals>.<lambda>  s   ø€ œz¨$Ó/€ r;   )r   rE   r5   r   r   Ú
ValueError)rw   r™   s    @r<   Útest_julia_piecewiserœ   ç   s>  ø€ Ü”aœ˜Q™�Z¤! Q¡$¨ Ó.€DÜ�dÓÐ;Ò;Ð;Ð;Ü�d cÔ*Ø(ò*ð *ð *ä�d c°%Ô8ð	òð ð ô ”a˜‘dœA ™E�]¤Q¨¡T¬1¨q©5 M´A°q±D¼!¸a¹%°=Ä1ÀaÁ4ÈÀ,ÓO€Dð1€Hô �dÓ˜xÒ'Ð'Ð'Ü�d cÔ*¨f°xÑ.?Ò?Ð?Ð?Ü�d c°%Ô8ð	ò	ð 	ð 	ô ”aœ˜Q™�Z¤! Q¡$¬¨A© ´´Q³¼¸Q¹°Ó@€DÜ
Œ:Ó/Õ0r;   c                  óþ   — t        t        t        dk  ft        dz  df«      } t        d| z  «      dk(  sJ ‚t        | t        z  «      dk(  sJ ‚t        | t        t        z  z  «      dk(  sJ ‚t        | dz  «      dk(  sJ ‚y )	NrP   rN   Tz2 * ((x < 1) ? (x) : (x .^ 2))z((x < 1) ? (x) : (x .^ 2)) ./ xz&((x < 1) ? (x) : (x .^ 2)) ./ (x .* y)r?   z((x < 1) ? (x) : (x .^ 2)) / 3)r   rE   r5   rH   )Úpws    r<   Ú test_julia_piecewise_times_constrŸ     s‚   € Ü	”A”q˜1‘u�:¤ 1¡ d˜|Ó	,€BÜ�a˜‘dÓÐ?Ò?Ð?Ð?Ü�bœ‘dÓÐ@Ò@Ð@Ð@Ü�bœ!œA™#‘hÓÐ#KÒKÐKÐKÜ�b˜‘dÓÐ?Ò?Ð?Ñ?r;   c                  óŠ   — t        g d¢g«      } t        | d¬«      dk(  sJ ‚t        ddgddgg«      } t        | d	¬«      d
k(  sJ ‚y )NrŠ   Úar—   za = [1 2 3]rP   rN   r?   rd   rv   zA = [1 2;
3 4])r"   r5   r{   s    r<   Útest_julia_matrix_assign_tor¢     sP   € Ü’	ˆ{Ó€AÜ�a 3Ô'¨=Ò8Ð8Ð8Ü��A�˜˜A˜ÐÓ €AÜ�a 3Ô'Ð+<Ò<Ð<Ñ<r;   c                  óÊ   ‡‡— t        g d¢g«      Št        ddd«      } t        ddd«      Št        ‰| ¬«      dk(  sJ ‚t        t        ˆfd	„«       t        t        ˆˆfd
„«       y )NrŠ   r‚   rP   r?   ÚCrN   r—   zB = [1 2 3]c                  ó&   •— t        ‰ t        ¬«      S ©Nr—   )r5   rE   r{   s   €r<   rš   z2test_julia_matrix_assign_to_more.<locals>.<lambda>  s   ø€ œz¨!´qÔ9€ r;   c                  ó   •— t        ‰ ‰¬«      S r¦   r4   ©rv   r¤   s   €€r<   rš   z2test_julia_matrix_assign_to_more.<locals>.<lambda>  ó   ø€ œz¨!°qÔ9€ r;   ©r"   r#   r5   r   r›   ©r‚   rv   r¤   s    @@r<   Ú test_julia_matrix_assign_to_morer¬     sV   ù€ ä’	ˆ{Ó€AÜ�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ�a 1Ô%¨Ò6Ð6Ð6Ü
Œ:Ó9Ô:Ü
Œ:Ô9Õ:r;   c                  ó¢   ‡‡— t        dgg«      Št        ddd«      } t        ddd«      Št        ‰| ¬«      dk(  sJ ‚t        t        ˆˆfd„«       y )	Nr?   r‚   rP   r¤   rN   r—   zB = [3]c                  ó   •— t        ‰ ‰¬«      S r¦   r4   r¨   s   €€r<   rš   z'test_julia_matrix_1x1.<locals>.<lambda>'  r©   r;   rª   r«   s    @@r<   Útest_julia_matrix_1x1r¯      sN   ù€ Ü��ˆu‹€AÜ�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ�a 1Ô%¨Ò2Ð2Ð2ô Œ:Ô9Õ:r;   c                  óF  — t        t        dt        t        z  gg«      } t        | d   dz  | d   z   | d   z   «      dk(  sJ ‚t	        ddd«      } t        | «      dk(  sJ ‚t        | d   dz  t        | d   «      z   | d   z   «      d	k(  sJ ‚t        t        | «      «      d
k(  sJ ‚y )NrN   ©r   r   )r   rP   )r   rN   zx .^ 2 + x .* y + 2ÚAArP   r?   z%sin(AA[1,2]) + AA[1,1] .^ 2 + AA[1,3]zAA[1,1] + AA[1,2] + AA[1,3])r"   rE   rH   r5   r#   r   Úsumr{   s    r<   Útest_julia_matrix_elementsr´   *  s¶   € Ü”�A”qœ‘s�ˆ}Ó€AÜ�a˜‘g˜q‘j 1 T¡7Ñ*¨Q¨t©WÑ4Ó5Ð9NÒNÐNÐNÜ�T˜1˜aÓ €AÜ�a‹=˜DÒ Ð Ð Ü�a˜‘g˜q‘j¤3 q¨¡v£;Ñ.°°3±Ñ7Ó8Ø2ò3ð 3ð 3ä”c˜!“fÓÐ!>Ò>Ð>Ñ>r;   c                  ó¼   — t        d«      dk(  sJ ‚t        t        j                  «      dk(  sJ ‚t        d«      dk(  sJ ‚t        t        j                  «      dk(  sJ ‚y )NTÚtrueFÚfalse)r5   r   r¶   r·   r:   r;   r<   Útest_julia_booleanr¸   4  sV   € Ü�dÓ˜vÒ%Ð%Ð%Ü”a—f‘fÓ Ò'Ð'Ð'Ü�eÓ Ò'Ð'Ð'Ü”a—g‘gÓ 'Ò)Ð)Ñ)r;   c                  óò   — t        t        «      5  t        t        j                  «       d d d «       t        d«      } t         | t        «      j                  t        «      d¬«      dk(  sJ ‚y # 1 sw Y   ŒDxY w)NÚfF)Ústrictz:# Not supported in Julia:
# Derivative
Derivative(f(x), x))r   ÚNotImplementedErrorr5   r   ÚComplexInfinityr   rE   Údiff)rº   s    r<   Útest_julia_not_supportedr¿   ;  sc   € Ü	Ô#Ó	$ñ &Ü”1×$Ñ$Ô%÷&ô 	�‹€AÜ‘aœ“d—i‘i¤“l¨5Ô1ð	òð ñ ÷	&ð &ús   �A-Á-A6c                  ó’   — t        d«      } t        d«      }t        | t        dk  f|t        dk  fd«      }t        |d¬«      dk(  sJ ‚y )	NÚendlessÚ	elsewherer   rP   )rP   TF)r�   zCif (x < 0)
    endless
elseif (x <= 1)
    elsewhere
else
    1
end)r   r   rE   r5   )Út1Út2rž   s      r<   Ú%test_trick_indent_with_end_else_wordsrÅ   G  sP   € ä	
ˆ9‹€BÜ	
ˆ;‹€BÜ	�Bœ˜A™�; ¤Q¨!¡V ¨iÓ	8€BÜ�b Ô'ð	òð ñ r;   c                  óX  — t        ddd«      } t        ddd«      }t        ddd«      }t        ddd«      }t        | |«      }t        |«      dk(  sJ ‚t        ||z  «      dk(  sJ ‚t        ||z  |z  «      d	k(  sJ ‚t        || z  «      d
k(  sJ ‚t        |t        z  t        z  «      dk(  sJ ‚y )Nrv   r?   r‚   ÚvrP   ÚhzA .* Bz(A .* B) * vzh * (A .* B) * vz(A .* B) * Az(x .* y) * (A .* B))r#   r%   r5   rE   rH   )rv   r‚   rÇ   rÈ   r¤   s        r<   Útest_haramardrÉ   V  s¼   € Ü�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ˜˜1Ó€AÜ�a‹=˜HÒ$Ð$Ð$Ü�a˜‘c‹?˜nÒ,Ð,Ð,Ü�a˜‘c˜!‘eÓÐ 2Ò2Ð2Ð2Ü�a˜‘c‹?˜nÒ,Ð,Ð,ä�aœ‘cœ!‘eÓÐ 5Ò5Ð5Ñ5r;   c                  ó†   — t        ddi «      } d| d<   d| d<   d| d<   d	| d
<   t        t        z  | d<   t        | «      dk(  sJ ‚y )Nr[   r…   rt   )rN   rN   é   )rP   rN   é   )rP   r?   é   )r   r?   )r?   r   zHsparse([4, 2, 3, 1, 2], [1, 3, 3, 4, 4], [x .* y, 20, 10, 30, 22], 5, 6))r&   rE   rH   r5   )ÚMs    r<   Útest_sparserÏ   d  sZ   € Ü�Q˜˜2Ó€AØ€A€d�GØ€A€d�GØ€A€d�GØ€A€d�GÜ”‰c€A€d�GÜ�a‹=ØRòð ñ r;   c                  ó  — t        d«      } t        t        t        t        fD ]*  }t         || t        «      «      |j                  dz   k(  rŒ*J ‚ t        t        t        t        fD ])  }t         |t        «      «      |j                  dz   k(  rŒ)J ‚ t        t        | t        «      «      dk(  sJ ‚t        t        | t        «      «      dk(  sJ ‚t        t        | t        «      «      dk(  sJ ‚t        t        | t        «      «      dk(  sJ ‚y )Nr€   z(n, x)z(x)zhankelh1(n, x)zhankelh2(n, x)z?sqrt(2) * sqrt(pi) * sqrt(1 ./ x) .* besselj(n + 1 // 2, x) / 2z?sqrt(2) * sqrt(pi) * sqrt(1 ./ x) .* bessely(n + 1 // 2, x) / 2)r   r)   r*   r+   r,   r5   rE   Ú__name__r/   r1   r0   r2   r-   r.   r'   r(   )r€   rº   s     r<   Útest_specfunrÒ   p  så   € Üˆs‹€AÜ”w¤¬Ð1ò <ˆÜ™!˜Aœq›'Ó" a§j¡j°8Ñ&;Ó;Ð;Ð;ð<ä”k¤6¬;Ð7ò 6ˆÜ™!œA›$Ó 1§:¡:°Ñ#5Ó5Ð5Ð5ð6ä”g˜a¤“mÓ$Ð(8Ò8Ð8Ð8Ü”g˜a¤“mÓ$Ð(8Ò8Ð8Ð8Ü”b˜œA“hÓÐ#dÒdÐdÐdÜ”b˜œA“hÓÐ#dÒdÐdÑdr;   c                  óô   — t        ddd«      } t        ddd«      }t        ddd«      }t        | d   «      dk(  sJ ‚t        d| d   z  «      dk(  sJ ‚|d   j                  || |z
  «      }t        |«      d	k(  sJ ‚y )
Nrv   rP   r?   r‚   r¤   r±   zA[1,1]z
3 * A[1,1]z(A - B)[1,1])r#   r5   Úsubs)rv   r‚   r¤   ÚFs       r<   Útest_MatrixElement_printingrÖ   |  sˆ   € ä�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ�S˜!˜QÓ€Aä�a˜‘gÓ (Ò*Ð+Ð*Ü�a˜!˜D™'‘kÓ" lÒ2Ð3Ð2à	ˆ$‰�‰�Q˜˜A™Ó€AÜ�a‹=˜NÒ*Ð+Ñ*r;   N)^Ú
sympy.corer   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   Úsympy.functionsr   r   r   r   r   r   r   Úsympy.testing.pytestr   Úsympy.utilities.lambdifyr    Úsympy.matricesr!   r"   r#   r$   r%   r&   Úsympy.functions.special.besselr'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   Úsympy.printing.juliar5   rE   rH   r\   r=   rF   rI   rL   rS   rV   rY   r]   r_   re   rl   rn   rp   rr   rx   r|   r~   rƒ   r†   r‹   r”   rœ   rŸ   r¢   r¬   r¯   r´   r¸   r¿   rÅ   rÉ   rÏ   rÒ   rÖ   r:   r;   r<   ú<module>rÞ      s.  ð÷?÷ ?÷ ?÷ ?ñ ?ç I× Iß I× IÑ IÝ 'Ý 9÷;÷ ;÷N÷ N÷ Nó Nõ 'å +á
�'Ó
�€€1€aò+ò
:ò,ò/ò	Yò"ò2òAò64ò*ò%ò8ò6ò;ò
Bò&Eð ñ%ó ð%ò3ò5ò	oòò1ò@@ò=ò;ò;ò?ò*ò	òò6ò	ò	eó
,r;   