§
    ^²Åj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 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.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4 d dlm5Z5 d d	l6m7Z7  ed
¦  «        \  Z8Z9Z:d„ Z;d„ Z<d„ Z=d„ Z>d„ Z?d„ Z@d„ ZAd„ ZBd„ ZCd„ ZDd„ ZEd„ ZFd„ ZGd„ ZHd„ ZIe5d„ ¦   «         ZJd„ ZKd„ ZLd„ ZMd„ ZNd„ ZOd „ ZPd!„ ZQd"„ ZRd#„ ZSd$„ ZTd%„ ZUd&„ ZVd'„ ZWd(„ ZXd)„ ZYd*„ ZZd+„ Z[d,S )-é    )Ú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)Ú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                  óŽ   — t          t          d¦  «        ¦  «        dk    sJ ‚t          t          d¦  «        ¦  «        dk    sJ ‚d S )NéC   Ú67éÿÿÿÿz-1)r4   r	   © ó    úPC:\Projects\Historical\venv\Lib\site-packages\sympy/printing/tests/test_julia.pyÚtest_Integerr<      sF   € Ý•g˜b‘k”kÑ"Ô" dÒ*Ð*Ð*Ð*Ý•g˜b‘k”kÑ"Ô" dÒ*Ð*Ð*Ð*Ð*Ð*r:   c                  óÊ  — 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 ‚d S )Né   é   z3 // 7é   é	   Ú2iùÿÿÿz-3 // 7éýÿÿÿz
x + 3 // 7z(3 // 7) * x)r4   r   Úxr9   r:   r;   Útest_RationalrE      sÚ   € Ý•h˜q !‘n”nÑ%Ô%¨Ò1Ð1Ð1Ð1Ý•h˜r 1‘o”oÑ&Ô&¨#Ò-Ð-Ð-Ð-Ý•h˜q "‘o”oÑ&Ô&¨)Ò3Ð3Ð3Ð3Ý•h˜r 2Ñ&Ô&Ñ'Ô'¨8Ò3Ð3Ð3Ð3Ý•a�( 1 a™.œ.Ñ(Ñ)Ô)¨\Ò9Ð9Ð9Ð9Ý•h˜q !‘n”n¥QÑ&Ñ'Ô'¨>Ò9Ð9Ð9Ð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 ‚d S )Nzx == yzx != yzx <= yzx < yzx > yzx >= y)	r4   r   rD   Úyr   r   r   r   r   r9   r:   r;   Útest_RelationalrH   !   sÎ   € Ý•b��A‘h”hÑÔ 8Ò+Ð+Ð+Ð+Ý•b��A‘h”hÑÔ 8Ò+Ð+Ð+Ð+Ý•b��A‘h”hÑÔ 8Ò+Ð+Ð+Ð+Ý•b��A‘h”hÑÔ 7Ò*Ð*Ð*Ð*Ý•b��A‘h”hÑÔ 7Ò*Ð*Ð*Ð*Ý•b��A‘h”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 ‚d S )Nzsin(x) .^ cos(x)zabs(x)zceil(x))r4   r   rD   r   Úabsr   r9   r:   r;   Útest_FunctionrK   *   sq   € Ý•c�!‘f”f¥¥A¡¤Ñ&Ñ'Ô'Ð+=Ò=Ð=Ð=Ð=Ý•c�!‘f”fÑÔ Ò)Ð)Ð)Ð)Ý•g�a‘j”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 ‚d S )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)Úevaluater8   z-2 * x ./ (y .* y))r4   rD   rG   r   r   r   r   r   )rN   s    r;   Útest_PowrR   0   sA  € Ý•a˜‘dÑÔ˜xÒ'Ð'Ð'Ð'Ý•a�!˜Q™$‘iÑ Ô  OÒ3Ð3Ð3Ð3Ý•a� ! Q™œÑ'Ñ(Ô(¨OÒ;Ð;Ð;Ð;Ý˜S¥&­¨A­a©C¡.¤.Ñ1Ô1€AÝ�a˜˜�1™œ˜c™¥Q­­A©¡XÑ.Ñ.µ°1±µq±Ñ9Ñ:Ô:Ø8ò9ð 9ð 9ð 9õ •c˜"�a¥¥S­­1°eÐ%<Ñ%<Ô%<¸bÈ5Ð!QÑ!QÔ!QØ9>ð@ñ @ô @ñ Aô AØDXòYð Yð Yð 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 ‚d S )Núx .* yzx + yzx - yz-x)r4   rD   rG   r9   r:   r;   Útest_basic_opsrU   <   sv   € Ý•a�‘c‰?Œ?˜hÒ&Ð&Ð&Ð&Ý•a�!‘eÑÔ Ò'Ð'Ð'Ð'Ý•a�!‘eÑÔ Ò'Ð'Ð'Ð'Ý•q�b‰>Œ>˜TÒ!Ð!Ð!Ð!Ð!Ð!r:   c                  óX  — t          dt          z  ¦  «        dk    sJ ‚t          t          dz  ¦  «        t          t          dz  ¦  «        cxk    rdk    sn 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n J ‚t          t          t          ¦  «        ¦  «        dk    sJ ‚t          t          t          j        z  ¦  «        t          t          dz  ¦  «        cxk    rdk    sn J ‚t          dt
          z  ¦  «        d	k    sJ ‚t          t
          dz  ¦  «        t          t
          dz  ¦  «        cxk    rd	k    sn J ‚t          t
          dz  ¦  «        d
