
    ڏDj
                         d dl mZ d dlmc mZ d dl d dl d dl  G d de      Ze	dk(  rd dl
Z
 e
j                          yy)    )
CythonTestN)*c                   Z    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zy)TestMemviewParsingc                 D      j                   fd      j                  S )Nc                  &    j                         S Nfragmentsselfs   eC:\Crop_Prediction\Backend\crop-ai-system\venv\Lib\site-packages\Cython/Compiler/Tests/TestMemView.py<lambda>z*TestMemviewParsing.parse.<locals>.<lambda>   s    DMM!,<     )should_not_failroot)r   r   s   ``r   parsezTestMemviewParsing.parse
   s    ##$<=BBBr   c                       j                   fdt        j                        } j                  ||j                         y )Nc                  &    j                         S r	   r
   r   s   r   r   z2TestMemviewParsing.not_parseable.<locals>.<lambda>   s    T]]1%5 r   )should_failErrorsCompileErrorassertEqualmessage_only)r   expected_errorr   es   ` ` r   not_parseablez TestMemviewParsing.not_parseable   s0    58K8KL8r   c                 H    | j                  d       | j                  d       y )Ncdef int[:] xzcdef short int[:] xr   r   s    r   test_default_1dimz$TestMemviewParsing.test_default_1dim   s    

?#

()r   c                 j    | j                  d       | j                  d       | j                  d       y )Nzcdef int[:,:,:,:,:] xz#cdef unsigned long int[:,:,:,:,:] xzcdef unsigned int[:,:,:,:,:] xr!   r"   s    r   test_default_ndimz$TestMemviewParsing.test_default_ndim   s)    

*+

89

34r   c                 H    | j                  d       | j                  d       y )Nzcdef long double[0:] xzcdef int[0:] xr!   r"   s    r   test_zero_offsetz#TestMemviewParsing.test_zero_offset   s    

+,

#$r   c                 &    | j                  d       y )Nzcdef int[0:,0:,0:,0:] xr!   r"   s    r   test_zero_offset_ndimz(TestMemviewParsing.test_zero_offset_ndim   s    

,-r   c                 &    | j                  d       y )Nzdef foo(int[:,:] x): passr!   r"   s    r   test_def_argzTestMemviewParsing.test_def_arg!   s    

./r   c                 &    | j                  d       y )Nzcdef foo(int[:,:] x): passr!   r"   s    r   test_cdef_argz TestMemviewParsing.test_cdef_arg$   s    

/0r   c                 &    | j                  d       y )Nz9cdef float[::ptr, ::direct & contig, 0::full & strided] xr!   r"   s    r   test_general_slicez%TestMemviewParsing.test_general_slice'   s    

NOr   c                 L    | j                  dd       | j                  dd       y )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_memviewz)TestMemviewParsing.test_non_slice_memview*   s*    a*	,a+	-r   c                     | j                  d      }|j                  d   j                  }| j                  t	        |t
                     y )Nr    r   )r   stats	base_type
assertTrue
isinstanceMemoryViewSliceTypeNode)r   t	memv_nodes      r   
test_basiczTestMemviewParsing.test_basic0   s7    JJ'GGAJ((	
9.EFGr   c                 (    | j                  dd       y )NExpected ']'z$cdef extern foo(object[int, ndim=2])r1   r"   s    r   disable_test_no_buf_argz*TestMemviewParsing.disable_test_no_buf_arg8   s    >6	8r   c                     | j                  d       | j                  d       | j                  d       | j                  dd       | j                  dd       y )Nzsizeof(int[NN])zsizeof(int[])zsizeof(int[][NN])z!Expected an identifier or literalzsizeof(int[:NN])r=   zsizeof(foo[dtype=bar])r   r   r"   s    r   disable_test_parse_sizeofz,TestMemviewParsing.disable_test_parse_sizeof<   sO    

$%

?#

&'>"	$>'	)r   N)__name__
__module____qualname__r   r   r#   r%   r'   r)   r+   r-   r/   r2   r;   r>   r@    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   rA   unittestmainrD   r   r   <module>rN      sA    ' ' ' # 1 $;) ;)z zHMMO r   