a
    {þd)\ ã                   @   sķ  d dl mZ d dlmZmZ d dlmZ edddgidZerŠ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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$ d d
l%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0 d dl1m2Z2m3Z3m4Z4 d dl5m6Z6 d dl1m7Z7m8Z8 d dl9Z9dd Z:edd Z;edd Z<edd Z=dd Z>dd Z?dd Z@dd ZAdd  ZBed!d" ZCd#d$ ZDd%d& ZEd'd( ZFd)d* ZGnd+d, ZHdS )-é    ĐÚSymPyExpression)ÚraisesÚXFAIL)Úimport_modulezclang.cindexÚfromlistZcindex)Zimport_kwargs)ÚVariableÚStringÚReturnÚFunctionDefinitionÚIntegerÚFloatÚDeclarationÚ	CodeBlockÚFunctionPrototypeÚFunctionCallÚ	NoneTokenÚ
AssignmentÚTypeÚIntBaseTypeÚSignedIntTypeÚUnsignedIntTypeÚ	FloatTypeÚAddAugmentedAssignmentÚSubAugmentedAssignmentÚMulAugmentedAssignmentÚDivAugmentedAssignmentÚModAugmentedAssignmentÚWhile)ÚPreDecrementÚPostDecrementÚPreIncrementÚPostIncrement)ÚAddÚMulÚModÚPowÚRationalÚStrictLessThanÚLessThanÚStrictGreaterThanÚGreaterThanÚEqualityÚ
Unequality)ÚAndÚNotÚOr)ÚSymbol)ÚfalseÚtrueNc               
   C   s  d} d}d}d}t | d Ą }t |d Ą }t |d Ą }t |d Ą }|d tttdttdd	kspJ |d
 tttdttdd	ksJ |d tttdttdtdtdtddd	ksÔJ |d
 tttdttdtdtdtddd	ksJ |d tttdttdd	ks<J |d
 tttdttdtdtdtddd	kszJ |d tttdttdd	ksĪJ |d tttdttdtd
dksÔJ |d
 tttdttdtddksJ |d tttdttdtdtdtddt	ddddksLJ |d tttdttdtdtdtddt	ddddksJ d S )Núint a;
int b;
zfloat a;
float b;
zint a;
float b;
int c;z+int x = 1, y = 6.78;
float p = 2, q = 9.67;Úcr   ÚaÚintcĐÚtypeé   ÚbÚfloat32é    é   é   ĐÚnbitsZnmantZnexpé   ÚxĐr9   ÚvalueÚyé   Úpú2.0é5   ĐZ	precisioné   Úqz9.67)
r   Úreturn_exprr   r   r1   r   r	   r   r   r   ĐÚc_src1Úc_src2Úc_src3Úc_src4Úres1Úres2Úres3Úres4Đ rX   új/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/sympy/parsing/tests/test_c_parser.pyÚtest_variable   sÖ    ĸĸĸĸ
þĸ

þĸ
üþĸ
üþĸ
þĸüþĸ
þĸ
ýĸ
ýĸü
øĸü
øĸrZ   c                  C   s	  d} d}d}d}d}d}d}d}d	}d
}	d}
d}d}d}t | d Ą }t |d Ą }t |d Ą }t |d Ą }t |d Ą }t |d Ą }t |d Ą }t |d Ą }t |d Ą }t |	d Ą }t |
d Ą }t |d Ą }t |d Ą }t |d Ą }|d tttdttdtddks,J |d tttdttdtddks\J |d tttdttdtddksJ |d tttdttdtddksžJ |d tttdttdtddksėJ |d tttdttdtddksJ |d tttdttdtddksLJ |d tttdttdtddks|J |d tttdttdtddksŽJ |d tttd ttdtddksÜJ |d tttd!ttdtddksJ |d tttdttd"td#d$tddksDJ |d tttdttd"td#d$tddks|J |d tttdttd%td&d$tddksīJ |d tttdttd%td&d$tddksėJ |d tttdttd%td&d$tddks$J |d' tttd(ttd%td&d$tddks\J |d) tttd*ttd%td&d$tddksJ |d tttd+ttd%td&d$tddksĖJ |d tttd,ttd%td&d$tddksJ |d- tttd.ttd%td&d$tddks<J |d tttdttdtddkslJ |d tttdttdtddksJ |d tttdttdtddksĖJ |d' tttd(ttdtddksüJ |d tttdttd/td0d$tddks4J |d tttdttd/td0d$tddkslJ |d tttdttd/td0d$tddksĪJ |d' tttd(ttd/td0d$tddksÜJ |d tttdt	td1td#d$tddksJ |d tttdt	td1td#d$tddksLJ |d tttdt	td2td&d$tddksJ |d tttdt	td2td&d$tddksžJ |d tttdt	td2td&d$tddksôJ |d' tttd(t	td2td&d$tddks,J |d tttdt	td3td4d$tddksdJ |d tttdt	td3td4d$tddksJ |d tttdt	td5td0d$tddksÔJ |d tttdt	td5td0d$tddk	sJ |d tttdt	td5td0d$tddk	sDJ |d' tttd(t	td5td0d$tddk	s|J d S )6Nz
int a = 1;zint a = 1;
int b = 2;
zint a = 2.345, b = 5.67;zint p = 6, q = 23.45;zint x = '0', y = 'a';zint r = true, s = false;zsigned char a = 1, b = 5.1;zjshort a = 1, b = 5.1;signed short c = 1, d = 5.1;short int e = 1, f = 5.1;signed short int g = 1, h = 5.1;z-signed int a = 1, b = 5.1;int c = 1, d = 5.1;z,long a = 1, b = 5.1;long int c = 1, d = 5.1;zunsigned char a = 1, b = 5.1;z@unsigned short a = 1, b = 5.1;unsigned short int c = 1, d = 5.1;zunsigned int a = 1, b = 5.1;z>unsigned long a = 1, b = 5.1;unsigned long int c = 1, d = 5.1;r5   r   r6   r7   r:   rD   r;   rB   é   rH   rG   rM   r>   rC   é0   rF   éa   ÚrÚsZint8r?   )rA   Úint16é   rL   Údé   ÚeÚfÚgé   ÚhÚint64é@   Zuint8Zuint16Zuint32r=   Zuint64)
r   rN   r   r   r1   r   r	   r   r   r   )rP   rQ   rR   rS   Úc_src5Úc_src6Úc_src_type1Úc_src_type2Úc_src_type3Zc_src_type4Zc_src_type5Zc_src_type6Zc_src_type7Zc_src_type8rT   rU   rV   rW   Úres5Úres6Ú	res_type1Ú	res_type2Ú	res_type3Z	res_type4Z	res_type5Z	res_type6Z	res_type7Z	res_type8rX   rX   rY   Útest_int   s   ĸĸĸ	ĸĸĸĸ
ýĸ
ýĸ
ýĸ
ýĸ
ýĸ
ýĸ
ýĸ
ýĸ
ýĸ
ýĸ
ýĸþúĸþúĸþúĸþúĸþûĸ
þúĸþúĸþúĸþúĸþúĸ
ýĸ
ýĸ
ýĸ
ýĸþúĸþúĸþúĸþúĸþúĸþúĸþúĸþúĸþúĸþúĸþúĸþúĸþúĸþúĸþúĸþúĸru   c               
   C   sĘ  d} d}d}d}d}d}d}d}t | d	 Ą }t |d	 Ą }	t |d	 Ą }