k    sJ ‚d S )NrO   z1 ./ xr8   g      ð¿z1 ./ sqrt(x)g      à¿zsqrt(x)g      à?z1 / piz1 / sqrt(pi))r4   rD   r   r   ÚHalfr   r9   r:   r;   Útest_1_over_x_and_sqrtrX   C   s›  € õ �a�‘c‰?Œ?˜hÒ&Ð&Ð&Ð&Ý•a˜‘eÑÔ¥
­1¨d©7Ñ 3Ô 3Ð?Ð?Ò?Ð?°xÒ?Ð?Ð?Ð?Ð?Ð?Ý�a��Q™œ‘iÑ Ô  NÒ2Ð2Ð2Ð2Ý•a�!œ&˜‘jÑ!Ô!¥Zµ°4±Ñ%8Ô%8ÐJÐJÒJÐJ¸NÒJÐJÐJÐJÐJÐJÝ•d�1‘g”gÑÔ )Ò+Ð+Ð+Ð+Ý•a�œ‘iÑ Ô ¥J­q°#©vÑ$6Ô$6ÐCÐCÒCÐC¸)ÒCÐCÐCÐCÐCÐCÝ�a�‘dÑÔ˜xÒ'Ð'Ð'Ð'Ý•b˜"‘fÑÔ¥­B°©HÑ!5Ô!5ÐAÐAÒAÐA¸ÒAÐAÐAÐAÐAÐAÝ•b˜$‘hÑÔ >Ò1Ð1Ð1Ð1Ð1Ð1r:   c                  ód  — 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 ‚d S )Nr>   z3 * xzpi * xz3 ./ xzpi ./ xzx / 3zx / pirT   z
3 * x .* yz3 * pi * x .* yzx ./ yz
3 * x ./ yzx .* y ./ zzx .* z ./ yrO   z1 ./ (x .* y)rM   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)r4   rD   r   rG   Úzr   r   r9   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Ð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”d˜1‘fÑÔ Ò)Ð)Ð)Ð)Ý•a˜‘d”d˜1‘f�Q‘hÑÔ >Ò1Ð1Ð1Ð1Ý•a�‘c�!‘eÑÔ Ò/Ð/Ð/Ð/Ý•q�‘s�A‘gÑÔ .Ò0Ð0Ð0Ð0Ý•q�‘s�Q�q™S‘kÑ"Ô"Ð&:Ò:Ð:Ð:Ð:Ý•q�‘s�JÑ&Ñ'Ô'Ð+AÒAÐAÐAÐAÝ•a˜‘c�"‘fÑÔ Ò/Ð/Ð/Ð/Ý•a˜‘d”d˜1‘f�Q‘h�q‘j¥‘mÑ$Ô$Ð(@Ò@Ð@Ð@Ð@Ð@Ð@r:   c                  ó°  — 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 ‚d S )	Nr>   zpi ^ 3rM   zx .^ 2zx .^ (pi ^ 3)zx .^ yzx .^ (y .^ z)z(x .^ y) .^ z)r4   r   rD   rG   r[   r9   r:   r;   Útest_mix_number_pow_symbolsr^   l   sÂ   € Ý•b˜!‘eÑÔ Ò(Ð(Ð(Ð(Ý•a˜‘dÑÔ˜xÒ'Ð'Ð'Ð'Ý•a�"˜a™%‘jÑ!Ô! _Ò4Ð4Ð4Ð4Ý•a�‘dÑÔ˜xÒ'Ð'Ð'Ð'Ý•a�!�Q™$‘iÑ Ô  OÒ3Ð3Ð3Ð3Ý•q�!‘t�a‘iÑ Ô  OÒ3Ð3Ð3Ð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 ‚d S )
NÚIÚimrZ   Ú5imr>   rM   z(3 // 2) * imé   z3 + 4im)r   r4   )r`   s    r;   Ú	test_imagrd   u   s�   € Ý	ˆ#‰Œ€AÝ�a‰=Œ=˜DÒ Ð Ð Ð Ý�a˜‘c‰?Œ?˜eÒ#Ð#Ð#Ð#Ý•q˜‘t”t˜A‘v˜q‘jÑ!Ô! _Ò4Ð4Ð4Ð4Ý�a˜˜!™‘eÑÔ 	Ò)Ð)Ð)Ð)Ð)Ð)r:   c                  ó¢  — 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 ‚d S )Nr   ÚInfz-InfÚNaNÚerO   )r4   r   r   r   ÚNegativeInfinityrg   ÚExp1r   r9   r:   r;   Útest_constantsrk   }   sÀ   € Ý•b‰>Œ>˜TÒ!Ð!Ð!Ð!Ý•b‰>Œ>˜UÒ"Ð"Ð"Ð"Ý•r�c‰?Œ?˜fÒ$Ð$Ð$Ð$Ý•aÔ(Ñ)Ô)¨VÒ3Ð3Ð3Ð3Ý•a”eÑÔ Ò%Ð%Ð%Ð%Ý•a”fÑÔ Ò$Ð$Ð$Ð$Ý•c˜!‘f”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 ‚d S )NrM   z
2 * goldenz2 * catalanz2 * eulergamma)r4   r   r   r   r9   r:   r;   Útest_constants_otherrm   ‡   s`   € Ý�a�‘mÑ$Ô$¨Ò4Ð4Ð4Ð4Ý�a�‘iÑ Ô  MÒ1Ð1Ð1Ð1Ý�a�
‘lÑ#Ô#Ð'7Ò7Ð7Ð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 ‚d S )Nzx && yzx || yz!xzx && y && zzx || y || zzz || x && yzz && (x || y))r4   rD   rG   r[   r9   r:   r;   Útest_booleanro   �   sß   € Ý•a�!‘eÑÔ Ò(Ð(Ð(Ð(Ý•a�!‘eÑÔ Ò(Ð(Ð(Ð(Ý•q�b‰>Œ>˜TÒ!Ð!Ð!Ð!Ý•a�!‘e�a‘iÑ Ô  MÒ1Ð1Ð1Ð1Ý•a�!‘e�a‘iÑ Ô  MÒ1Ð1Ð1Ð1Ý•q�1‘u¥‘kÑ"Ô" mÒ3Ð3Ð3Ð3Ý•q�1‘u¥‘kÑ"Ô" oÒ5Ð5Ð5Ð5Ð5Ð5r:   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 ‚d S )NrO   é
   z[10]rM   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])	r4   r!   r   rD   rJ   r   r   r   rG   ©ÚAÚexpecteds     r;   Útest_Matricesru   —   s`  € Ý•f˜Q  B 4Ñ(Ô(Ñ)Ô)¨VÒ3Ð3Ð3Ð3Ý�•C�˜!™‘H”H�c¥!™fœfÐ%Ø�A•r�
