o
    i                     @   st   d dl Z d dlZd dlZd dlmZmZ d dlmZ d dl	m
Z
 d dlmZ G dd deZedkr8e  dS dS )	    N)jitnjit)types)usecases)TestCasec                   @   s   e Zd Zejdd Zejdd Zejdd Zejdd Zejd	d
 Z	ejdd Z
ejdd Zejdd Zejdd Zejdd Zejdd Zejdd Zejdd ZdS )TestUsecasesc                 C   sT   t j}ttjtjf|}d}d}t||D ]}| || || d|f  qd S )N)r      	   
      zargs %s)r   andorr   r   int32	itertoolsproductassertEqual)selfpyfunccfuncxsysargs r   V/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/numba/tests/test_usecases.py
test_andor   s   zTestUsecases.test_andorc                 C   N   t j}ttjtjf|}d}d}t||D ]}| || || | qd S Nr   r   r	   d      )r   sum1dr   r   r   r   r   r   r   r   r   ssesr   r   r   r   
test_sum1d      zTestUsecases.test_sum1dc                 C   sR   t j}ttjtjfdd|}d}d}t||D ]}| || || | qd S )NTforceobjr   )r   r    r   r   r   r   r   r   r!   r   r   r   test_sum1d_pyobj&   s   zTestUsecases.test_sum1d_pyobjc                 C   r   r   )r   sum2dr   r   r   r   r   r   r!   r   r   r   
test_sum2d1   r%   zTestUsecases.test_sum2dc                 C   r   r   )r   while_countr   r   r   r   r   r   r!   r   r   r   test_while_count<   r%   zTestUsecases.test_while_countc           	      C   st   t j}ttjdd}t||f|}d}|D ] }tj|dd}t|}||f}||  | j	||t
|d qd S )Nr	   A)r   r	   r   r   r   dtypemsg)r   copy_arraysr   Arrayr   r   nparange
empty_likeassertPreciseEqualstr)	r   r   	arraytyper   ndandabr   r   r   r   test_copy_arraysG   s   
zTestUsecases.test_copy_arraysc                 C   s   t j}ttjdd}t||f|}d}|D ]*}|\}}tj|| dd||}t	|}	||	f}
||
  | j
||	t|
d qd S )N   r-   ))r   r   )r	   r	   )r?      )      r   r.   r0   )r   copy_arrays2dr   r3   r   r   r4   r5   reshaper6   r7   r8   )r   r   r9   r   r:   r;   d1d2r<   r=   r   r   r   r   test_copy_arrays2dW   s   
zTestUsecases.test_copy_arrays2dc                 C   s^   t j}ttjtjfdd|}d}d}t||D ]\}}||f}| || || | qd S )NTr&   )r   r   r	   )r   string_concatr   r   r   r   r   r   )r   r   r   r   r   xyr   r   r   r   test_string_concath   s   zTestUsecases.test_string_concatc                 C   sf   t j}ttjfdd|}d}| |||| d}| |||| d}| |||| d S )NTr&   1234561 )r   
string_lenr   r   pyobjectr   r   r   r   test_strr   r   r   test_string_lent   s   zTestUsecases.test_string_lenc                 C   sz   t j}ttjfd dd|}d}| ||dd||dd | ||dd||dd | ||dd||dd d S )	N   Tr&   rL   r   r	   r@   r?   )r   string_slicingr   r   rP   r   rQ   r   r   r   test_string_slicing   s    z TestUsecases.test_string_slicingc                 C   sZ   t j}ttjfdd|}| |d|d ttjfdd|}| |d|d d S )NTr&   r	   g?)r   string_conversionr   r   r   r   float32)r   r   r   r   r   r   test_string_conversion   s
   z#TestUsecases.test_string_conversionc                 C   s   dd l }tj}ttjtjtjfdd|}d}d}|j}| |||||||| d}d}|j}| |||||||| d}d}|j}| |||||||| d}d}|j}| |||||||| d S )Nr   Tr&   123456)	operatorr   string_comparisonr   r   rP   eqr   ne)r   r\   r   r   	test_str1	test_str2opr   r   r   test_string_comparisons   s>   



z$TestUsecases.test_string_comparisonsc                 C   sD   t j}ttjf|}d}|D ]}|f}| || || | qd S )N)g      r   g      ?)r   blackscholes_cndr   r   rX   r   )r   r   r   dsdr   r   r   r   test_blackscholes_cnd   s   z"TestUsecases.test_blackscholes_cndN)__name__
__module____qualname__r   run_test_in_subprocessr   r$   r(   r*   r,   r>   rG   rK   rS   rV   rY   rc   rg   r   r   r   r   r      s6    













	
	
r   __main__)r   unittestnumpyr4   numbar   r   
numba.corer   numba.testsr   numba.tests.supportr   r   rh   mainr   r   r   r   <module>   s     5