o
    jgÚ^ ã                   @   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:dd„ Z;dd„ Z<dd„ Z=edd„ ƒZ>edd„ ƒZ?edd„ ƒZ@dd„ ZAdd „ ZBed!d"„ ƒZCd#d$„ ZDd%d&„ ZEd'd(„ ZFed)d*„ ƒZGdS d+d,„ ZHdS )-é    ©ÚSymPyExpression)ÚraisesÚXFAIL)Úimport_modulezclang.cindexÚfromlistÚcindex)Ú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s8J ‚|d
 tttdƒttdƒƒd	ƒksLJ ‚|d tttdƒttdƒtdƒtdƒtdƒdd	ƒksjJ ‚|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sºJ ‚|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s J ‚|d tttdƒttdƒtdƒtdƒtdƒdt	ddddƒksDJ ‚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é    é   é   ©ÚnbitsÚnmantÚnexpé   Úx©r;   ÚvalueÚyé   Úpú2.0é5   ©Ú	precisioné   Úqz9.67)
r   Úreturn_exprr   r
   r3   r   r   r   r   r   ©Úc_src1Úc_src2Úc_src3Úc_src4Úres1Úres2Úres3Úres4© r]   úY/var/www/html/zoom/venv/lib/python3.10/site-packages/sympy/parsing/tests/test_c_parser.pyÚtest_variable   sÖ   ÿÿÿÿ
þ
ÿ
þ
ÿüþ
ÿüþ
ÿ
þ
ÿüþ
ÿ
þ
ÿ
ý
ÿ
ý
ÿü
øÿü
øÿr_   c                  C   sv	  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s!J ‚|d tttdƒttdƒƒtdƒdƒks9J ‚|d tttdƒttdƒƒtdƒdƒksQJ ‚|d tttd ƒttdƒƒtdƒdƒksiJ ‚|d tttd!ƒttdƒƒtdƒdƒksJ ‚|d tttdƒttd"ƒtd#ƒd$tdƒdƒksJ ‚|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sEJ ‚|d tttd+ƒttd%ƒtd&ƒd$tdƒdƒksaJ ‚|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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d0ƒd$tdƒdƒksJ ‚|d tttdƒttd/ƒtd0ƒd$tdƒdƒks1J ‚|d tttdƒttd/ƒtd0ƒd$tdƒdƒksMJ ‚|d' tttd(ƒttd/ƒtd0ƒd$tdƒdƒksiJ ‚|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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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s-J ‚|d tttdƒt	td3ƒtd4ƒd$tdƒdƒksIJ ‚|d tttdƒt	td5ƒtd0ƒd$tdƒdƒkseJ ‚|d tttdƒt	td5ƒtd0ƒd$tdƒdƒksJ ‚|d tttdƒt	td5ƒtd0ƒd$tdƒdƒksJ ‚|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;r7   r   r8   r9   r<   rH   r=   rF   é   rL   rK   rR   r@   rG   é0   rJ   éa   ÚrÚsÚint8rA   )rC   Úint16é   rQ   Údé   ÚeÚfÚgé   ÚhÚint64é@   Úuint8Úuint16Úuint32r?   Úuint64)
r   rS   r   r
   r3   r   r   r   r   r   )rU   rV   rW   rX   Úc_src5Úc_src6Úc_src_type1Úc_src_type2Úc_src_type3Úc_src_type4Úc_src_type5Úc_src_type6Úc_src_type7Úc_src_type8rY   rZ   r[   r\   Úres5Úres6Ú	res_type1Ú	res_type2Ú	res_type3Ú	res_type4Ú	res_type5Ú	res_type6Ú	res_type7Ú	res_type8r]   r]   r^   Útest_int›   s  ÿÿÿ	ÿÿÿÿ
