NL i XUdZddlmZddlmZddlmZmZmZm Z m Z m Z ddl m Z mZddlmZddlmZddlmZmZdd lmZGd d eZee j2ed d ee j4ed d ee j6ed d ee j8ed d ee j:ed d ee j<ed d dZde d<ddZ!edd dZ"edd dZ#edd dZ$edd dZ%edd dZ&edd dZ'y)!z4Convert tagged int primitive ops to lower-level ops.) annotations) NamedTuple)Assign BasicBlockBranch ComparisonOpRegisterValue)bool_rprimitiveis_short_int_rprimitive)LowLevelIRBuilder)lower_primitive_op) int_equal_int_less_than_)CFunctionDescriptionc6eZdZUded<ded<ded<ded<y) IntComparisonOpDescriptionintbinary_op_variantrc_func_descriptionboolc_func_negatedc_func_swap_operandsN)__name__ __module__ __qualname____annotations__Y/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/mypyc/lower/int_ops.pyrrs,,rrFT)==!=<<=>>=z%dict[str, IntComparisonOpDescription]int_comparison_op_mappingct|jst|jr|dvrd}n,t|jxrt|j}|r|j||t|d|St|\}}}} t t } t t t } } } |j||d}|dvr,|jt|| | tjnt }|jt|| |tj|j||j||d}|jt|| | tj|j| | r||g}n||g}|j|||}|r|j|d|}n|}|jt| |||j| |j| |j||||}|jt| |||j!| | S)zACompare two tagged integers using given operator (value context).)r!r"Tr)negatednot)r type comparison_opr'r r rcheck_tagged_short_intaddrBOOLactivate_blockcall_cunary_oprgotogoto_and_activate)selflhsrhsoplinequickop_type c_func_desc negate_resultswap_opresultshort_int_block int_blockout check_lhs short_lhs check_rhsargscall call_resulteqs r compare_taggedrJ)s )-DSXX-NTV[U'1W6Mchh6W !!#s,Eb,I!,LdSS3LR3P0G[- o &F&0lJL*,YO++Ct+DI \  9ov{{KLL   9iEF I&//T4/H   9ov{{KL "SzSz ;;{D$ /DmmD%6  HHVFK ./IIcN(  Cgt 4BHHVFB %&3 Mrint_eqc,t||d|dd|S)Nrr!rJbuilderrFr9s r lower_int_eqrQV '47DGT4 @@rint_nec,t||d|dd|S)NrrMr"rNrOs r lower_int_nerU[rRrint_ltc,t||d|dd|S)NrrMr#rNrOs r lower_int_ltrX` '47DGS$ ??rint_lec,t||d|dd|S)NrrMr$rNrOs r lower_int_ler\erRrint_gtc,t||d|dd|S)NrrMr%rNrOs r lower_int_gtr_jrYrint_gec,t||d|dd|S)NrrMr&rNrOs r lower_int_gerborRrN) r5r r6r r7r r8strr9rreturnr )rPr rFz list[Value]r9rrdr )(__doc__ __future__rtypingr mypyc.ir.opsrrrrr r mypyc.ir.rtypesr r mypyc.irbuild.ll_builderr mypyc.lower.registryrmypyc.primitives.int_opsrrmypyc.primitives.registryrrEQNEQSLTSLESGTSGEr'rrJrQrUrXr\r_rbrrr rts`:"RRD63?: %\__j% O $\%5%5z4 O #L$4$4neU S $\%5%5~tT R #L$4$4neT R $\%5%5~tU S D@*ZHAAHAAH@@HAAH@@HAAr