U
    ¯ËbŸ  ã                   @   sì   d dl mZ d dlZddlmZ ddlmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZ ddlmZmZ ddlmZ dd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Z dd„ Z!dd„ Z"dd„ Z#dd„ Z$d d!„ Z%d"d#„ Z&dS )$é    )Úassert_raisesNé   )Úall)ÚasarrayÚarangeÚemptyÚ
empty_likeÚeyeÚfullÚ	full_likeÚlinspaceÚmeshgridÚonesÚ	ones_likeÚzerosÚ
zeros_like)Úfloat32Úfloat64©ÚArrayc                   C   s‚   t tdd„ ƒ t tdd„ ƒ t tdd„ ƒ t tdd„ ƒ t tdd„ ƒ tdgdd	 t td
d„ ƒ t tdd„ ƒ t tdd„ ƒ d S )Nc                   S   s
   t dgƒS )Né   r   © r   r   úm/home/fireinfo/NEWAFireInfo/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_creation_functions.pyÚ<lambda>   ó    z%test_asarray_errors.<locals>.<lambda>c                   S   s
   t dgƒS )NÚa©r   r   r   r   r   r      r   c                   S   s   t dgtjdS ©Nç      ð?©Zdtype)r   ÚnpZfloat16r   r   r   r   r      r   c                   S   s   t dd ƒS ©Nr   éd   r   r   r   r   r   r      r   c                   S   s   t dd gƒS r!   r   r   r   r   r   r       r   r   Úcpu©Zdevicec                   S   s   t dgddS ©Nr   Úgpur$   r   r   r   r   r   r   "   r   c                   S   s   t dgtdS ©Nr   r   )r   Úintr   r   r   r   r   $   r   c                   S   s   t dgddS ©Nr   Úir   r   r   r   r   r   r   %   r   )r   Ú	TypeErrorÚ
ValueErrorÚOverflowErrorr   r   r   r   r   Útest_asarray_errors   s    r.   c                     sî   t dgƒ‰ t ˆ dd} dˆ d< t| d dkƒs2t‚tˆ d dkƒsFt‚t dgƒ‰ t ˆ tjjd} dˆ d< t| d dkƒs|t‚tˆ d dkƒst‚t dgƒ‰ t ˆ tjjd} dˆ d< t| d dkƒsÆt‚tt‡ fdd„ƒ tt‡ fdd„ƒ d S )Nr   T©Úcopyr   c                      s   t ˆ ddS )NFr/   r   r   ©r   r   r   r   7   r   z#test_asarray_copy.<locals>.<lambda>c                      s   t ˆ tjjdS )Nr/   )r   r    Ú	_CopyModeZ	IF_NEEDEDr   r1   r   r   r   9   r   )	r   r   ÚAssertionErrorr    r2   ZALWAYSZNEVERr   ÚNotImplementedError)Úbr   r1   r   Útest_asarray_copy(   s$    



ÿr6   c                   C   s:   t ddd ttdd„ ƒ ttdd„ ƒ ttdd„ ƒ d S )Nr   r#   r$   c                   S   s   t dddS r%   ©r   r   r   r   r   r   >   r   z$test_arange_errors.<locals>.<lambda>c                   S   s   t dtdS r'   )r   r(   r   r   r   r   r   ?   r   c                   S   s   t dddS r)   r7   r   r   r   r   r   @   r   )r   r   r,   r   r   r   r   Útest_arange_errors<   s    r8   c                   C   s:   t ddd ttdd„ ƒ ttdd„ ƒ ttdd„ ƒ d S )N©r   r#   r$   c                   S   s   t dddS ©Nr9   r&   r$   ©r   r   r   r   r   r   E   r   z#test_empty_errors.<locals>.<lambda>c                   S   s   t dtdS ©Nr9   r   )r   r(   r   r   r   r   r   F   r   c                   S   s   t dddS ©Nr9   r*   r   r;   r   r   r   r   r   G   r   )r   r   r,   r   r   r   r   Útest_empty_errorsC   s    r>   c                   C   s>   t tdƒdd ttdd„ ƒ ttdd„ ƒ ttdd„ ƒ d S )Nr   r#   r$   c                   S   s   t tdƒddS r%   ©r   r   r   r   r   r   r   L   r   z(test_empty_like_errors.<locals>.<lambda>c                   S   s   t tdƒtdS r'   )r   r   r(   r   r   r   r   r   M   r   c                   S   s   t tdƒddS r)   r?   r   r   r   r   r   N   r   )r   r   r   r,   r   r   r   r   Útest_empty_like_errorsJ   s    r@   c                   C   s:   t ddd ttdd„ ƒ ttdd„ ƒ ttdd„ ƒ d S )Nr   r#   r$   c                   S   s   t dddS r%   ©r	   r   r   r   r   r   S   r   z!test_eye_errors.<locals>.<lambda>c                   S   s   t dtdS r'   )r	   r(   r   r   r   r   r   T   r   c                   S   s   t dddS r)   rA   r   r   r   r   r   U   r   )r	   r   r,   r   r   r   r   Útest_eye_errorsQ   s    rB   c                   C   s<   t dddd ttdd„ ƒ ttdd„ ƒ ttdd„ ƒ d S )	Nr9   r   r#   r$   c                   S   s   t ddddS )Nr9   r   r&   r$   ©r
   r   r   r   r   r   Z   r   z"test_full_errors.<locals>.<lambda>c                   S   s   t ddtdS )Nr9   r   r   )r
   r(   r   r   r   r   r   [   r   c                   S   s   t ddddS )Nr9   r   r*   r   rC   r   r   r   r   r   \   r   )r
   r   r,   r   r   r   r   Útest_full_errorsX   s    rD   c                   C   s@   t tdƒddd ttdd„ ƒ ttdd„ ƒ ttdd„ ƒ d S )	Nr   r   r#   r$   c                   S   s   t tdƒdddS )Nr   r   r&   r$   ©r   r   r   r   r   r   r   a   r   z'test_full_like_errors.<locals>.<lambda>c                   S   s   t tdƒdtdS )Nr   r   r   )r   r   r(   r   r   r   r   r   b   r   c                   S   s   t tdƒdddS )Nr   r   r*   r   rE   r   r   r   r   r   c   r   )r   r   r   r,   r   r   r   r   Útest_full_like_errors_   s    rF   c                   C   s>   t ddddd ttdd„ ƒ ttdd„ ƒ ttd	d„ ƒ d S )