ý
ÿ
ý
ÿ
ý
ÿ
ý
ÿ
ý
ÿ
ýÿ
ýÿ
ýÿ
ýÿ
ýÿ
ýÿþúÿþúÿþúÿþúÿþûÿ
þúÿþúÿþúÿþúÿþúÿ
ýÿ
ýÿ
ýÿ
ýÿþúÿþúÿþúÿþúÿþúÿþúÿþúÿþúÿþúÿþúÿþúÿþúÿþúÿþúÿþúÿþúÿr‰   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skJ ‚|	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scJ ‚|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 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;r7   r   r8   r>   r?   r@   rA   rB   z1.0rN   rO   rH   ú1.25r<   r=   z2.3900000000000001rG   rJ   rM   rL   z5.0rj   z7.89rc   rd   z0.0ú2.5Úfloat64rp   é4   é   Úfloat80éP   é?   é   )	r   rS   r   r
   r3   r   r   r   r   )rU   rV   rW   rX   ru   rw   rx   ry   rY   rZ   r[   r\   r   r   r‚   rƒ   r]   r]   r^   Ú
test_floatw  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s9J ‚|d
 tttdƒttdƒƒtd	ƒksNJ ‚|d tttdƒttdƒƒtd	ƒkscJ ‚|d
 tttdƒttdƒƒtd	ƒksxJ ‚|d tttdƒttdƒƒtd	ƒksJ ‚|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 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;r7   r   r8   ÚboolrH   r<   r=   rF   )	r   rS   r   r
   r3   r   r   r5   r4   rT   r]   r]   r^   Ú	test_boolW  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sCJ ‚|d tt	td
ƒƒtdƒdttttd	ƒt	td
ƒƒdƒt
d	ƒƒdkshJ ‚|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s¡J ‚|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()
{}r7   r   Úfun1r]   r8   r9   r:   ©ÚnameÚ
parametersÚbodyÚfun2r>   r?   r@   rA   rB   Úfun3r=   Úfun4)r™   rš   )r   rS   r   r   r   r   r   r
   r3   r   r   r   r   r   rT   r]   r]   r^   Ú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sEJ ‚|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;
}r7   r   r—   r8   r9   r:   Úir˜   rœ   rG   r>   r?   r@   rA   rB   rJ   r   rL   rR   rc   r=   )r   rS   r   r   r   r
   r3   r   r   r   r   r   r   )rU   rV   rW   rY   rZ   r[   r]   r]   r^   Ú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sPJ ‚|d tt	ƒ tdƒdtt
ttd
ƒttd	ƒtdƒfddƒƒdkstJ ‚|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scJ ‚|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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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sJ ‚|	d tttdƒƒtd%ƒdttd&ƒƒdks0J ‚|	d tt	ƒ tdƒdtt
ttdƒttd%ƒdddƒƒdksRJ ‚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()
}r7   r   r9   r—   rG   r:   r˜   r<   Úcallerr]   rF   )Úfunction_args)rI   rœ   r8   r=   rJ   rQ   ri   r   rL   rR   rc   Úzrž   r>   r?   r@   rA   rB   r    ÚfunÚ )r   rS   r   r   r   r
   r3   r   r   r   r   r   r   r   ©