Ø•C˜‘F”F�G¥A™JœJÐ'ð)ñ 	*ô 	*€Að(€Hõ �a‰=Œ=˜HÒ$Ð$Ð$Ð$å�a˜˜˜˜!˜”fÑÔ Ò,Ð,Ð,Ð,Ý�a˜˜!˜!˜!˜”fÑÔÐ!8Ò8Ð8Ð8Ð8å•f˜Q  2Ñ&Ô&Ñ'Ô'¨=Ò8Ð8Ð8Ð8Ý•f˜Q  2Ñ&Ô&Ñ'Ô'¨=Ò8Ð8Ð8Ð8å•f�q¥!¥a¡%­!¨˜nÐ-Ñ.Ô.Ñ/Ô/°>ÒAÐAÐAÐ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 ‚d S )NrO   rM   r>   rZ   z"[1 sin(2 ./ x) (3 // 5) * pi ./ x]z$[1, sin(2 ./ x), (3 // 5) * pi ./ x])r!   r   rD   r   r4   ÚT©rs   s    r;   Útest_vector_entries_hadamardry   ª   sg   € å�•C˜�!™‘H”H˜a¥™d¥1™f Q™hÐ'Ð(Ñ)Ô)€AÝ�a‰=Œ=Ð@Ò@Ð@Ð@Ð@Ý�a”c‰?Œ?ÐDÒDÐDÐ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 ‚d S )NrO   rM   r>   rZ   z.[1 sin(2/x) 3*pi/(5*x);
1        2        x*y])r!   r   rD   r   rG   r4   rr   s     r;   Ú"test_Matrices_entries_not_hadamardr{   ±   sa   € õ
 	�•C˜�!™‘H”H˜a¥™d¥1™f Q™hÐ'¨!¨Qµµ!±¨Ð5Ñ6Ô6€Að)€Hå�a‰=Œ=˜HÒ$Ð$Ð$Ð$Ð$Ð$r:   c                  óB  — 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 ‚d S )NÚnT)Úintegerrs   ÚBzA * BzB * ArM   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"   r4   r#   rD   r   rW   )r}   rs   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ÐFÝ�a�!˜Q™$‘iÑ Ô  NÒ2Ð2Ð2Ð2Ý�a˜‘dÑÔ˜wÒ&Ð&Ð&Ð&Ý�a�œ‘iÑ Ô  NÒ2Ð2Ð2Ð2Ð2Ð2r:   c                  óP   — t          dt          d¦  «        z  ¦  «        dk    sJ ‚d S )Né   r>   z