t |d	 Ą }t |d	 Ą }t |d	 Ą }t |d	 Ą }t |d	 Ą }|d
 tttdttdtdtdtddtddddksÖJ |	d
 tttdttdtdtdtddtddddksJ |	d tttdttdtdtdtddtddddksfJ |
d
 tttdttdtdtdtddtddddksŪJ |
d tttdttdtdtdtddtddddksöJ |d
 tttdttdtdtdtddtddddks>J |d tttdttdtdtdtddtddddksJ |d
 tttd ttdtdtdtddtddddksÎJ |d tttd!ttdtdtdtddtd"dddksJ |d
 tttdttdtdtdtddtddddks^J |d tttdttdtdtdtddtd#dddksĶJ |d
 tttdttd$td%td&td'dtddddksîJ |d tttdttd$td%td&td'dtd#dddks6J |d
 tttdttd(td)td*td+dtddddks~J |d tttdttd(td)td*td+dtd#dddksÆJ d S ),Nzfloat a = 1.0;z float a = 1.25;
float b = 2.39;
zfloat x = 1, y = 2;zfloat p = 5, e = 7.89;zfloat r = true, s = false;zfloat x = 1, y = 2.5;zdouble x = 1, y = 2.5;zlong double x = 1, y = 2.5;r5   r   r6   r<   r=   r>   r?   r@   z1.0rJ   rK   rD   ú1.25r:   r;   z2.3900000000000001rC   rF   rI   rH   z5.0rd   z7.89r^   r_   z0.0ú2.5Úfloat64rj   é4   é   Zfloat80éP   é?   é   )	r   rN   r   r   r1   r   r	   r   r   )rP   rQ   rR   rS   rk   rm   rn   ro   rT   rU   rV   rW   rp   rr   rs   rt   rX   rX   rY   Ú
test_floatx  s   ĸü
øĸ
ü
øĸü
øĸü
øĸü
øĸü
øĸü
øĸü
øĸü
øĸü
øĸü
øĸü
øĸü
øĸü
øĸü
øĸr~   c                  C   sÐ  d} d}d}d}t | d Ą }t |d Ą }t |d Ą }t |d Ą }|d tttdttdtd	ksrJ |d
 tttdttdtd	ksJ |d tttdttdtd	ksÆJ |d
 tttdttdtd	ksðJ |d tttdttdtd	ksJ |d
 tttdttdtd	ksHJ |d tttdttdtd	kstJ |d
 tttdttdtd	ks J |d tttdttdtd	ksĖJ d S )Nzbool a = true, b = false;zbool a = 1, b = 0;zbool a = 10, b = 20;z bool a = 19.1, b = 9.0, c = 0.0;r5   r   r6   ÚboolrD   r:   r;   rB   )	r   rN   r   r   r1   r   r	   r3   r2   rO   rX   rX   rY   Ú	test_boolY  s    ĸĸĸĸ
þĸ

þĸ

þĸ

þĸ

þĸ
þĸ
þĸ
þĸ
þĸr   c                  C   s  d} d}d}d}t | d Ą }t |d Ą }t |d Ą }t |d Ą }|d tt tddttttd	t	td
ddksJ |d tt	td
tddttttd	t	td
dt
d	dksÐJ |d tttdtdtdtddtddttttdttdtdtdtdddt
ddksDJ |d tttdtdtdtddtdddksJ d S )Núvoid fun1()
{
int a;
}zint fun2()
{
int a;
return a;
}z#float fun3()
{
float b;
return b;
}zfloat fun4()
{}r5   r   Úfun1rX   r6   r7   r8   ĐÚnameÚ
parametersÚbodyÚfun2r<   r=   r>   r?   r@   Úfun3r;   Úfun4)r   r   )r   rN   r   r   r	   r   r   r   r1   r   r
   r   r   r   rO   rX   rX   rY   Útest_functionŪ  s    ĸĸĸĸ
þĸĸü

þĸųüüüþĸôũüør   c                  C   sø  d} d}d}t | d Ą }t |d Ą }t |d Ą }|d tt tdttdttdd	ftt	ttd
ttdd	dksJ |d tttdtdttdt
tdtdtdtddd	ttdt
tdtdtdtddd	ftt	ttdttdd	tddks*J |d tt
tdtdtdtddtdttdttdd	ttdt
tdtdtdtddd	ttdttdd	ftt	ttdt
tdtdtdtddd	tddksôJ d S )Nzvoid fun1( int a)
{
int i;
}z/int fun2(float x, float y)
{
int a;
return a;
}z8float fun3(int p, float q, int r)
{
float b;
return b;
}r5   r   r   r6   r7   r8   Úir   r   rC   r<   r=   r>   r?   r@   rF   r   rH   rM   r^   r;   )r   rN   r   r   r	   r   r1   r   r   r   r   r   r
   )rP   rQ   rR   rT   rU   rV   rX   rX   rY   Útest_parameters  sÆ    ĸĸĸ
þĸ
þĸĸũ
üþ	üþö
þĸųé"ü
þüþ	
þōüþĸôår   c            
      C   sŽ  d} d}d}d}d}t | d Ą }t |d Ą }t |d Ą }t |d Ą }t |d Ą }	|d tttdtd	ttd
