
    mi$              	         d Z ddlmZ ddlmZmZmZmZmZ ddl	m
Z
mZmZmZmZmZmZmZmZmZmZmZ ddlmZmZmZmZmZmZ dD ]DZ eeed            eeeged	e
            eeegede
            eeeegede
           EdD ]&Z eeegeded          Z eeegeded           'eefdkdZ  e dde          Z! e d d!e          Z" e d"d#e          Z# e d$d%e          Z$ e d&d'e          Z% e d(d)e          Z&eefdld-Z' e'd.d/            e'd0d1            e'd2d3            e'd4d5            e'd6d7            e'd8d9            e'd:d;e<            e'd=d>e<            e'd?d@e<            e'dAdBe<            e'dCdDeeE            e'dFd/            e'dGd1            e'dHd3            e'dId5            e'dJd7            e'dKd9            e'dLd;e<            e'dMd>e<            e'dNd@e<            e'dOdBe<           dmdPZ( e(d0dQ          Z) e(dRdS          Z* eeegedTedUV          Z+ eeegedWedUV          Z, eeegedXeY          Z- eeegedZeY          Z. eeeged[eY          Z/ eeeged\eY          Z0 eeeged]eY          Z1 eeeged^eY          Z2 eeged_eY          Z3 eeged`eY          Z4 eegedaeY          Z5 eegedbeY          Z6 eg edceY          Z7 eg eddeY          Z8 eg edeeY          Z9 edfegedge
          Z: edhegedie
           djS )na<  Arbitrary-precision integer primitive ops.

These mostly operate on (usually) unboxed integers that use a tagged pointer
representation (CPyTagged) and correspond to the Python 'int' type.

See also the documentation for mypyc.rtypes.int_rprimitive.

Use mypyc.ir.ops.IntOp for operations on fixed-width/C integers.
    )annotations)
ERR_ALWAYS	ERR_MAGICERR_MAGIC_OVERLAPPING	ERR_NEVERPrimitiveDescription)RTypebit_rprimitivebool_rprimitivec_pyssize_t_rprimitivefloat_rprimitiveint16_rprimitiveint32_rprimitiveint64_rprimitiveint_rprimitiveobject_rprimitivestr_rprimitive
void_rtype)	binary_op	custom_opfunction_opload_address_op	method_opunary_op)zbuiltins.intzmypy_extensions.i64zmypy_extensions.i32zmypy_extensions.i16zmypy_extensions.u8PyLong_Type)nametypesrcCPyTagged_FromFloatr   	arg_typesreturn_typec_function_name
error_kindCPyLong_FromStrCPyLong_FromStrWithBase)zbuiltins.strzbuiltins.reprCPyTagged_Str   )r   r!   r"   r#   r$   priorityCPyBool_Str   opstrprimitive_namer"   r	   r$   intreturnr   c                B    t          | t          t          g|||          S )N)r   r!   r"   r.   r$   r   r   )r,   r.   r"   r$   s       p/var/www/html/bestrading.cuttalo.com/scripts/kaggle-env/lib/python3.11/site-packages/mypyc/primitives/int_ops.pyint_binary_primitiver4   l   s/     !>2%       z==int_eq)r,   r.   r"   z!=int_ne<int_ltz<=int_le>int_gtz>=int_ger   r#   Nonec                F    t          | t          t          g|||           d S )Nr    r2   )r   r#   r"   r$   s       r3   int_binary_opr@      s9     !>2'     r5   +CPyTagged_Add-CPyTagged_Subtract*CPyTagged_Multiply&CPyTagged_And|CPyTagged_Or^CPyTagged_Xorz//CPyTagged_FloorDivide)r$   %CPyTagged_Remainderz>>CPyTagged_Rshiftz<<CPyTagged_Lshift/CPyTagged_TrueDivide)r"   r$   z+=z-=z*=z&=z|=z^=z//=z%=z>>=z<<=c                H    t          | t          t          |t                    S )N)r   arg_typer"   r#   r$   )r   r   r   )r   r#   s     r3   int_unary_oprV      s(    "'   r5   CPyTagged_Negate~CPyTagged_InvertCPyTagged_IsEq_T)r!   r"   r#   r$   is_pureCPyTagged_IsLt_CPyInt64_Divide)r!   r"   r#   r$   CPyInt64_RemainderCPyInt32_DivideCPyInt32_RemainderCPyInt16_DivideCPyInt16_RemainderCPyLong_AsInt64CPyTagged_FromSsize_tCPyTagged_FromInt64CPyLong_AsInt32CPyInt32_OverflowCPyInt16_OverflowCPyUInt8_Overflowzbuiltints.isinstancePyLong_Check
bit_lengthCPyTagged_BitLengthN)
r,   r-   r.   r-   r"   r	   r$   r/   r0   r   )
r   r-   r#   r-   r"   r	   r$   r/   r0   r>   )r   r-   r#   r-   r0   r   );__doc__
__future__r   mypyc.ir.opsr   r   r   r   r   mypyc.ir.rtypesr	   r
   r   r   r   r   r   r   r   r   r   r   mypyc.primitives.registryr   r   r   r   r   r   int_namer   int_to_str_opr4   r6   r7   r9   r:   r<   r=   r@   rV   
int_neg_opint_invert_op
int_equal_int_less_than_int64_divide_opint64_mod_opint32_divide_opint32_mod_opint16_divide_opint16_mod_opint_to_int64_opssize_t_to_int_opint64_to_int_opint_to_int32_opint32_overflowint16_overflowuint8_overflowisinstance_int r5   r3   <module>r      s    # " " " " "                                                        ( (H O(9}MMMM K#$"-    K!"%)    K!>2%1     .  DK!""'  M K"#"%     8FYb	 	 	 	 	 
	hN	[	[	[		hN	[	[	[		X>	Z	Z	Z		hN	[	[	[		X>	Z	Z	Z		hN	[	[	[ (	    $ c? # # # c' ( ( ( c' ( ( ( c? # # # c> " " " c? # # # d+	 B B B B c(Y ? ? ? ? d&9 = = = = d&9 = = = = 	-=J_    dO $ $ $ d( ) ) ) d( ) ) ) dO $ $ $ dN # # # dO $ $ $ e, C C C C d)i @ @ @ @ e'I > > > > e'I > > > >    \#122
S"455 Y~.%  
 ~.%   )!12 %$	   y!12 ($	   )!12 %$	   y!12 ($	   )!12 %$	   y!12 ($	   ) ! %$	   I%&+	    ) )	   ) ! %$	   '	   '	   '	   	 !"   
		)     r5   