rU   rV   rW   rX   ru   rY   rZ   r[   r\   r   r]   r]   r^   Ú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sLJ ‚|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 )Nr6   r–   z..a.hÚwz..b.hr7   r   r8   r9   r:   r<   r=   r—   r]   r˜   )ÚopenÚwriteÚcloser   rS   ÚosÚremover   r
   r3   r   r   r   r   r   )rU   rV   Úf1Úf2rY   rZ   r]   r]   r^   Ú
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sBJ ‚|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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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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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s5J ‚|$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skJ ‚|%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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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s+J ‚|)d% ttƒ td&ƒd'ttttd(ƒt	td)ƒƒd*ƒt
ttd(ƒƒtdEƒƒƒd,ksUJ ‚|*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s­J ‚|+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s$J ‚|,d% ttƒ td&ƒd'ttttd(ƒt	td)ƒƒd*ƒt
ttd(ƒƒtd+ƒƒƒd,ksNJ ‚|-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sJ ‚|.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sMJ ‚|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td(ƒtdIƒƒttd8ƒttd2ƒtdIƒƒƒƒtttd(ƒtd2ƒƒtdIƒƒƒ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ssJ ‚|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	saJ ‚|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seJ ‚|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snJ ‚|: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;
}zvoid 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);
}r7   r   Úfuncr]   r8   r9   r:   r<   r˜   rH   rQ   iöÿÿÿé
   iïÿÿÿr=   éd   rF   é   é   rh   éÿÿÿÿri   r>   r?   r@   rA   rB   z1.01rN   rO   ú12.5ú4.0é¡ÿÿÿéÔþÿÿr`   Únrd   ÚmodéÊš;r”   Úc1Úc2Úc3Úc4Úc5Úc6Úc7Úc8rŽ   rŠ   ú1.2r‹   c                      ó
   t ˆ dƒS ©Nr7   r   r]   ©Úc_src_raise1r]   r^   Ú<lambda>ü  ó   
 z'test_binary_operators.<locals>.<lambda>c                      rÈ   rÉ   r   r]   ©Úc_src_raise2r]   r^   rÌ   ý  rÍ   c                      rÈ   rÉ   r   r]   )Úc_src_raise3r]   r^   rÌ   þ  rÍ   c                      rÈ   rÉ   r   r]   )Úc_src_raise4r]   r^   rÌ   ÿ  rÍ   c                      rÈ   rÉ   r   r]   )Úc_src_raise5r]   r^   rÌ      rÍ   ) r   rS   r   r   r   r   r   r
   r3   r   r   r   r%   r&   r(   r   r   r)   r'   r   r4   r5   r.   r/   r*   r+   r,   r-   r0   r2   r   ÚNotImplementedError)<rU   rV   rW   rX   ru   rv   Ú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_src30rY   rZ   r[   r\   r   r€   Úres7Úres8Úres9Úres10Úres11Úres12Úres13Úres14Úres15Úres16Úres17Úres18Úres19Úres20Úres21Úres22Úres23Úres24Úres25Úres26Úres27Úres28Úres29Úres30r]   )rË   rÏ   rÐ   rÑ   rÒ   r^   Útest_binary_operatorsÜ  sL  ÿÿ	ÿÿ
ÿÿÿ	ÿ	ÿ	ÿ	ÿ	ÿ	ÿÿÿ	ÿ
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ	ÿ	ÿ	ÿ	ÿ
ÿÿúü
þÿ
ÿþþüÿöü
þÿ
þþùü
ÿÿ
ÿÿ
þ
þþþöþòü$
ÿÿ
ÿÿ
ÿÿ
ÿÿ
þ
þ
þ
þþûþþõþáü<
ÿÿ
ÿÿ
ÿÿ
ÿÿ
þ
þ
þ
þþþþþðþßü@üÿÿ


þõüüÿÿ


þõüüÿÿ


þõü
ÿÿ
þúü
ÿÿ
þúü
ÿÿ
þúü
ÿÿ
ÿÿüÿÿ

þûþëü&
þÿ
þÿ
þÿ
ÿÿ
þþþûýþèü3
ÿÿ
þúü
þÿ
ÿÿ
þþôü
þÿ
þÿ
ÿÿ
þþîü 
þÿ
þÿ
þÿ
ÿÿ
þúþôþèü0
þÿ
þÿ
þÿ
ÿÿ
þþþûþûòéþèü;
ÿÿ
ÿÿ
þ
þñü
ÿÿ
ÿÿ
ÿÿ
ÿÿ
þ
þ
þ
þßü,
þÿ
þÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
þþ
þþ
þþ
þþ
þþ
þþ
þþ
þþšü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s<J ‚| d) tttd*ƒttd&ƒƒtd%ƒd(ƒksTJ ‚|!d$ tttd*ƒttd&ƒƒtd)ƒd(ƒkslJ ‚|!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s­J ‚|"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s6J ‚|%d6 tttd*ƒttd&ƒƒttd%ƒttd8ƒtd#ƒƒƒd(ƒksXJ ‚|&d$ tttd%ƒttd&ƒƒtd)ƒd(ƒkspJ ‚|&d) tttd#ƒttd&ƒƒttd%ƒtd6ƒƒd(ƒksJ ‚|&d6 tttd*ƒttd&ƒƒttd9ƒttd%ƒtd6ƒƒ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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s!J ‚|(d) tttd%ƒttd&ƒƒtd6ƒd(ƒks9J ‚|(d6 tttd#ƒttd&ƒƒtd*ƒd(ƒksQJ ‚|(d7 tttd>ƒttd&ƒƒttd*ƒtd%ƒtd#ƒƒd(ƒksqJ ‚|(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s¸J ‚|(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s$J ‚|)d$ tttd*ƒt	td+ƒtd,ƒtd-ƒtd.ƒd/t
dEd1d2d(ƒksHJ ‚|)d) tttd%ƒt	td+ƒtd,ƒtd-ƒtd.ƒd/t
dFd1d2d(ƒkslJ ‚|)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s¨J ‚|*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s,J ‚|.d) tttd%ƒttd&ƒƒtd6ƒd(ƒksDJ ‚|.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spJ ‚|/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s¸J ‚|/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s:J ‚|2d$ tttd*ƒttd&ƒƒtd'ƒd(ƒksRJ ‚|2d) tttd%ƒttd&ƒƒtd7ƒd(ƒksjJ ‚|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s·J ‚|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sFJ ‚|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swJ ‚|5d$ tttd*ƒttdOƒƒtd(ƒksJ ‚|5d) tttd%ƒttdOƒƒtd(ƒks£J ‚|6d$ tttd*ƒttdOƒƒtd(ƒks¹J ‚|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s+J ‚|7d6 tttdPƒttdOƒƒttd*ƒtd)ƒƒd(ƒksHJ ‚|7d7 tttdQƒttdOƒƒttd%ƒtd6ƒƒd(ƒkseJ ‚|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s¼J ‚|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	s+J ‚|8d) tttd%ƒttd&ƒƒtd8ƒd(ƒk	sCJ ‚|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	sšJ ‚|8d@ tttdSƒttdOƒƒttd*ƒtd%ƒƒd(ƒk	s·J ‚|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
s9J ‚|9d6 tttdPƒttdOƒƒttd*ƒt
d[d1d2ƒd(ƒk
sXJ ‚|9d7 tttdQƒttdOƒƒttd%ƒt
d\d1d2ƒd(ƒk
swJ ‚|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
sµJ ‚|: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sJ ‚|:d7 tttdQƒttdOƒƒttd*ƒtd%ƒƒd(ƒks7J ‚|:d8 tttdRƒttdOƒƒttd*ƒtd%ƒƒd(ƒksTJ ‚|:d@ tttdSƒttdOƒƒttd*ƒtd%ƒƒd(ƒksqJ ‚|: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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s/J ‚|<d$ tttdPƒttdOƒƒtd(ƒksEJ ‚|<d) tttdQƒttdOƒƒtd(ƒks[J ‚|<d6 tttdRƒttdOƒƒtd(ƒksqJ ‚|<d7 tttdSƒttdOƒƒtd(ƒks‡J ‚|<d8 tttdTƒttdOƒƒtd(ƒksJ ‚|<d@ tttdVƒttdOƒƒtd(ƒks³J ‚|=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s%J ‚|>d$ tttd*ƒttd&ƒƒtd)ƒd(ƒks=J ‚|>d) tttdPƒttdOƒƒtd*ƒd(ƒksUJ ‚|>d6 tttdQƒttdOƒƒtd(ƒkskJ ‚|>d7 tttdRƒttdOƒƒtd(ƒksJ ‚|>d8 tttdSƒttdOƒƒ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 ‚|?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sLJ ‚|?dU tttdSƒttdOƒƒttd*ƒtd%ƒƒd(ƒksiJ ‚|?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s£J ‚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};r7   r   r=   r9   r´   rH   r<   r8   r>   r?   r@   rA   rB   r¸   rN   rO   z20.0éS   iíÿÿrF   rQ   ri   r³   r²   r]   Útempr˜   rh   rj   r`   rk   r·   rK   rl   z10.0r‹   r¹   r¶   rº   r»   r¼   rd   r½   r¾   r”   r¿   rÀ   rÁ   rÂ   rÃ   rm   rÄ   rÅ   é	   rÆ   rŽ   rŠ   z2.54rÇ   z1.5c                      rÈ   rÉ   r   r]   rÊ   r]   r^   rÌ   ž  rÍ   ztest_var_decl.<locals>.<lambda>c                      rÈ   rÉ   r   r]   rÎ   r]   r^   rÌ   Ÿ  rÍ   ) r   rS   r   r
   r3   r   r   r   r%   r   r   r&   r(   r   r   r   r   r)   r'   r   r4   r5   r.   r/   r*   r+   r,   r-   r0   r2   r   rÓ   )@rU   rV   rW   rX   ru   rv   rÔ   rÕ   rÖ   r×   rØ   rÙ   rÚ   rÛ   rÜ   rÝ   rÞ   rß   rà   rá   râ   rã   rä   rå   ræ   rç   rè   ré   rê   rë   Úc_src31Úc_src32rY   rZ   r[   r\   r   r€   rì   rí   rî   rï   rð   rñ   rò   ró   rô   rõ   rö   r÷   rø   rù   rú   rû   rü   rý   rþ   rÿ   r   r  r  r  Úres31Úres32r]   ©rË   rÏ   r^   Ú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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sWJ ‚|d tttd	ƒttdƒƒtdƒdƒksnJ ‚|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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);r7   r   r8   r9   r<   rH   r=   rm   rF   rQ   rh   ri   rj   r`   rk   r·   )r   rS   r   r
   r3   r   r   r   r%   r&   r(   ©rU   rV   rY   rZ   r]   r]   r^   Ú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s#J ‚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;
}r7   r   r²   r]   r8   r9   r³   rH   r=   rµ   r˜   iœÿÿÿé   rh   rj   rk   rl   rn   r”   r    ÚjÚkc                      rÈ   rÉ   r   r]   rÊ   r]   r^   rÌ     rÍ   z&test_unary_operators.<locals>.<lambda>c                      rÈ   rÉ   r   r]   rÎ   r]   r^   rÌ     rÍ   )r   rS   r   r   r   r   r   r
   r3   r   r   r#   r!   r$   r"   r   r5   r1   r4   r   rÓ   r  r]   r  r^   Ú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;
}r7   r   r²   r]   r8   r9   r´   rH   r³   r˜   )r   rS   r   r   r   r   r   r
   r3   r   r   r   r   r   r   r   )Úc_srcÚresr]   r]   r^   Ú!test_compound_assignment_operator“  sJ   ÿ
