o
    gi4                     @   sZ   d dl Zd dlZd dlZd dlmZ d dlZd dlmZ ej	j
Z
dddZedd ZdS )	    N)suppress)use_backendc                 C   s    t | } |d ur| |} | S N)npasarrayastype)xdtype r
   Y/home/ubuntu/SoloSpeech/.venv/lib/python3.10/site-packages/test/test_tensor_conversion.pyto_numpy_array   s   

r   c              	   C   s  | j | }}d|jv rd|jv rtd d|jv rtd ttg|jR  |jdddd	d
 W d    n1 s<w   Y  ttg|jR  |jdtddgdd	d
 W d    n1 sbw   Y  d|jvrttg|jR  |dtddgtddg W d    n1 sw   Y  d|jvrttg|jR  |ddtddg|j	j
d W d    n1 sw   Y  ttg|jR  |dtddg|j	j
dd W d    n1 sw   Y  ttg|jR  |ddd W d    n	1 sw   Y  ttg|jR  |dtddg W d    n	1 s)w   Y  ttg|jR  |dtddgddgg W d    n	1 sQw   Y  ttg|jR  |dd W d    n	1 sqw   Y  ttg|jR  |dtddg W d    n	1 sw   Y  ttg|jR  |dd W d    n	1 sw   Y  ttg|jR  |dtddg W d    n	1 sw   Y  ttg|jR  |dd W d    n	1 sw   Y  ttg|jR  |dtddg W d    n	1 sw   Y  ttg|jR  |dd W d    n	1 s=w   Y  ttg|jR  |dtddg W d    n	1 saw   Y  ttg|jR  |dd W d    n	1 sw   Y  ttg|jR  |dtddg W d    n	1 sw   Y  ttg|jR  |dd W d    n	1 sw   Y  ttg|jR  |dtddg W d    n	1 sw   Y  ttg|jR  |dd W d    n	1 s	w   Y  ttg|jR  |dtddg W d    n	1 s-w   Y  ttg|jR  |dd W d    n	1 sMw   Y  ttg|jR  |dtddg W d    n	1 sqw   Y  ttg|jR  |dd W d    n	1 sw   Y  ttg|jR  |dtddg W d    n	1 sw   Y  ttg|jR  |dd W d    n	1 sw   Y  ttg|jR  |dtddg W d    n	1 sw   Y  ttg|jR  |dd W d    n	1 sw   Y  ttg|jR  |dtddg W d    n	1 s=w   Y  ttg|jR  |dtddgtddg W d    n	1 sfw   Y  ttg|jR  |ddtddg|j	j
d W d    n	1 sw   Y  ttg|jR  |dtddg|j	j
dd W d    n	1 sw   Y  ttg|jR  |ddtddg|j	j
d W d    n	1 sw   Y  ttg|jR  |dtddg|j	j
dd W d    n	1 s
w   Y  ttg|jR  |ddtddg|j	j
d W d    n	1 s3w   Y  ttg|jR  |dtddg|j	j
dd W d    n	1 s\w   Y  ttg|jR  |ddtddg|j	jd W d    n	1 sw   Y  ttg|jR  |dtddg|j	jdd W d    n	1 sw   Y  ttg|jR  |ddtddg|j	jd W d    n	1 sw   Y  ttg|jR  |dtddg|j	jdd W d    n	1 s w   Y  ttg|jR  |ddtddg|j	jd W d    n	1 s)w   Y  ttg|jR  |dtddg|j	jdd W d    n	1 sRw   Y  ttg|jR  |ddtddg W d    n	1 sww   Y  ttg|jR  |dtddgd W d    n	1 sw   Y  ttg|jR  |ddtddg W d    n	1 sw   Y  ttg|jR  |dtddgd W d    n	1 sw   Y  ttg|jR  | dddd W d    n	1 sw   Y  ttg|jR  | ddtddgtddg W d    n	1 s2w   Y  ttg|jR  | d tddgdd W d    n	1 sXw   Y  ttg|jR  | d!tddgtddgtddg W d    n	1 sw   Y  ttg|jR  |!ddtddg|j	j
d W d    n	1 sw   Y  ttg|jR  |!dtddg|j	j
dd W d    n	1 sw   Y  ttg|jR  |"ddtddg|j	j
d W d    n	1 sw   Y  ttg|jR  |"dtddg|j	j
dd W d    n	1 s*w   Y  ttg|jR  |#ddtddg|j	j
d W d    n	1 sSw   Y  ttg|jR  |#dtddg|j	j
dd W d    n	1 s|w   Y  ttg|jR  |$ddtddg|j	j
d W d    n	1 sw   Y  ttg|jR  |$dtddg|j	j
dd W d    n	1 sw   Y  ttg|jR  |%ddtddg|j	j
d W d    n	1 sw   Y  ttg|jR  |%dtddg|j	j
dd W d    n	1 	s w   Y  ttg|jR  |&ddtddg|j	j
d W d    n	1 	sIw   Y  ttg|jR  |&dtddg|j	j
dd W d    n	1 	srw   Y  ttg|jR  |'ddtddg|j	j
d W d    n	1 	sw   Y  ttg|jR  |'dtddg|j	j
dd W d    n	1 	sw   Y  ttg|jR  |(ddtddg|j	j
d W d    n	1 	sw   Y  ttg|jR  |(dtddg|j	j
dd W d    n	1 
sw   Y  ttg|jR  |)ddtddg|j	jd W d    n	1 
s?w   Y  ttg|jR  |)dtddg|j	jdd W d    n	1 
shw   Y  ttg|jR  |*d"tddgd# W d    n	1 
sw   Y  ttg|jR  |*d$tddgtdd#g W d    n	1 
sw   Y  ttg|jR  |+d%tddg|j	j
dd#d# W d    n	1 
sw   Y  ttg|jR  |+d&tddg|j	j
dtdd#gd# W d    n	1 sw   Y  ttg|jR  |+d'tddgtdd#gtddg W d    n	1 s<w   Y  ttg|jR  |,d%tddg|j	j
dd#d# W d    n	1 sfw   Y  ttg|jR  |,d(tddgd#tddg W d    n	1 sw   Y  ttg|jR  |,d&tddg|j	j
dtdd#gd# W d    n	1 sw   Y  ttg|jR  |,d'tddgtdd#gtddg W d    n	1 sw   Y  ttg|jR  |-d%tddg|j	j
dd#d# W d    n	1 sw   Y  ttg|jR  |-d(tddgd#tddg W d    n	1 s@w   Y  ttg|jR  |-d&tddg|j	j
dtdd#gd# W d    n	1 snw   Y  ttg|jR  |-d'tddgtdd#gtddg W d    n	1 sw   Y  ttg|jR  |.dtddg W d    n	1 sw   Y  ttg|jR  |/dtddg W d    n	1 sw   Y  ttg|jR  |0dtddg W d    n	1 sw   Y  ttg|jR  |1dtddg W d    n	1 s,w   Y  ttg|jR  |2dtddg W d    n	1 sPw   Y  ttg|jR  |j3dtddgdd) W d    n	1 svw   Y  ttg|jR  |4dtddg W d    n	1 sw   Y  ttg|jR  |5dtddg W d    d S 1 sw   Y  d S )*Ntorchcompilez2Skipping tensor conversion tests for torch.compilearrayapiz5Skipping tensor conversion tests for arrayapi backendz -> a b         )abza -> a bz
torch.vmapza, b -> (a + b)zmlx.vmapz, b -> (1 + b))r	   za, -> (a + 1)z, -> (1 + 1)z(1 + 1) -> ,za a -> az->z[a]g      ?g       @TFz[a], [a] ->z, aza,z, ,z, a, aza,,za, a, az[h], ->r   z[h], a -> az[h], , -> [h]z[h], a, -> [h]z[h], a, a -> [h]z[h], , a -> [h])shift)6einxnamepytestskipr   OperationNotSupportedError
exceptionsidr   dtypesintsummeanvarstdprodcount_nonzeroanyallminmax	logsumexpdotaddsubtractmultiplytrue_dividefloatfloor_dividedividelogical_and
logical_orwheremaximumminimumless
less_equalgreatergreater_equalequal	not_equal	logaddexpget_atset_atadd_atsubtract_atsoftmaxlog_softmaxsortargsortfliprollargmaxargmin)setup_backendr   setupr
   r
   r   test_tensor_conversion   s*  



 
               "*                   "**""**""**$rL   r   )numpyr   r   	functools
contextlibr   r   conftestr   errorsr   r   rL   r
   r
   r
   r   <module>   s    