6 * eye(3))r4   r#   r9   r:   r;   Útest_special_matricesrƒ   Ê   s+   € Ý�a� ™œ‘mÑ$Ô$¨Ò4Ð4Ð4Ð4Ð4Ð4r:   c            	      óÐ  — 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 ‚d S )NrO   rM   r>   rc   rZ   r‚   r?   é   rA   rq   é   z5Any[1, 2, 3, Any[4, 5, Any[6, 7]], 8, Any[9, 10], 11])rO   rM   )r>   rc   z(1, 2, (3, 4))zAny[1])rO   z(1,)©rO   rM   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[]))r4   r
   rD   rG   r    r!   r9   r:   r;   Útest_containersrˆ   Î   s  € Ý�q˜!˜Q  A¨¨1 v °°A°r°7¸BÐ?Ñ@Ô@Ø?ò@ð @ð @ð @å�nÑ%Ô%Ð)9Ò9Ð9Ð9Ð9Ý�q�c‰?Œ?˜hÒ&Ð&Ð&Ð&Ý�dÑÔ˜vÒ%Ð%Ð%Ð%Ý•e˜Y˜Y˜YÐ'Ñ(Ô(¨KÒ7Ð7Ð7Ð7Ý�q�!�A™# ¥1 a¡4˜yÐ)Ñ*Ô*Ð.HÒHÐHÐHÐHå�q�#˜a™&œ&¥&¨¨A¨rÑ"2Ô"2°BÐ7Ñ8Ô8Ð<nÒnÐnÐnÐnÐnÐnr:   c                  ó’   — t          t          t          z   t          z  dd¬¦  «        } dt          j        d¦  «        z  }| |k    sJ ‚d S )NÚmeF©Ú	assign_toÚinlinez)const Catalan = %s
