
    h	                         S SK Jr  S SKJs  Jr  S SK7  S SK7  S SK7   " S S\5      r\	S:X  a  S SK
r
\
R                  " 5         gg)    )
CythonTestN)*c                   b    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rSrg)TestMemviewParsing   c                 F   ^ ^ T R                  UU 4S j5      R                  $ )Nc                  &   > TR                  T 5      $ Nfragmentsselfs   [/var/www/fran/franai/venv/lib/python3.13/site-packages/Cython/Compiler/Tests/TestMemView.py<lambda>*TestMemviewParsing.parse.<locals>.<lambda>   s    DMM!,<    )should_not_failroot)r   r   s   ``r   parseTestMemviewParsing.parse
   s    ##$<=BBBr   c                    ^ ^ T R                  UU 4S j[        R                  5      nT R                  XR                  5        g )Nc                  &   > TR                  T 5      $ r
   r   r   s   r   r   2TestMemviewParsing.not_parseable.<locals>.<lambda>   s    T]]1%5r   )should_failErrorsCompileErrorassertEqualmessage_only)r   expected_errorr   es   ` ` r   not_parseable TestMemviewParsing.not_parseable   s.    58K8KL8r   c                 H    U R                  S5        U R                  S5        g )Ncdef int[:] xzcdef short int[:] xr   r   s    r   test_default_1dim$TestMemviewParsing.test_default_1dim   s    

?#

()r   c                 j    U R                  S5        U R                  S5        U R                  S5        g )Nzcdef int[:,:,:,:,:] xz#cdef unsigned long int[:,:,:,:,:] xzcdef unsigned int[:,:,:,:,:] xr&   r'   s    r   test_default_ndim$TestMemviewParsing.test_default_ndim   s)    

*+

89

34r   c                 H    U R                  S5        U R                  S5        g )Nzcdef long double[0:] xzcdef int[0:] xr&   r'   s    r   test_zero_offset#TestMemviewParsing.test_zero_offset   s    

+,

#$r   c                 &    U R                  S5        g )Nzcdef int[0:,0:,0:,0:] xr&   r'   s    r   test_zero_offset_ndim(TestMemviewParsing.test_zero_offset_ndim   s    

,-r   c                 &    U R                  S5        g )Nzdef foo(int[:,:] x): passr&   r'   s    r   test_def_argTestMemviewParsing.test_def_arg!   s    

./r   c                 &    U R                  S5        g )Nzcdef foo(int[:,:] x): passr&   r'   s    r   test_cdef_arg TestMemviewParsing.test_cdef_arg$   s    

/0r   c                 &    U R                  S5        g )Nz9cdef float[::ptr, ::direct & contig, 0::full & strided] xr&   r'   s    r   test_general_slice%TestMemviewParsing.test_general_slice'   s    

NOr   c                 L    U R                  SS5        U R                  SS5        g )NzDAn axis specification in memoryview declaration does not have a ':'.zcdef double[:foo, bar] xzcdef double[0:foo, bar] xr"   r'   s    r   test_non_slice_memview)TestMemviewParsing.test_non_slice_memview*   s*    a*	,a+	-r   c                     U R                  S5      nUR                  S   R                  nU R                  [	        U[
        5      5        g )Nr%   r   )r   stats	base_type
assertTrue
isinstanceMemoryViewSliceTypeNode)r   t	memv_nodes      r   
test_basicTestMemviewParsing.test_basic0   s7    JJ'GGAJ((	
9.EFGr   c                 (    U R                  SS5        g )NExpected ']'z$cdef extern foo(object[int, ndim=2])r=   r'   s    r   disable_test_no_buf_arg*TestMemviewParsing.disable_test_no_buf_arg8   s    >6	8r   c                     U R                  S5        U R                  S5        U R                  S5        U R                  SS5        U R                  SS5        g )Nzsizeof(int[NN])zsizeof(int[])zsizeof(int[][NN])z!Expected an identifier or literalzsizeof(int[:NN])rK   zsizeof(foo[dtype=bar])r   r"   r'   s    r   disable_test_parse_sizeof,TestMemviewParsing.disable_test_parse_sizeof<   sO    

$%

?#

&'>"	$>'	)r    N)__name__
__module____qualname____firstlineno__r   r"   r(   r+   r.   r1   r4   r7   r:   r>   rH   rL   rO   __static_attributes__rQ   r   r   r   r      sF    C9*5
%.01P-H8)r   r   __main__)Cython.TestUtilsr   Cython.Compiler.ErrorsCompilerr   Cython.Compiler.Nodes#Cython.Compiler.ParseTreeTransformsCython.Compiler.Bufferr   rR   unittestmainrQ   r   r   <module>r`      s?    ' ' ' # 1 $;) ;)z zMMO r   