
    xKg                         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e      Zedk(  r ej                          yy)	    N)jitnjit)types)usecases)TestCasec                      e Zd Zej                  d        Zej                  d        Zej                  d        Zej                  d        Zej                  d        Z	ej                  d        Z
ej                  d        Zej                  d        Zej                  d	        Zej                  d
        Zej                  d        Zej                  d        Zej                  d        Zy)TestUsecasesc                     t         j                  } t        t        j                  t        j                  f      |      }d}d}t        j                  ||      D ]  }| j                   ||  || d|         y )N)r      	   
      zargs )r   andorr   r   int32	itertoolsproductassertEqual)selfpyfunccfuncxsysargss         ]/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/numba/tests/test_usecases.py
test_andorzTestUsecases.test_andor   si    0ekk5;;/08 ! %%b"-DVT]E4Lt:MN .    c                     t         j                  } t        t        j                  t        j                  f      |      }d}d}t        j                  ||      D ]  }| j                   ||  || |        y Nr   r   r   d      )r   sum1dr   r   r   r   r   r   r   r   r   ssesr   s         r   
test_sum1dzTestUsecases.test_sum1d   d    0ekk5;;/08%%b"-DVT]E4L$? .r   c                     t         j                  } t        t        j                  t        j                  fd      |      }d}d}t        j                  ||      D ]  }| j                   ||  || |        y )NTforceobjr    )r   r#   r   r   r   r   r   r   r$   s         r   test_sum1d_pyobjzTestUsecases.test_sum1d_pyobj&   sf    >U[[%++.>vF%%b"-DVT]E4L$? .r   c                     t         j                  } t        t        j                  t        j                  f      |      }d}d}t        j                  ||      D ]  }| j                   ||  || |        y r   )r   sum2dr   r   r   r   r   r   r$   s         r   
test_sum2dzTestUsecases.test_sum2d1   r(   r   c                     t         j                  } t        t        j                  t        j                  f      |      }d}d}t        j                  ||      D ]  }| j                   ||  || |        y r   )r   while_countr   r   r   r   r   r   r$   s         r   test_while_countzTestUsecases.test_while_count<   sf    %%0ekk5;;/08%%b"-DVT]E4L$? .r   c                 J   t         j                  }t        j                  t        j                  dd      } t        ||f      |      }d}|D ]T  }t        j                  |d      }t        j                  |      }||f} ||  | j                  ||t        |             V y )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   s	            r   test_copy_arrayszTestUsecases.test_copy_arraysG   s    %%KKQ4	,i+,V4B		"G,Aa Aa4D4L##Aqc$i#8 r   c                 z   t         j                  }t        j                  t        j                  dd      } t        ||f      |      }d}|D ]l  }|\  }}t        j                  ||z  d      j                  ||      }t        j                  |      }	||	f}
 ||
  | j                  ||	t        |
             n y )N   r4   ))r   r   )r   r   )rG      )      r   r5   r7   )r   copy_arrays2dr   r:   r   r   r;   r<   reshaper=   r>   r?   )r   r   r@   r   rA   rB   d1d2rC   rD   r   s              r   test_copy_arrays2dzTestUsecases.test_copy_arrays2dW   s    ''KKQ4	,i+,V4-BFB		"r'199"bAAa Aa4D4L##Aqc$i#8 r   c                    t         j                  } t        t        j                  t        j                  fd      |      }d}d}t        j                  ||      D ]"  \  }}||f}| j                   ||  || |       $ y )NTr*   )r   r   r   )r   string_concatr   r   r   r   r   r   )r   r   r   r   r   xyr   s           r   test_string_concatzTestUsecases.test_string_concath   su    ''>U[[%++.>vF%%b"-DAqa4DVT]E4L$? .r   c                 (   t         j                  } t        t        j                  fd      |      }d}| j                   ||       ||             d}| j                   ||       ||             d}| j                   ||       ||             y )NTr*   1234561 )r   
string_lenr   r   pyobjectr   r   r   r   test_strs       r   test_string_lenzTestUsecases.test_string_lent   s    $$5U^^%5f=)5?;)5?;)5?;r   c                 >   t         j                  } t        t        j                  fdz  d      |      }d}| j                   ||dd       ||dd             | j                   ||dd       ||dd             | j                   ||dd       ||dd             y )	N   Tr*   rV   r   r   rH   rG   )r   string_slicingr   r   rZ   r   r[   s       r   test_string_slicingz TestUsecases.test_string_slicing   s    ((9U^^%)D9&A!Q/xA1FG!Q/xA1FG!Q/xA1FGr   c                 $   t         j                  } t        t        j                  fd      |      }| j                   |d       |d              t        t        j                  fd      |      }| j                   |d       |d             y )NTr*   r   g?)r   string_conversionr   r   r   r   float32)r   r   r   s      r   test_string_conversionz#TestUsecases.test_string_conversion   sp    ++2U[[NT26:E!H-4U]]$t4V<eCj1r   c                 <   dd l }t        j                  } t        t        j
                  t        j
                  t        j
                  fd      |      }d}d}|j                  }| j                   ||||       ||||             d}d}|j                  }| j                   ||||       ||||             d}d}|j                  }| j                   ||||       ||||             d}d}|j                  }| j                   ||||       ||||             y )Nr   Tr*   123456)	operatorr   string_comparisonr   r   rZ   eqr   ne)r   ri   r   r   	test_str1	test_str2ops          r   test_string_comparisonsz$TestUsecases.test_string_comparisons   s&   ++#U^^U^^U^^D!##)+ 		[[	9b9)Y+	- 		[[	9b9)Y+	- 		[[	9b9)Y+	- 		[[	9b9)Y+	-r   c                     t         j                  } t        t        j                  f      |      }d}|D ]  }|f}| j                   ||  || |         y )N)g      r   g      ?)r   blackscholes_cndr   r   rd   r   )r   r   r   dsdr   s         r   test_blackscholes_cndz"TestUsecases.test_blackscholes_cnd   sU    **&emm%&v.A4DVT]E4L$? r   N)__name__
__module____qualname__r   run_test_in_subprocessr   r'   r,   r/   r2   rE   rO   rT   r]   ra   re   rp   ru    r   r   r	   r	      sd    $$	O %	O $$@ %@ $$@ %@ $$@ %@ $$@ %@ $$9 %9 $$9 %9  $$	@ %	@ $$	< %	< $$H %H $$2 %2 $$- %-< $$@ %@r   r	   __main__)r   unittestnumpyr;   numbar   r   
numba.corer   numba.testsr   numba.tests.supportr   r	   rv   mainrz   r   r   <module>r      sE           (q@8 q@h zHMMO r   