ttddfttd
dks J |d tt	 tddtt
ttd
ttd	tdfdddksčJ |d tttdtdttdttddttdttddttdttddfttddks\J |d tt	 tddtt
ttdttdtdtdtdfdddksēJ |d tttdtdttdttddttdttddttdttddfttddks&J |d tt	 tddtt
ttdttddt
ttdttddt
ttdttddt
ttdttdtdtdtdfdddksĘJ |d tttdtdttdttdtd td!td"d#dttdttdtd td!td"d#dttdttddfttddksfJ |d tt	 tddtt
ttd
ttdtd td!td"d#dt
ttdttdtd td!td"d#dt
ttdttddt
ttd$ttdtd
tdtdfdddks2J |	d tttdtd%dttd&dksdJ |	d tt	 tddtt
ttdttd%ddddksĻJ d S )'Nz@int fun1(int x)
{
return x;
}
void caller()
{
int x = fun1(2);
}zTint fun2(int a, int b, int c)
{
return a;
}
void caller()
{
int y = fun2(2, 3, 4);
}ziint fun3(int a, int b, int c)
{
return b;
}
void caller()
{
int p;
int q;
int r;
int z = fun3(p, q, r);
}zpint fun4(float a, float b, int c)
{
return c;
}
void caller()
{
float x;
float y;
int z;
int i = fun4(x, y, z)
}z7int fun()
{
return 1;
}
void caller()
{
int a = fun()
}r5   r   r7   r   rC   r8   r   r:   ZcallerrX   rB   )Zfunction_args)rE   r   r6   r;   rF   rL   rc   r   rH   rM   r^   Úzr   r<   r=   r>   r?   r@   r   ZfunÚ )r   rN   r   r   r	   r   r1   r   r
   r   r   r   r   r   Đ
rP   rQ   rR   rS   rk   rT   rU   rV   rW   rp   rX   rX   rY   Útest_function_call  s°   ĸĸĸĸĸ

ĸĸųĸĸĸĸĸü

ĸ
ĸ
ĸú
ĸóýþĸĸĸü

ĸ
ĸ
ĸųĸō
ĸĸ
ĸĸ
ĸĸýþĸĸðü#
üĸüĸ
ĸðĸéüĸĸ
üĸĸ

ĸĸýĸĸĸæü,
ĸü	ĸĸĸĸür   c                  C   s  d} d}t dd}t dd}| | Ą | |Ą | Ą  | Ą  tdd Ą }tdd Ą }t dĄ t dĄ |d ttt	dt
td	d
ksJ |d ttt	dt
td	d
ksĀJ |d tt tddtttt	dt
td	d
dksþJ d S )Nr4   r   z..a.hÚwz..b.hr5   r   r6   r7   r8   r:   r;   r   rX   r   )ÚopenÚwriteÚcloser   rN   ÚosÚremover   r   r1   r   r	   r   r   r   )rP   rQ   Úf1Úf2rT   rU   rX   rX   rY   Ú
test_parseĐ  sN    ĸĸ






þĸ

þĸ

