
    xKg!                         d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ  G d de      Z	e
dk(  r e j                          yy)    N)jit)utils)TestCasec                        e Zd ZdZdZd Zd Zy)TestExtendedArgz3
    Test support for the EXTENDED_ARG opcode.
       c                    d }t        |j                  j                        }|j                  j                  }d}|d| j                  z  z   dz   }t
        j                  dk\  rd}nd}t        j                  |t        j                  d      }|d	| |z   ||d	 z   |d	d	 |j                  j                  t        |      |
      |_        |S )zW
        Get a function with a EXTENDED_ARG opcode before a LOAD_CONST opcode.
        c                  
    d} | S )N    )xs    a/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/numba/tests/test_extended_arg.pyfz6TestExtendedArg.get_extended_arg_load_const.<locals>.f   s    AH    z<BB)N)*   )         r      N)co_code	co_consts)	bytearray__code__r   r   bytecode_lenr   	PYVERSIONstructpackdisEXTENDED_ARGreplacebytes)selfr   bconstsbytecode_formatoffsetpacked_extend_args          r   get_extended_arg_load_constz+TestExtendedArg.get_extended_arg_load_const   s    	 ajj(()%%'D$5$555=??g% FF"KK9I9I1M&z--&'
:!ZZ''aF'K
r   c                    | j                         }| j                  t        |j                  j                        | j
                         | j                   |       d        t        d      |      }| j                   |       d       y )Nr   T)nopython)r(   assertGreaterlenr   r   r   assertPreciseEqualr   )r"   pyfunccfuncs      r   test_extended_arg_load_constz,TestExtendedArg.test_extended_arg_load_const)   sj    1133v8894;L;LM"-"T"6*,r   N)__name__
__module____qualname____doc__r   r(   r0   r   r   r   r   r      s     L0-r   r   __main__)unittestr   r   numbar   
numba.corer   numba.tests.supportr   r   r1   mainr   r   r   <module>r;      s>     
    ($-h $-N zHMMO r   