ýÿ
þ
þ
þ
þ
þèür  c            
      C   sZ  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saJ ‚|d |d kskJ ‚|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s´J ‚|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s+J ‚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);
}r7   r   r²   r]   r    r9   rH   r³   )r›   r˜   ÚcntÚ	digit_sumr¼   r:   Úsumr<   )r   rS   r   r   r   r   r   r
   r3   r   r   r    r*   r$   r,   r"   r   r'   r   r   r§   r]   r]   r^   Ú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 )Nr]   r]   r  r]   r^   rÌ     s    ztest_raise.<locals>.<lambda>c                   S   s   t dddS )Nú r7   )Úmoder   r]   r]   r]   r^   rÌ   €  s    )Úsympy.parsing.c.c_parserr  r   ÚImportErrorr]   r]   r  r^   Ú
test_raise}  s   r!  )IÚsympy.parsing.sym_exprr   Úsympy.testing.pytestr   r   Úsympy.externalr   ÚcinÚ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    Úsympy.codegen.cnodesr!   r"   r#   r$   Ú
sympy.corer%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   Úsympy.logic.boolalgr0   r1   r2   Úsympy.core.symbolr3   r4   r5   r­   r_   r‰   r“   r•   rŸ   r¡   r¨   r±   r  r  r  r  r  r  r!  r]   r]   r]   r^   Ú<module>   s„    d4    _ aS
`
z
  !6              5
           )Z 2 8