me = (x + y) / Catalané   )r4   rD   rG   r   Úevalf)Úsourcert   s     r;   Útest_julia_noninliner‘   Ú   sP   € Ý��1™�g™°¸eÐDÑDÔ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k    ft          t          ¦  «        t          dk    f¦  «        Št	          t
          ˆfd„¦  «         d S )NrO   rM   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>   rc   rZ   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 )Nr3   )Úexprs   €r;   ú<lambda>z&test_julia_piecewise.<locals>.<lambda>   s   ø€ �z¨$Ñ/Ô/€ r:   )r   rD   r4   r   r   Ú
ValueError)rt   r–   s    @r;   Útest_julia_piecewiser™   ã   s”  ø€ Ý•a�˜Qš�Z¥! Q¡$¨ Ñ.Ô.€DÝ�dÑÔÐ;Ò;Ð;Ð;Ð;Ý�d cÐ*Ñ*Ô*Ø(ò*ð *ð *ð *å�d c°%Ð8Ñ8Ô8ð	òð ð ð õ •a˜‘d�A šE�]¥Q¨¡T­1¨qª5 MµA°q±D½!¸aº%°=Å1ÀaÁ4ÈÀ,ÑOÔO€Dð1€Hõ �dÑÔ˜xÒ'Ð'Ð'Ð'Ý�d cÐ*Ñ*Ô*¨f°xÑ.?Ò?Ð?Ð?Ð?Ý�d c°%Ð8Ñ8Ô8ð	ò	ð 	ð 	ð 	õ •a�˜Qš�Z¥! Q¡$­¨Aª µµQ±´½¸Qº°Ñ@Ô@€DÝ
�:Ð/Ð/Ð/Ð/Ñ0Ô0Ð0Ð0Ð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 ‚d S )	NrO   rM   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   rD   r4   rG   )Ú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Ð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 ‚d S )Nr‡   Úar”   za = [1 2 3]rO   rM   r>   rc   rs   zA = [1 2;
3 4])r!   r4   rx   s    r;   Útest_julia_matrix_assign_torŸ     sr   € Ý�	�	�	ˆ{ÑÔ€AÝ�a 3Ð'Ñ'Ô'¨=Ò8Ð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
„¦  «         d S )Nr‡   r   rO   r>   ÚCrM   r”   zB = [1 2 3]c                  ó0   •— t          ‰ t          ¬¦  «        S ©Nr”   )r4   rD   rx   s   €r;   r—   z2test_julia_matrix_assign_to_more.<locals>.<lambda>  s   ø€ �z¨!µqÐ9Ñ9Ô9€ r:   c                  ó&   •— t          ‰ ‰¬¦  «        S r£   r3   ©rs   r¡   s   €€r;   r—   z2test_julia_matrix_assign_to_more.<locals>.<lambda>  ó   ø€ �z¨!°qÐ9Ñ9Ô9€ r:   ©r!   r"   r4   r   r˜   ©r   rs   r¡   s    @@r;   Ú test_julia_matrix_assign_to_morer©     s”   øø€ å�	�	�	ˆ{ÑÔ€AÝ�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AÝ�a 1Ð%Ñ%Ô%¨Ò6Ð6Ð6Ð6Ý
�:Ð9Ð9Ð9Ð9Ñ:Ô:Ð:Ý
�:Ð9Ð9Ð9Ð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„¦  «         d S )	Nr>   r   rO   r¡   rM   r”   zB = [3]c                  ó&   •— t          ‰ ‰¬¦  «        S r£   r3   r¥   s   €€r;   r—   z'test_julia_matrix_1x1.<locals>.<lambda>#  r¦   r:   r§   r¨   s    @@r;   Útest_julia_matrix_1x1r¬     sx   øø€ Ý��ˆu‰Œ€AÝ�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AÝ�a 1Ð%Ñ%Ô%¨Ò2Ð2Ð2Ð2õ �:Ð9Ð9Ð9Ð9Ð9Ñ:Ô:Ð:Ð:Ð:r:   c                  óº  — 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 ‚d S )NrM   ©r   r   )r   rO   )r   rM   zx .^ 2 + x .* y + 2ÚAArO   r>   z%sin(AA[1,2]) + AA[1,1] .^ 2 + AA[1,3]zAA[1,1] + AA[1,2] + AA[1,3])r!   rD   rG   r4   r"   r   Úsumrx   s    r;   Útest_julia_matrix_elementsr±   &  sß   € Ý•�A•q�‘s�ˆ}ÑÔ€AÝ�a˜”g˜q‘j 1 T¤7Ñ*¨Q¨t¬WÑ4Ñ5Ô5Ð9NÒNÐNÐNÐNÝ�T˜1˜aÑ Ô €AÝ�a‰=Œ=˜DÒ Ð Ð Ð Ý�a˜”g˜q‘j¥3 q¨¤v¡;¤;Ñ.°°3´Ñ7Ñ8Ô8Ø2ò3ð 3ð 3ð 3å•c˜!‘f”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 ‚d S )NTÚtrueFÚfalse)r4   r   r³   r´   r9   r:   r;   Útest_julia_booleanrµ   0  sp   € Ý�dÑÔ˜vÒ%Ð%Ð%Ð%Ý•a”fÑÔ Ò'Ð'Ð'Ð'Ý�eÑÔ Ò'Ð'Ð'Ð'Ý•a”gÑÔ 'Ò)Ð)Ð)Ð)Ð)Ð)r:   c                  ó(  — t          t          ¦  «        5  t          t          j        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          d¦  «        } t           | t          ¦  «                             t          ¦  «        d¬¦  «        dk    sJ ‚d S )NÚfF)Ústrictz:# Not supported in Julia:
# Derivative
Derivative(f(x), x))r   ÚNotImplementedErrorr4   r   ÚComplexInfinityr   rD   Údiff)r·   s    r;   Útest_julia_not_supportedr¼   7  sÉ   € Ý	Õ#Ñ	$Ô	$ð &ð &Ý•1Ô$Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &õ 	�‰Œ€AÝ�a�a�‘d”d—i’i¥‘l”l¨5Ð1Ñ1Ô1ð	òð ð ð ð ð s   •;»?Á?c                  ó¾   — t          d¦  «        } t          d¦  «        }t          | t          dk     f|t          dk    fd¦  «        }t          |d¬¦  «        dk    sJ ‚d S )	NÚendlessÚ	elsewherer   rO   )rO   TF)r�   zCif (x < 0)
    endless
