U
    e»{jø  ã                   @   sˆ   d dl mZ d dl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 )é    )ÚdeepcopyNc                 C   s8   t | jjƒdkst‚| jjd }| jjd |k	s4t‚d S )Né   r   )ÚlenÚwcsÚtabÚAssertionError©Útab_wcs_2diÚt© r   ú\/var/www/html/bwave/python/venv/lib/python3.8/site-packages/astropy/wcs/tests/test_tabprm.pyÚtest_wcsprm_tab_basic   s    r   c                 C   s@   | j jd }|j}t |¡}||_t | j jd j|¡s<t‚d S ©Nr   ©r   r   ZcoordÚnpÚ	ones_likeÚallcloser   ©Útab_wcs_2di_fr
   Zc0Úc1r   r   r   Útest_tabprm_coord   s
    
r   c           	      C   sº   t | ƒ}| jjd }tjddggtjd�}|  |d¡}|j ¡ }dt 	|¡ }| j|7  _t 
| jjd j|| ¡szt‚|  || d¡}t 
||¡sšt‚| |d¡}t 
||¡s¶t‚d S ©Nr   é   é   )Zdtyper   ç      à?©r   r   r   r   ÚarrayZfloat32Zwcs_pix2worldZcrvalÚcopyr   r   r   ©	r   Úwr
   ZpixZrd1ÚcÚdZrd2Zrd3r   r   r   Útest_tabprm_crval_and_deepcopy   s    
r"   c                 C   s&   | j jd }t ddg|j¡s"t‚d S )Nr   g        )r   r   r   r   Údeltar   r   r   r   r   Útest_tabprm_delta,   s    r$   c                 C   s(   | j jd }t |jddgk¡s$t‚d S )Nr   é   r   )r   r   r   ÚallÚKr   r   r   r   r   Útest_tabprm_K1   s    r(   c                 C   s   | j jd }|jdkst‚d S )Nr   r   )r   r   ÚMr   r   r   r   r   Útest_tabprm_M6   s    r*   c                 C   s   | j jd }|jdkst‚d S )Nr   é   )r   r   Úncr   r   r   r   r   Útest_tabprm_nc;   s    r-   c                 C   sH   | j jd }t ddgddggddgddggg¡}t |j|¡sDt‚d S )Nr   g”ö_˜Le¿g      à¿gj¼t“ð?r   )r   r   r   r   r   Úextremar   )r	   r
   r.   r   r   r   Útest_tabprm_extrema@   s    þÿr/   c                 C   sz   | j jd }t |jddg¡s"t‚d|jd< t | j jd jddgk¡sLt‚ddg|_t | j jd jddgk¡svt‚d S )Nr   r   é   r%   )r   r   r   r   Úmapr   r&   )r   r
   r   r   r   Útest_tabprm_mapK   s    
 
r2   c                 C   s(   | j jd }t |jddgk¡s$t‚d S )Nr   r   )r   r   r   r&   Zsenser   r   r   r   r   Útest_tabprm_senseV   s    r3   c                 C   s(   | j jd }t |jddgk¡s$t‚d S r   )r   r   r   r&   Úp0r   r   r   r   r   Útest_tabprm_p0[   s    r5   c                 C   sl   | j jd  ¡  | ¡ }t| j jd ƒ}t|jƒ}| d¡}||ksHt‚|d dksXt‚|d dksht‚d S )Nr   Ú
z       flag: 137r   z          M: 2)r   r   Zprint_contentsZ
readouterrÚstrÚoutÚsplitr   )r   ZcapfdZcapturedÚsr8   Zloutr   r   r   Útest_tabprm_print`   s    

r;   c                 C   s@   | j jd }|j}t |¡}||_t | j jd j|¡s<t‚d S r   r   r   r   r   r   Útest_wcstab_copyk   s
    
r<   c           	      C   sº   t | ƒ}| jjd }tjddggtjd�}|  |d¡}|j ¡ }dt 	|¡ }| j|7  _t 
| jjd j|| ¡szt‚|  || d¡}t 
||¡sšt‚| |d¡}t 
||¡s¶t‚d S r   r   r   r   r   r   Útest_tabprm_crvalt   s    
r=   )r   r   Únumpyr   r   r   r"   r$   r(   r*   r-   r/   r2   r3   r5   r;   r<   r=   r   r   r   r   Ú<module>   s   		