þĸĸür   c            <         sę  d} d}d}d}d}d}d}d}d	}d
}	d}
d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d d d!d"d#t | d$ Ą }t |d$ Ą }t |d$ Ą } t |d$ Ą }!t |d$ Ą }"t |d$ Ą }#t |d$ Ą }$t |d$ Ą }%t |d$ Ą }&t |	d$ Ą }'t |
d$ Ą }(t |d$ Ą })t |d$ Ą }*t |d$ Ą }+t |d$ Ą },t |d$ Ą }-t |d$ Ą }.t |d$ Ą }/t |d$ Ą }0t |d$ Ą }1t |d$ Ą }2t |d$ Ą }3t |d$ Ą }4t |d$ Ą }5t |d$ Ą }6t |d$ Ą }7t |d$ Ą }8t |d$ Ą }9t |d$ Ą }:t |d$ Ą };|d% tt td&d'ttttd(t	td)d*t
ttd(td+d,ksJ |d% tt td&d'ttttd(t	td)td%d-t
ttd(ttd(td+t
ttd(tttd.td(td/d,ksJ | d% tt td&d'ttttd(t	td)td0d-t
ttd(ttd(td1d,kstJ |!d% tt td&d'ttttd(t	td)d*tttd2t	td)d*t
ttd(td3t
ttd2tttd4ttd(td4ttd5td(td6d,ks$J |"d% tt td&d'ttttd(t	td)d*tttd2t	td)d*tttd$t	td)d*tttd7t	td)d*t
ttd(td+t
ttd2td4t
ttd$td2t
ttd7tttd(td2tttd(td$td4ttd$ttd8td7d,ksDJ |#d% tt td&d'ttttd(t	td)d*tttd2t	td)d*tttd$t	td)d*tttd7t	td)d*t
ttd(td+t
ttd2td4t
ttd$td.t
ttd7tttd(td9ttd.ttd2td4ttd4td2ttd$td7d,ksjJ |$d% tt td&d'ttttd(ttd:td;td<td=d>d*t
ttd(td?d@dAd,ksÖJ |%d% tt td&d'ttttd(ttd:td;td<td=d>d*t
ttd(tdBd@dAd,ksBJ |&d% tt td&d'ttttd(ttd:td;td<td=d>d*t
ttd(tdCd@dAd,ksŪJ |'d% tt td&d'ttttd(t	td)d*t
ttd(td6d,ksJ |(d% tt td&d'ttttd(t	td)d*t
ttd(tdDd,ksVJ |)d% tt td&d'ttttd(t	td)d*t
ttd(tdEd,ksŠJ |*d% tt td&d'ttttd(t	td)d*tttd2t	td)d*tttd$ttd:td;td<td=d>d*t
ttd$tttd(td8td2d,k	sZJ |+d% tt td&d'ttttd(t	td)td4d-tttd7t	td)tdFd-tttdGt	td)td0d-tttdHt	td)d*t
ttdHttd+d4td(tttd4td(ttd7ttdGtd8d,k
sHJ |,d% tt td&d'ttttd(t	td)d*t
ttd(td+d,k
sJ |-d% tt td&d'ttttd(t	td)td4d-tttd2t	td)d*t
ttd2ttd(td.d,ksJ |.d% tt td&d'ttttd(t	td)td3d-tttd2t	td)td.d-tttd$t	td)d*t
ttd$ttd(td2d,ksļJ |/d% tt td&d'ttttd(t	td)td3d-tttd2t	td)td.d-tttdIt	td)tdJd-tttd$t	td)d*t
ttd$tttd(ttd3ttd(td8td2tdId,ksJ |0d% tt td&d'ttttd(t	td)td3d-tttd2t	td)td.d-tttdIt	td)tdJd-tttd$t	td)d*t
ttd$ttttd(ttd8td2ttd(td2tdId,ksJ |1d% tt td&d'ttttd(ttdKd*tttd2ttdKd*t
ttd(tt
ttd2td,ksúJ |2d% tt td&d'ttttd(ttdKd*tttd2ttdKd*tttd$ttdKd*tttd7ttdKd*t
ttd(tt
ttd2tt
ttd$tt
ttd7td,ksČJ |3d% tt td&d'ttttd(t	td)td+d-tttd2t	td)td4d-tttdLttdKd*tttdMttdKd*tttdNttdKd*tttdOttdKd*tttdPttdKd*tttdQttdKd*tttdRttdKd*tttdSttdKd*t
ttdLttd(td+t
ttdMttd2td4t
ttdNttd+td(t
ttdOttd+td2t
ttdPttd(td%t
ttdQttd2td0t
ttdRttd(td%t
ttdSttd2tdTd,ksîJ |4d% tt td&d'ttttd(t	td)td.d-tttd2t	td)td9d-tttdLttdKd*tttdMttdKd*tttdNttdKd*tttdOttdKd*tttdPttdKd*tttdQttdKd*t
ttdLttd(td2t
ttdMttd(td2t
ttdNttd(td2t
ttdOttd(td2t
ttdPttd(td2t
ttdQttd(td2d,ksĪJ |5d% tt td&d'ttttd(ttd:td;td<td=d>d*tttdLttdKd*tttdMttdKd*tttdNttdKd*tttdOttdKd*t
ttdLttd(tdUd@dAt
ttdNttdVd@dAtd(d,ksĪJ |6d% tt td&d'ttttd(ttd:td;td<td=d>tdUd@dAd-tttd2ttd:td;td<td=d>tdWd@dAd-tttdLttdKd*tttdMttdKd*tttdNttdKd*tttdOttdKd*tttdPttdKd*tttdQttdKd*t
ttdLttd(td2t
ttdMttd(td2t
ttdNttd(td2t
ttdOttd(td2t
ttdPttd(td2t
ttdQttd(td2d,ksJ |7d% tt td&d'ttttdLttdKd*tttdMttdKd*tttdNttdKd*tttdOttdKd*tttdPttdKd*tttdQttdKd*t
ttdLtt
ttdMtt
ttdNtt
ttdOtt
ttdPtt
ttdQtd,ksŽJ |8d% tt td&d'ttttdLttdKd*tttdMttdKd*tttdNttdKd*tttdOttdKd*tttdPttdKd*tttdQttdKd*t
ttdLtt
ttdMtt
ttdNtt
ttdOtt
ttdPtt
ttdQtd,ksÎJ |9d% tt td&d'ttttd(ttdKd*tttdLttdKd*tttdMttdKd*tttdNttdKd*tttdOttdKd*t
ttdLtd(t
ttdMtt
ttdNtt
ttdOtd(	d,ksūJ |:d% tt td&d'ttttd(t	td)d*tttdLttdKd*tttdMttdKd*tttdNttdKd*tttdOttdKd*t
ttdLtd(t
ttdMtt
ttdNtt
ttdOtd(	d,ksŪJ |;d% tt td&d'ttttd(t	td)d*tttd2t	td)d*tttd$ttdKd*tttd7ttdKd*tttdLttdKd*tttdMttdKd*tttdNttdKd*tttdOttdKd*tttdPttdKd*tttdQttdKd*t
ttdLttd(td2t
ttdMttd(td$t
ttdNttd$td7t
ttdOttd(td2t
ttdPttd(td$t
ttdQttd$td7d,ksJ tt fdXdY ttfdZdY ttfd[dY ttfd\dY ttfd]dY d S )^Nzvoid func(){
int a;
a = 1;
}z2void func(){
int a = 0;
a = a + 1;
a = 3*a - 10;
}z-void func(){
int a = 10;
a = 1 + a - 3 * 6;
}zHvoid func(){
int a;
int b;
a = 100;
b = a*a + a*a + a + 19*a + 1 + 24;
}z`void func(){
int a;
int b;
int c;
int d;
a = 1;
b = 2;
c = b;
d = ((a+b)*(a+c))*((c-d)*(a+c));
}zdvoid func(){
int a;
int b;
int c;
int d;
a = 1;
b = 2;
c = 3;
d = (a*a*a*a + 3*b*b + b + b + c*d);
}z!void func(){
float a;
a = 1.01;
}z'void func(){
float a;
a = 10.0 + 2.5;
}z'void func(){
float a;
a = 10.0 / 2.5;
}z"void func(){
int a;
a = 100 / 4;
}z0void func(){
int a;
a = 20 - 100 / 4 * 5 + 10;
}z4void func(){
int a;
a = (20 - 100) / 4 * (5 + 10);
}z.void func(){
int a;
int b;
float c;
c = b/a;
}zRvoid func(){
int a = 2;
int d = 5;
int n = 10;
int s;
s = (a/2)*(2*a + (n-1)*d);
}z void func(){
int a;
a = 1 % 2;
}z+void func(){
int a = 2;
int b;
b = a % 3;
}z8void func(){
int a = 100;
int b = 3;
int c;
c = a % b;
}z`void func(){
int a = 100;
int b = 3;
int mod = 1000000007;
int c;
c = (a + b * (100/a)) % mod;
}zvoid func(){
int a = 100;
int b = 3;
int mod = 1000000007;
int c;
c = ((a % mod + b % mod) % mod *(a % mod - b % mod) % mod) % mod;
}z5void func(){
bool a
bool b;
a = 1 == 2;
b = 1 != 2;
}z]void func(){
bool a;
bool b;
bool c;
bool d;
a = 1 == 2;
b = 1 <= 2;
c = 1 > 2;
d = 1 >= 2;
}zÔvoid func(){
int a = 1;
int b = 2;
bool c1;
bool c2;
bool c3;
bool c4;
bool c5;
bool c6;
bool c7;
bool c8;
c1 = a == 1;
c2 = b == 2;
c3 = 1 != a;
c4 = 1 != b;
c5 = a < 0;
c6 = b <= 10;
c7 = a > 0;
c8 = b >= 11;
}zĶvoid func(){
int a = 3;
int b = 4;
bool c1;
bool c2;
bool c3;
bool c4;
bool c5;
bool c6;
c1 = a == b;
c2 = a != b;
c3 = a < b;
c4 = a <= b;
c5 = a > b;
c6 = a >= b;
}zvoid func(){
float a = 1.25float b = 2.5;
bool c1;
bool c2;
bool c3;
bool c4;
c1 = a == 1.25;
c2 = b == 2.54;
c3 = 1.2 != a;
c4 = 1.5 != b;
}zŪvoid func(){
float a = 1.25
float b = 2.5;
bool c1;
bool c2;
bool c3;
bool c4;
bool c5;
bool c6;
c1 = a == b;
c2 = a != b;
c3 = a < b;
c4 = a <= b;
c5 = a > b;
c6 = a >= b;
}zžvoid func(){
bool c1;
bool c2;
bool c3;
bool c4;
bool c5;
bool c6;
c1 = true == true;
c2 = true == false;
c3 = false == false;
c4 = true != true;
c5 = true != false;
c6 = false != false;
}zžvoid func(){
bool c1;
bool c2;
bool c3;
bool c4;
bool c5;
bool c6;
c1 = true && true;
c2 = true && false;
c3 = false && false;
c4 = true || true;
c5 = true || false;
c6 = false || false;
}z|void func(){
bool a;
bool c1;
bool c2;
bool c3;
bool c4;
c1 = a && true;
c2 = false && a;
c3 = true || a;
c4 = a || false;
}zmvoid func(){
int a;
bool c1;
bool c2;
bool c3;
bool c4;
c1 = a && 1;
c2 = a && 0;
c3 = a || 1;
c4 = 0 || a;
}z°void func(){
int a;
int b;
bool c;
bool d;
bool c1;
bool c2;
bool c3;
bool c4;
bool c5;
bool c6;
c1 = a && b;
c2 = a && c;
c3 = c && d;
c4 = a || b;
c5 = a || c;
c6 = c || d;
}zvoid func(){
int a;
a = -1;
}zvoid func(){
int a;
a = -+1;
}zvoid func(){
int a;
a = 2*-2;
}z#void func(){
int a;
a = (int)2.0;
}z/void func(){
int a=100;
a = (a==100)?(1):(0);
}r5   r   ÚfuncrX   r6   r7   r8   r:   r   rD   rL   iöĸĸĸé
   iïĸĸĸr;   éd   rB   é   é   rb   éĸĸĸĸrc   r<   r=   r>   r?   r@   z1.01rJ   rK   ú12.5ú4.0éĄĸĸĸéÔþĸĸr[   Únr_   ÚmodéĘ;r   Úc1Úc2Úc3Úc4Úc5Úc6Úc7Úc8rz   rv   ú1.2rw   c                      s
   t  dS ĐNr5   r   rX   ĐÚc_src_raise1rX   rY   Ú<lambda>õ  ó    z'test_binary_operators.<locals>.<lambda>c                      s
   t  dS r°   r   rX   ĐÚc_src_raise2rX   rY   rģ   ö  rī   c                      s
   t  dS r°   r   rX   )Úc_src_raise3rX   rY   rģ   ũ  rī   c                      s
   t  dS r°   r   rX   )Úc_src_raise4rX   rY   rģ   ø  rī   c                      s
   t  dS r°   r   rX   )Úc_src_raise5rX   rY   rģ   ų  rī   ) r   rN   r   r   r	   r   r   r   r1   r   r   r   r#   r$   r&   r   r   r'   r%   r   r2   r3   r,   r-   r(   r)   r*   r+   r.   r0   r   ÚNotImplementedError)<rP   rQ   rR   rS   rk   rl   Úc_src7Úc_src8Úc_src9Úc_src10Úc_src11Úc_src12Úc_src13Úc_src14Úc_src15Úc_src16Úc_src17Úc_src18Úc_src19Úc_src20Úc_src21Úc_src22Úc_src23Úc_src24Úc_src25Úc_src26Úc_src27Úc_src28Úc_src29Úc_src30rT   rU   rV   rW   rp   rq   Úres7Úres8Úres9Úres10Úres11Úres12Úres13Úres14Úres15Úres16Úres17Úres18Úres19Úres20Úres21Úres22Úres23Úres24Úres25Úres26Úres27Úres28Úres29Úres30rX   )rē   rķ   r·   rļ   rđ   rY   Útest_binary_operatorsß  s8   ĸĸ	ĸĸ
ĸĸĸ	ĸ	ĸ	ĸ	ĸ	ĸ	ĸĸĸ	ĸ
ĸĸĸĸĸĸĸĸĸĸĸĸĸĸĸ	ĸ	ĸ	ĸ	ĸ
ĸĸúü
þĸ
ĸþþüĸöü
þĸ
þþųü
ĸĸ
ĸĸ
þ
þþþöþōü$
ĸĸ
ĸĸ
ĸĸ
ĸĸ
þ
þ
þ
þþûþþõþáü<
ĸĸ
ĸĸ
ĸĸ
ĸĸ
þ
þ
þ
þþþþþðþßü@üĸĸ


þõüüĸĸ


þõüüĸĸ


þõü
ĸĸ
þúü
ĸĸ
þúü
ĸĸ
þúü
ĸĸ
ĸĸüĸĸ

þûþëü&
þĸ
þĸ
þĸ
ĸĸ
þþþûýþčü3
ĸĸ
þúü
þĸ
ĸĸ
þþôü
þĸ
þĸ
ĸĸ
þþîü 
þĸ
þĸ
þĸ
ĸĸ
þúþôþčü0
þĸ
þĸ
þĸ
ĸĸ
ĸþþųóþčü1
ĸĸ
ĸĸ
þ
þņü
ĸĸ
ĸĸ
ĸĸ
ĸĸ
þ
þ
þ
þßü,
þĸ
þĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
þþ
þþ
þþ
þþ
þþ
þþ
þþ
þþüt
þĸ
þĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
þþ
þþ
þþ
þþ
þþ
þþēü\üĸĸ

ĸĸ
ĸĸ
ĸĸ
ĸĸ

þþ

þþÚü5ü
ųĸü
ųĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
þþ
þþ
þþ
þþ
þþ
þþ§üg
ĸĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
þ
þ
þ
þ
þ
þÍý=
ĸĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
þ
þ
þ
þ
þ
þÍü=
ĸĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
þ
þ
þ
þÚü1
ĸĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
þ
þ
þ
þÚü1
ĸĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
ĸĸ
þþ
þþ
þþ
þþ
þþ
þþŠüdrë   c            @         sn  d} d}d}d}d}d}d}d}d	}d
}	d}
d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d }d! d"t | d# Ą } t |d# Ą }!t |d# Ą }"t |d# Ą }#t |d# Ą }$t |d# Ą }%t |d# Ą }&t |d# Ą }'t |d# Ą }(t |	d# Ą })t |
d# Ą }*t |d# Ą }+t |d# Ą },t |d# Ą }-t |d# Ą }.t |d# Ą }/t |d# Ą }0t |d# Ą }1t |d# Ą }2t |d# Ą }3t |d# Ą }4t |d# Ą }5t |d# Ą }6t |d# Ą }7t |d# Ą }8t |d# Ą }9t |d# Ą }:t |d# Ą };t |d# Ą }<t |d# Ą }=t |d# Ą }>t |d# Ą }?| d$ tttd%ttd&td'd(ksxJ | d) tttd*ttd&td%d(ksĻJ |!d$ tttd*ttd&td)d(ksØJ |!d) tttd%ttd&ttd*td)d(ksJ |"d$ tttd*t	td+td,td-td.d/t
d0d1d2d(ksZJ |"d) tttd%t	td+td,td-td.d/tt
d3d1d2td*d(ksŽJ |#d$ tttd*ttd&td4d(ksÜJ |$d$ tttd*ttd&td5d(ksJ |%d$ tttd%ttd&td6d(ks<J |%d) tttd#ttd&td7d(kslJ |%d6 tttd*ttd&ttd%ttd8td#d(ks°J |&d$ tttd%ttd&td)d(ksāJ |&d) tttd#ttd&ttd%td6d(ksJ |&d6 tttd*ttd&ttd9ttd%td6td#d(ksdJ |'d$ tt td:d;ttttd*ttd&td)d(tttd%ttd&td6d(tttd<ttd&td*d(tttd*td%tttd%td<d=ksJ |(d$ tttd*ttd&td)d(ksBJ |(d) tttd%ttd&td6d(ksrJ |(d6 tttd#ttd&td*d(ksĒJ |(d7 tttd>ttd&ttd*td%td#d(ksâJ |(d8 tttd?ttd&tttd*td7ttd7ttd*td6td%ttd7td*ttd%td6ttd%td7d(kspJ |(d@ tttdAttd&tttd*td%ttdBtd#ttd*td%td#d(ksÔJ |(dC tttdDttd&ttd*ttd%ttdBtd#tttd*td%td#td>td6d(ksHJ |)d$ tttd*t	td+td,td-td.d/t
dEd1d2d(ksJ |)d) tttd%t	td+td,td-td.d/t
dFd1d2d(ksØJ |)d6 tttd#t	td+td,td-td.d/tttd*td6ttd6td*td%ttd%td6d(k	sPJ |*d$ tttd*t	td+td,td-td.d/t
dGd1d2d(k	sJ |+d$ tttd*ttd&tdHd(k	sČJ |,d$ tttd*ttd&tdId(k	søJ |-d$ tttd*ttd&tdJd(k
s(J |.d$ tttd*ttd&td8d(k
sXJ |.d) tttd%ttd&td6d(k
sJ |.d6 tttd#t	td+td,td-td.d/tttd*tdBtd%d(k
sāJ |/d$ tttd*ttd&td6d(ksJ |/d) tttd>ttd&td@d(ks@J |/d6 tttdKttd&td9d(kspJ |/d7 tttdLttd&ttd)d6td*tttd6td*ttd>ttdKtdBd(ksÚJ |0d$ tttd*ttd&td)d(ks
J |1d$ tttd*ttd&td6d(ks:J |1d) tttd%ttd&ttd*td7d(kstJ |2d$ tttd*ttd&td'd(ksĪJ |2d) tttd%ttd&td7d(ksÔJ |2d6 tttd#ttd&ttd*td%d(ksJ |3d$ tttd*ttd&td'd(ks>J |3d) tttd%ttd&td7d(ksnJ |3d6 tttdMttd&tdNd(ksJ |3d7 tttd#ttd&tttd*ttd'ttd*tdBtd%tdMd(ksüJ |4d$ tttd*ttd&td'd(ks,J |4d) tttd%ttd&td7d(ks\J |4d6 tttdMttd&tdNd(ksJ |4d7 tttd#ttd&ttttd*ttdBtd%ttd*td%tdMd(ksîJ |5d$ tttd*ttdOtd(ksJ |5d) tttd%ttdOtd(ksFJ |6d$ tttd*ttdOtd(ksrJ |6d) tttd%ttdOtd(ksJ |6d6 tttd#ttdOtd(ksĘJ |6d7 tttd>ttdOtd(ksöJ |7d$ tttd*ttd&td)d(ks&J |7d) tttd%ttd&td6d(ksVJ |7d6 tttdPttdOttd*td)d(ksJ |7d7 tttdQttdOttd%td6d(ksĘJ |7d8 tttdRttdOttd)td*d(ksJ |7d@ tttdSttdOttd)td%d(ks>J |7dC tttdTttdOttd*td$d(ksxJ |7dU tttdVttdOttd%td9d(ksēJ |7d. tttdWttdOttd*td$d(ksėJ |7dX tttdYttdOttd%tdZd(ks&J |8d$ tttd*ttd&td7d(ksVJ |8d) tttd%ttd&td8d(ksJ |8d6 tttdPttdOttd*td%d(ksĀJ |8d7 tttdQttdOttd*td%d(ksúJ |8d8 tttdRttdOttd*td%d(ks4J |8d@ tttdSttdOttd*td%d(ksnJ |8dC tttdTttdOttd*td%d(ksĻJ |8dU tttdVttdOttd*td%d(ksâJ |9d$ tttd*t	td+td,td-td.d/t
d[d1d2d(ks*J |9d) tttd%t	td+td,td-td.d/t
dFd1d2d(ksrJ |9d6 tttdPttdOttd*t
d[d1d2d(ks°J |9d7 tttdQttdOttd%t
d\d1d2d(ksîJ |9d8 tttdRttdOtt
d]d1d2td*d(ks,J |9d@ tttdSttdOtt
d^d1d2td%d(ksjJ |:d$ tttd*t	td+td,td-td.d/t
d[d1d2d(ksēJ |:d) tttd%t	td+td,td-td.d/t
dFd1d2d(ksúJ |:d6 tttdPttdOttd*td%d(ks4J |:d7 tttdQttdOttd*td%d(ksnJ |:d8 tttdRttdOttd*td%d(ksĻJ |:d@ tttdSttdOttd*td%d(ksâJ |:dC tttdTttdOttd*td%d(ksJ |:dU tttdVttdOttd*td%d(ksVJ |;d$ tttdPttdOtd(ksJ |;d) tttdQttdOtd(ksŪJ |;d6 tttdRttdOtd(ksÚJ |;d7 tttdSttdOtd(ksJ |;d8 tttdTttdOtd(ks2J |;d@ tttdVttdOtd(ks^J |<d$ tttdPttdOtd(ksJ |<d) tttdQttdOtd(ksķJ |<d6 tttdRttdOtd(ksâJ |<d7 tttdSttdOtd(ksJ |<d8 tttdTttdOtd(ks:J |<d@ tttdVttdOtd(ksfJ |=d$ tttd*ttdOtd(ksJ |=d) tttdPttdOtd*d(ksÂJ |=d6 tttdQttdOtd(ksîJ |=d7 tttdRttdOtd(ksJ |=d8 tttdSttdOtd*d(ksJJ |>d$ tttd*ttd&td)d(kszJ |>d) tttdPttdOtd*d(ksŠJ |>d6 tttdQttdOtd(ksÖJ |>d7 tttdRttdOtd(ksJ |>d8 tttdSttdOtd*d(ks2J |?d$ tttd*ttd&td)d(ksbJ |?d) tttd%ttd&td$d(ksJ |?d6 tttd#ttdOtd(ksūJ |?d7 tttd>ttdOtd(ksęJ |?d8 tttdPttdOttd*td%d(ks$J |?d@ tttdQttdOttd*td#d(ks^J |?dC tttdRttdOttd#td>d(ksJ |?dU tttdSttdOttd*td%d(ksŌJ |?d. tttdTttdOttd*td#d(ksJ |?dX tttdVttdOttd#td>d(ksFJ tt fd_d` ttfdad` d S )bNzint b = 100;
int a = b;
zint a = 1;
int b = a + 1;
z*float a = 10.0 + 2.5;
float b = a * 20.0;
zint a = 1 + 100 - 3 * 6;
z+int a = (((1 + 100) * 12) - 3) * (6 - 10);
z)int b = 2;
int c = 3;
int a = b + c * 4;
z2int b = 1;
int c = b + 2;
int a = 10 * b * b * c;
zCvoid func(){
int a = 1;
int b = 2;
int temp = a;
a = b;
b = temp;
}zđint a = 1;
int b = 2;
int c = a;
int d = a + b + c;
int e = a*a*a + 3*a*a*b + 3*a*b*b + b*b*b;
int f = (a + b + c) * (a + b - c);
int g = (a + b + c + d)*(a + b + c + d)*(a * (b - c));
z<float a = 10.0;
float b = 2.5;
float c = a*a + 2*a*b + b*b;
zfloat a = 10.0 / 2.5;
zint a = 100 / 4;
zint a = 20 - 100 / 4 * 5 + 10;
z#int a = (20 - 100) / 4 * (5 + 10);
z%int a = 4;
int b = 2;
float c = b/a;
zAint a = 2;
int d = 5;
int n = 10;
int s = (a/2)*(2*a + (n-1)*d);
zint a = 1 % 2;
zint a = 2;
int b = a % 3;
z'int a = 100;
int b = 3;
int c = a % b;
zOint a = 100;
int b = 3;
int mod = 1000000007;
int c = (a + b * (100/a)) % mod;
ztint a = 100;
int b = 3;
int mod = 1000000007;
int c = ((a % mod + b % mod) % mod *(a % mod - b % mod) % mod) % mod;
zbool a = 1 == 2, b = 1 != 2;z2bool a = 1 < 2, b = 1 <= 2, c = 1 > 2, d = 1 >= 2;zĄint a = 1, b = 2;
bool c1 = a == 1;
bool c2 = b == 2;
bool c3 = 1 != a;
bool c4 = 1 != b;
bool c5 = a < 0;
bool c6 = b <= 10;
bool c7 = a > 0;
bool c8 = b >= 11;z{int a = 3, b = 4;
bool c1 = a == b;
bool c2 = a != b;
bool c3 = a < b;
bool c4 = a <= b;
bool c5 = a > b;
bool c6 = a >= b;zjfloat a = 1.25, b = 2.5;
bool c1 = a == 1.25;
bool c2 = b == 2.54;
bool c3 = 1.2 != a;
bool c4 = 1.5 != b;zfloat a = 1.25, b = 2.5;
bool c1 = a == b;
bool c2 = a != b;
bool c3 = a < b;
bool c4 = a <= b;
bool c5 = a > b;
bool c6 = a >= b;zbool c1 = true == true;
bool c2 = true == false;
bool c3 = false == false;
bool c4 = true != true;
bool c5 = true != false;
bool c6 = false != false;zbool c1 = true && true;
bool c2 = true && false;
bool c3 = false && false;
bool c4 = true || true;
bool c5 = true || false;
bool c6 = false || false;zebool a = false;
bool c1 = a && true;
bool c2 = false && a;
bool c3 = true || a;
bool c4 = a || false;zRint a = 1;
bool c1 = a && 1;
bool c2 = a && 0;
bool c3 = a || 1;
bool c4 = 0 || a;zint a = 1, b = 0;
bool c = false, d = true;
bool c1 = a && b;
bool c2 = a && c;
bool c3 = c && d;
bool c4 = a || b;
bool c5 = a || c;
bool c6 = c || d;zchar a = 'b';zint a[] = {10, 20};r5   r   r;   r7   r   rD   r:   r6   r<   r=   r>   r?   r@   r    rJ   rK   z20.0éS   iíĸĸrB   rL   rc   r   r   rX   Útempr   rb   rd   r[   re   r   rG   rf   z10.0rw   rĄ   r   rĒ   rĢ   rĪ   r_   rĨ   rĶ   r   r§   rĻ   rĐ   rŠ   rŦ   rg   rŽ   r­   é	   rŪ   rz   rv   z2.54rŊ   z1.5c                      s
   t  dS r°   r   rX   rą   rX   rY   rģ     rī   ztest_var_decl.<locals>.<lambda>c                      s
   t  dS r°   r   rX   rĩ   rX   rY   rģ     rī   ) r   rN   r   r   r1   r   r	   r   r#   r   r   r$   r&   r   r   r   r   r'   r%   r   r2   r3   r,   r-   r(   r)   r*   r+   r.   r0   r   rš   )@rP   rQ   rR   rS   rk   rl   rŧ   rž   r―   rū   rŋ   rĀ   rÁ   rÂ   rÃ   rÄ   rÅ   rÆ   rĮ   rČ   rÉ   rĘ   rË   rĖ   rÍ   rÎ   rÏ   rÐ   rŅ   rŌ   Zc_src31Zc_src32rT   rU   rV   rW   rp   rq   rÓ   rÔ   rÕ   rÖ   rŨ   rØ   rŲ   rÚ   rÛ   rÜ   rÝ   rÞ   rß   rā   rá   râ   rã   rä   rå   ræ   rį   rč   ré   rę   Zres31Zres32rX   Đrē   rķ   rY   Útest_var_declü  sė   ĸĸĸĸĸĸĸĸĸĸĸĸĸĸĸĸĸĸĸĸĸ	ĸĸĸĸĸĸĸĸĸĸĸĸĸ
þĸ
þĸ
þĸ
þþ	ü
ųĸü
þųĸ
þĸ
þĸ
þĸ
þĸ
þþþĸ
þĸ
þþĸ

þúþĸ
þĸ
þĸ
þĸ
þ
þéü"
þĸ
þĸ
þĸ
ýþĸ
þþúþýþëþĸ 
þýýũþĸ
þþüųũþĸü
ųĸü
ųĸüþýþöųĸü
ųĸ
þĸ
þĸ
þĸ
þĸ
þĸüþûųĸ
þĸ
þĸ
þĸ
þþþûýþĸ
þĸ
þĸ
þþĸ

þĸ
þĸ
þþĸ

þĸ
þĸ
þĸ
þúþôþĸ
þĸ
þĸ
þĸ
þþþøōþĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þþĸ

þþĸ

þþĸ

þþĸ

ĸþĸ	
þþĸ

þþĸ

þþĸ

þĸ
þĸ
þþ	
þþĸ

þþĸ

þþĸ

þþĸ

þþĸ
ü
ųĸü
ųĸ

þþĸ


þþĸ


þþĸ


þþĸ
ü
ųĸü
ųĸ
þþĸ

þþĸ

þþĸ

þþĸ

þþĸ

þþĸ

þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þĸ
þþĸ

þþĸ

þþĸ

þþĸ

þþĸ

þþĸ
rð   c                  C   sÞ  d} d}t | d Ą }t |d Ą }|d tttdttdtddksRJ |d tttd	ttdtd
dksJ |d tttdttdtddksŪJ |d tttd	ttdtddksÜJ |d tttdttdtddksJ |d tttdttdtddks<J |d tttdttdttdtddksvJ |d tttdttdttdt	td	tdt	tdtdt
tdtddksÚJ d S )Nz int a = (1);int b = (1 + 2 * 3);zPint a = 1, b = 2, c = 3;int d = (a);int e = (a + 1);int f = (a + b * c - d / e);r5   r   r6   r7   r:   rD   r;   rg   rB   rL   rb   rc   rd   r[   re   r   )r   rN   r   r   r1   r   r	   r   r#   r$   r&   ĐrP   rQ   rT   rU   rX   rX   rY   Útest_paren_expr  s    ĸĸ
þĸ

þĸ

þĸ

þĸ

þĸ
þĸ
þþĸ

þþýúþĸrō   c                     sn  d} d}d dt | d Ą }t |d Ą }|d tt tddttttd	t	td
t
ddtttdt	td
t
ddttd	ttdttd	ttddksļJ |d tt tddttttd	t	td
t
ddtttdt	td
t
ddtttdt	td
t
ddtttdt	td
ttd	dtttdt	td
ttddtttdt	td
ttd	dtttdt	td
ttddtttdttdtdtttdttdttddtttdttdtdtttdttdtddksFJ tt fdd ttfdd d S )Nz:void func(){
int a = 10;
int b = 20;
++a;
--b;
a++;
b--;
}zĪvoid func(){
int a = 10;
int b = -100;
int c = +19;
int d = ++a;
int e = --b;
int f = a++;
int g = b--;
bool h = !false;
bool i = !d;
bool j = !0;
bool k = !10.0;
}z&void func(){
int a = 10;
int b = ~a;
}z'void func(){
int a = 10;
int b = *&a;
}r5   r   r   rX   r6   r7   r   rD   r;   r   r   iĸĸĸé   rb   rd   re   rf   rh   r   r   ÚjÚkc                      s
   t  dS r°   r   rX   rą   rX   rY   rģ     rī   z&test_unary_operators.<locals>.<lambda>c                      s
   t  dS r°   r   rX   rĩ   rX   rY   rģ     rī   )r   rN   r   r   r	   r   r   r   r1   r   r   r!   r   r"   r    r   r3   r/   r2   r   rš   rņ   rX   rï   rY   Útest_unary_operatorsõ  sØ    ĸĸĸ	ĸ
þĸ
þĸ



ðü
þĸ
þĸ
þĸ

þĸ

þĸ

þĸ

þĸ
þĸ

þĸ
þĸ
þĸÃüJrö   c                  C   sū   d} t | d Ą }|d tt tddttttdt	tdt
dd	tttdt
d
tttdt
d
tttdt
d
tttdt
d
tttdt
d
dksšJ d S )NzHvoid func(){
int a = 100;
a += 10;
a -= 10;
a *= 10;
a /= 10;
a %= 10;
}r5   r   r   rX   r6   r7   r   rD   r   r   )r   rN   r   r   r	   r   r   r   r1   r   r   r   r   r   r   r   )Zc_srcÚresrX   rX   rY   Ú!test_compound_assignment_operator  sJ    ĸ
ýĸ
þ
þ
þ
þ
þčürø   c            
      C   s\  d} d}d}d}d}t | d Ą }t |d Ą }t |d Ą }t |d Ą }t |d Ą }	|d tt tdd	ttttd
t	tdt
ddtttd
t
dtttd
ddksÂJ |d |d ksÖJ |d tt tdd	ttttd
t	tdt
ddtttdt	tdt
ddtttd
t
dtttd
ttdddksjJ |d tt	tdtdttdt	tddfttttdt	tdt
ddtttdt
dttttdttdt
dtttdt
ddtddksJ |	d tt tdd	ttt
dtt ddksXJ d S )Nz/void func(){
int i = 0;
while(i < 10)
{
i++;
}}z,void func(){
int i = 0;
while(i < 10)
i++;
}zDvoid func(){
int i = 10;
int cnt = 0;
while(i > 0)
{
i--;
cnt++;
}
}z[int digit_sum(int n){
int sum = 0;
while(n > 0)
{
sum += (n % 10);
n /= 10;
}
return sum;
}zvoid func(){
while(1);
}r5   r   r   rX   r   r7   rD   r   )r   r   ZcntZ	digit_sumrĪ   r8   Úsumr:   )r   rN   r   r   r	   r   r   r   r1   r   r   r   r(   r"   r*   r    r   r%   r   r
   r   rX   rX   rY   Útest_while_stmtŋ  s   ĸĸ
ĸĸĸ
þĸþĸĸûųü
ýĸ
ýĸþĸĸüûņü$

þĸ
ýĸþĸþü	ĸüöûáũ,ĸþĸürú   c                      s0   ddl m  tt fdd ttdd  d S )Nr   ĐÚCCodeConverterc                      s     S )NrX   rX   rû   rX   rY   rģ   x  rī   ztest_raise.<locals>.<lambda>c                   S   s   t dddS )Nú r5   )Úmoder   rX   rX   rX   rY   rģ   y  rī   )Zsympy.parsing.c.c_parserrü   r   ÚImportErrorrX   rX   rû   rY   Ú
test_raisev  s    r   )IZsympy.parsing.sym_exprr   Zsympy.testing.pytestr   r   Zsympy.externalr   ZcinZsympy.codegen.astr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Zsympy.codegen.cnodesr   r    r!   r"   Z
sympy.corer#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   Zsympy.logic.boolalgr.   r/   r0   Zsympy.core.symbolr1   r2   r3   r   rZ   ru   r~   r   r   r   r   r   rë   rð   rō   rö   rø   rú   r   rX   rX   rX   rY   Ú<module>   s   d4 
   _
 a
Ta{  !6              +
           )Z 3
 8