elseif (x <= 1)
    elsewhere
else
    1
end)r   r   rD   r4   )Út1Út2r›   s      r;   Ú%test_trick_indent_with_end_else_wordsrÂ   C  sl   € å	
ˆ9‰Œ€BÝ	
ˆ;‰Œ€BÝ	�B�˜Aš�; ¥Q¨!¢V ¨iÑ	8Ô	8€BÝ�b Ð'Ñ'Ô'ð	òð ð ð ð ð r:   c                  ó¸  — 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 ‚d S )Nrs   r>   r   ÚvrO   ÚhzA .* Bz(A .* B) * vzh * (A .* B) * vz(A .* B) * Az(x .* y) * (A .* B))r"   r$   r4   rD   rG   )rs   r   rÄ   rÅ   r¡   s        r;   Útest_haramardrÆ   R  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Ð2Ý�a˜‘c‰?Œ?˜nÒ,Ð,Ð,Ð,å�a�‘c�!‘eÑÔÐ 5Ò5Ð5Ð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 ‚d S )NrZ   r‚   rq   )rM   rM   é   )rO   rM   é   )rO   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%   rD   rG   r4   )ÚMs    r;   Útest_sparserÌ   `  sn   € Ý�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    sJ ‚Œ/t          t          t          t          fD ]-}t           |t          ¦  «        ¦  «        |j        dz   k    s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 ‚d S )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+   r4   rD   Ú__name__r.   r0   r/   r1   r,   r-   r&   r'   )r}   r·   s     r;   Útest_specfunrÏ   l  s#  € Ýˆs‰Œ€AÝ•w¥­Ð1ð <ð <ˆÝ˜!˜!˜A�q™'œ'Ñ"Ô" a¤j°8Ñ&;Ò;Ð;Ð;Ð;Ð;Ý•k¥6­;Ð7ð 6ð 6ˆÝ˜!˜!�A™$œ$ÑÔ 1¤:°Ñ#5Ò5Ð5Ð5Ð5Ð5Ý•g˜a¥‘m”mÑ$Ô$Ð(8Ò8Ð8Ð8Ð8Ý•g˜a¥‘m”mÑ$Ô$Ð(8Ò8Ð8Ð8Ð8Ý•b˜�A‘h”hÑÔÐ#dÒdÐdÐdÐdÝ•b˜�A‘h”hÑÔÐ#dÒdÐdÐdÐdÐdÐdr:   c                  óF  — 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                              || |z
  ¦  «        }t          |¦  «        d	k    sJ ‚d S )