Nr   r   é
   r#   r$   c                   S   s   t dddddS )Nr   r   rG   r&   r$   ©r   r   r   r   r   r   h   r   z&test_linspace_errors.<locals>.<lambda>c                   S   s   t dddtdS )Nr   r   rG   r   )r   Úfloatr   r   r   r   r   i   r   c                   S   s   t dddddS )Nr   r   rG   Úfr   rH   r   r   r   r   r   j   r   )r   r   r,   r   r   r   r   Útest_linspace_errorsf   s    rK   c                   C   s:   t ddd ttdd„ ƒ ttdd„ ƒ ttdd„ ƒ d S )Nr9   r#   r$   c                   S   s   t dddS r:   ©r   r   r   r   r   r   o   r   z"test_ones_errors.<locals>.<lambda>c                   S   s   t dtdS r<   )r   r(   r   r   r   r   r   p   r   c                   S   s   t dddS r=   rL   r   r   r   r   r   q   r   )r   r   r,   r   r   r   r   Útest_ones_errorsm   s    rM   c                   C   s>   t tdƒdd ttdd„ ƒ ttdd„ ƒ ttdd„ ƒ d S )Nr   r#   r$   c                   S   s   t tdƒddS r%   ©r   r   r   r   r   r   r   v   r   z'test_ones_like_errors.<locals>.<lambda>c                   S   s   t tdƒtdS r'   )r   r   r(   r   r   r   r   r   w   r   c                   S   s   t tdƒddS r)   rN   r   r   r   r   r   x   r   )r   r   r   r,   r   r   r   r   Útest_ones_like_errorst   s    rO   c                   C   s:   t ddd ttdd„ ƒ ttdd„ ƒ ttdd„ ƒ d S )Nr9   r#   r$   c                   S   s   t dddS r:   ©r   r   r   r   r   r   }   r   z#test_zeros_errors.<locals>.<lambda>c                   S   s   t dtdS r<   )r   r(   r   r   r   r   r   ~   r   c                   S   s   t dddS r=   rP   r   r   r   r   r      r   )r   r   r,   r   r   r   r   Útest_zeros_errors{   s    rQ   c                   C   s>   t tdƒdd ttdd„ ƒ ttdd„ ƒ ttdd„ ƒ d S )Nr   r#   r$   c                   S   s   t tdƒddS r%   ©r   r   r   r   r   r   r   „   r   z(test_zeros_like_errors.<locals>.<lambda>c                   S   s   t tdƒtdS r'   )r   r   r(   r   r   r   r   r   …   r   c                   S   s   t tdƒddS r)   rR   r   r   r   r   r   †   r   )r   r   r   r,   r   r   r   r   Útest_zeros_like_errors‚   s    rS   c                   C   sH   t ƒ  t tdgtdƒ t tdgtdtdgtdƒ ttdd„ ƒ d S )Nr   r   c                   S   s   t tdgtdtdgtdƒS r   )r   r   r   r   r   r   r   r   r   Ž   r   z,test_meshgrid_dtype_errors.<locals>.<lambda>)r   r   r   r   r,   r   r   r   r   Útest_meshgrid_dtype_errorsˆ   s    rT   )'Znumpy.testingr   Znumpyr    Ú r   Z_creation_functionsr   r   r   r   r	   r
   r   r   r   r   r   r   r   Z_dtypesr   r   Z_array_objectr   r.   r6   r8   r>   r@   rB   rD   rF   rK   rM   rO   rQ   rS   rT   r   r   r   r   Ú<module>   s&   <