NL i) UddlmZddlmZmZddlmZeeee e e e e edfeedf ZddZdZded <Gd d Zdd Zdd ZddZddZddZddZddZddZy)) annotations)FinalUnion) TypeGuard.Nc tt|ttttt t ttdfSN) isinstancestrbytesintfloatcomplextuple frozensettype)objs \/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/mypyc/codegen/literals.py_is_literal_valuer s% cCUGUItTXzZ [[rNUM_SINGLETONScxeZdZdZddZddZddZddZddZddZ ddZ dd Z dd Z dd Z dd Z dd Zy)LiteralszMCollection of literal values used in a compilation group and related helpers.cfi|_i|_i|_i|_i|_i|_i|_yr) str_literalsbytes_literals int_literalsfloat_literalscomplex_literalstuple_literalsfrozenset_literalsselfs r__init__zLiterals.__init__s:,.02,.0246=?@Brc`||dus|duryt|tr |j}||vrt|||<yyt|tr |j }||vrt|||<yyt|t r |j}||vrt|||<yyt|tr |j}||vrt|||<yyt|tr |j}||vrt|||<yyt|trE|j}||vr4|D] }t|sJ|j|"t|||<yyt|t rE|j"} || vr4|D] }t|sJ|j|"t| | |<yyJd|z)z=Ensure that the literal value is available in generated code.NTFinvalid literal: %r)r r rlenr rr rr rrrrr rrecord_literalrr!) r#valuerrrrrr itemr!s rr(zLiterals.record_literal"s =ETMUe^  eS !,,LL(&),&7 U#) u %!00NN*(+N(;u%+ s #,,LL(&),&7 U#) u %!00NN*(+N(;u%+ w '#44 ,,*-.>*? '- u %!00NN*!.D,T222''-.),N(;u% + y )!%!8!8 ..!.D,T222''-.-00B,C"5) / 8/%7 75rc8|y|dury|duryt}t|tr||j|zS|t |jz }t|t r||j |zS|t |j z }t|tr||j|zS|t |jz }t|tr||j|zS|t |jz }t|tr||j|zS|t |jz }t|tr||j|zS|t |jz }t|tr||j |zSJd|z)z7Return the index to the literals array for given value.rFTr&)rr r rr'r rr rr rrrrr rr!)r#r)ns r literal_indexzLiterals.literal_indexLs = e^ d]  eS !t((// / S"" ## eU #t**511 1 S$$ %% eS !t((// / S"" ## eU #t**511 1 S$$ %% eW %t,,U33 3 S&& '' eU #t**511 1 S$$ %% eY 't..u55 53+e33urcBtt|jzt|jzt|jzt|j zt|j zt|jzt|jzSr) rr'rrrrrr r!r"s r num_literalszLiterals.num_literalsms $##$ %$%%& '$##$ %$%%&  ' $''(  ) $%%&  '$))* + rc,t|jSr)_encode_str_valuesrr"s rencoded_str_valueszLiterals.encoded_str_values}!$"3"344rc,t|jSr)_encode_int_valuesrr"s rencoded_int_valueszLiterals.encoded_int_valuesr5rc,t|jSr)_encode_bytes_valuesrr"s rencoded_bytes_valueszLiterals.encoded_bytes_values#D$7$788rc,t|jSr)_encode_float_valuesrr"s rencoded_float_valueszLiterals.encoded_float_valuesr<rc,t|jSr)_encode_complex_valuesrr"s rencoded_complex_valueszLiterals.encoded_complex_valuess%d&;&;< ... ... )itemsr'appendr rangerr/) r#valuesr)indexvalue_by_indexresultcountir*s rrDz"Literals._encode_collection_valuessJ<5%%,JJF  c%j!u *A"1%E MM#c%j/ * *(...**40 c%j) * * Ks CN)returnNone)r) LiteralValuerRrS)r)rTrRr )rRr )rR list[bytes])rR list[str])rLz||~F|ueeUlFNF FDH 3v; !q!%- a>? MM# M!Gs Dc@t|}|dk(ry|dk(ry|dk(ry|S)z1Return C literal representation of a float value.infINFINITYz-infz -INFINITYnanNAN)r )xrrs r float_to_cr}s. AAEz f e Hrc|jDcic]\}}|| }}}g}t|}|jt|t |D]!}||}|jt |#|Scc}}w)z|Encode float values into a C array values. The result contains the number of values followed by individual values. )rIr'rJr rKr}rLr)rMrNrOnumrQs rr>r>s~ 8>||~F|ueeUlFNF F f+C MM#c( 3Z)q! j'() MGs A<c`|jDcic]\}}|| }}}g}t|}|jt|t |D]O}||}|jt |j |jt |jQ|Scc}}w)zEncode float values into a C array values. The result contains the number of values followed by pairs of doubles representing complex numbers. )rIr'rJr rKr}realimagrs rrArA s 8>||~F|ueeUlFNF F f+C MM#c( 3Z.q! j,- j,-. MGs B*)robjectrRzTypeGuard[LiteralValue])rLzdict[str, int]rRrU)rLzdict[bytes, int]rRrU)r.r rRr )rrr rRr )rLzdict[int, int]rRrU)r|r rRr )rLzdict[float, int]rRrV)rLzdict[complex, int]rRrV) __future__rtypingrrtyping_extensionsrr r r boolr rrrrrTrr__annotations__rr3r:r`r_r7r}r>rAr[rrrs"'T5'5+=y?PRVV \ WWt** ( 0   r