Nrs   rO   r>   r   r¡   r®   zA[1,1]z
3 * A[1,1]z(A - B)[1,1])r"   r4   Úsubs)rs   r   r¡   ÚFs       r;   Útest_MatrixElement_printingrÓ   x  s«   € å�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€Aå�a˜”gÑÔ (Ò*Ð*Ð*Ð*Ý�a˜!˜Dœ'‘kÑ"Ô" lÒ2Ð2Ð2Ð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   Ú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.   r/   r0   r1   r2   Úsympy.printing.juliar4   rD   rG   r[   r<   rE   rH   rK   rR   rU   rX   r\   r^   rd   rk   rm   ro   ru   ry   r{   r€   rƒ   rˆ   r‘   r™   rœ   rŸ   r©   r¬   r±   rµ   r¼   rÂ   rÆ   rÌ   rÏ   rÓ   r9   r:   r;   ú<module>rÛ      s�  ðð?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?à IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CØ 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9ð;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ðNð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð 'Ð &Ð &Ð &Ð &Ð &à +Ð +Ð +Ð +Ð +Ð +à
ˆ'�'Ñ
Ô
�€€1€að+ð +ð +ð
:ð :ð :ð,ð ,ð ,ð/ð /ð /ð	Yð 	Yð 	Yð"ð "ð "ð2ð 2ð 2ðAð Að Að64ð 4ð 4ð*ð *ð *ð%ð %ð %ð8ð 8ð 8ð6ð 6ð 6ðBð Bð Bð&Eð Eð Eð ð%ð %ñ „ð%ð3ð 3ð 3ð5ð 5ð 5ð	oð 	oð 	oðð ð ð1ð 1ð 1ð@@ð @ð @ð=ð =ð =ð;ð ;ð ;ð;ð ;ð ;ð?ð ?ð ?ð*ð *ð *ð	ð 	ð 	ðð ð ð6ð 6ð 6ð	ð 	ð 	ð	eð 	eð 	eð
,ð 
,ð 
,ð 
,ð 
,r:   