
    IR-eE                         d dl m Z mZ d dlZd dlZd dlmZ d Zd Zd Z	d Z
d Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdS )    )copydeepcopyN)wcsc                  Z   t          j                    j         j        j        sJ t          j                    sJ t          j        t           j                  5  t          j                    } |                                  d d d            n# 1 swxY w Y   t          j                    } ~ d S N)	r   WCScelprjPrjprmpytestraisesInvalidPrjParametersErrorsetr
   s    =lib/python3.11/site-packages/astropy/wcs/tests/test_prjprm.pytest_prjprm_initr   
   s    799=     :<<	s4	5	5  jll			              
 *,,Cs   (BBBc                     t          j                    } t          |           }t          |          }g d| _        t	          j        | j        |j        dd          r"t	          j        | j        |j        dd          sJ ~ ~~t          j                    } t          |           }g d| _        t	          j        | j        |j        dd          rJ ~ ~d S )N)r               -q=r   atolrtol)r   r   r   pvnpallcloser   )r
   prj2prj3s      r   test_prjprm_copyr!      s    
*,,C99D::DCF;svtwU;;; e!A A A    	T4 *,,CC==DCF{3647Q??????TTT    c                  F    t          j                    } | j        dk    sJ d S Nr   )r   r   _flagr   s    r   test_prjprm_flagr&   -   s     
*,,C9>>>>>>r"   c                  $   t          j                    } | j        dk    sJ | j        dk    sJ d| _        |                                  | j        dk    sJ | j        sJ d| _        | j        sJ d | _        | j        dk    sJ | j        dk    sJ d S )Nz   r   TAN)r   r   coder%   r   r   s    r   test_prjprm_coder*   2   s    
*,,C8u9>>>>CHGGIII8u9CH9CH8u9>>>>>>r"   c                  H   t          j                    } | j        d k    sJ | j        dk    sJ d| _        d| _        |                                  | j        dk    sJ d| _        | j        sJ d| _        | j        dk    sJ d | _        | j        d k    sJ | j        dk    sJ d S )Nr   r(          @        )r   r   phi0r%   r)   r   r   s    r   test_prjprm_phi0r/   E   s    
*,,C8t9>>>>CHCHGGIII8q====CH9CH9>>>>CH8t9>>>>>>r"   c                  V   t          j                    } | j        d k    sJ | j        dk    sJ d| _        d| _        d| _        |                                  | j        dk    sJ d| _        | j        sJ d| _        | j        dk    sJ d | _        | j        d k    sJ | j        dk    sJ d S )Nr   r(   r,         @g       @)r   r   theta0r%   r)   r.   r   r   s    r   test_prjprm_theta0r3   [   s    
*,,C:9>>>>CHCHCJGGIII:CJ9CJ9>>>>CJ:9>>>>>>r"   c                     t          j                    } | j        j        t           j        k    sJ | j        d k    sJ | j        dk    sJ d| _        d| _        d| _        d t          t           j                  D             }|| _        | 
                                 | j        dk    sJ | j        dk    sJ t          j        | j        |dd          sJ | j        | _        | j        dk    sJ | 
                                 t          j        | j        |dd          sJ t          j        |          dz   | _        | j        dk    sJ | 
                                 t          j        | j        |dd          sJ d	| _        g d
| _        t          j        | j        d d         g ddd          sJ d | _        | j        d         dk    sJ t          j        t          j        | j        dd                             sJ t          j        | j        dd          ddd          sJ t           j        t          j        gz  }d| _        || _        | 
                                 t          j        t          j        | j                            sJ t          j        |          | _        | 
                                 t          j        t          j        | j                            sJ d S )Nr   ZPNr,   r1   c                 :    g | ]}|d z  rt          |          n|S )   )float).0is     r   
<listcomp>z"test_prjprm_pv.<locals>.<listcomp>}   s+    	A	A	Aq1u
$%(((1	A	A	Ar"   gư>r   gH׊>SZP)r-        X@N   )r-   r=   r,         @r-         r(   )r   r   r   sizePRJ_PVNr2   r%   r)   r.   ranger   r   r   arrayallisnannan)r
   r   nan_pvss      r   test_prjprm_pvrJ   r   s   
*,,C6;#+%%%%:9>>>>CHCHCJ	A	AeCK.@.@	A	A	ABCFGGIII8s????:;svr1555555 VCF9>>>>GGIII;svr1555555 Xb\\D CF9>>>>GGIII;svr1555555 CHCF;svbqbz#8#8#8t!LLLLLL CF6!96"(36!A#;''(((((;svabbz111555555 kRVH$GCHCFGGIII6"(36""#####XgCFGGIII6"(36""#######r"   c                     t          j                    } d| _        d| _        d| _        g d| _        |                                  | j        t           j        k    sJ d| _        |                                  | j        dk    sJ d S )Nr5   r,   r1   )r-   g      ?r,   r?   r<   g   )	r   r   r)   r.   r2   r   r   pvrangerC   r   s    r   test_prjprm_pvrangerN      s~    
*,,CCHCHCJ!!!CFGGIII;#+%%%%CHGGIII;#r"   c                 H    | j         dk    sJ d| _         | j         dk    sJ d S )N   r   )boundsprj_TABs    r   test_prjprm_boundsrT      s5    >QGN>Qr"   c                 4    | j         t          j        k    sJ d S r   )categoryr   PRJ_ZENITHALrR   s    r   test_prjprm_categoryrX      s    s///////r"   c                     | j         sJ d S r   )namerR   s    r   test_prjprm_namer[      s    <r"   c                 `    t          j        t          j        | j                            sJ d S r   )r   rF   isfinitewrR   s    r   test_prjprm_wr_      s*    6"+gi(()))))))r"   c                      | j         dk    sJ d S Nr@   )	simplezenrR   s    r   test_prjprm_simplezenrc          !!!!!!r"   c                      | j         dk    sJ d S r$   )	equiarealrR   s    r   test_prjprm_equiarealrg      rd   r"   c                      | j         dk    sJ d S r$   )	conformalrR   s    r   test_prjprm_conformalrj      rd   r"   c                      | j         dk    sJ d S r$   )global_projectionrR   s    r   test_prjprm_global_projectionrm      s    $))))))r"   c                      | j         dk    sJ d S ra   )	divergentrR   s    r   test_prjprm_divergentrp      rd   r"   c                      | j         dk    sJ d S Nr-   )r0rR   s    r   test_prjprm_r0rt      s    :r"   c                 :    | j         dk    sJ | j        dk    sJ d S rr   )x0y0rR   s    r   test_prjprm_x0_y0rx      s.    ::r"   c                 :    | j         dk    sJ | j        dk    sJ d S r$   )nmrR   s    r   test_prjprm_n_mr|      s$    9>>>>9>>>>>>r"   c                    g d}g d} | j         |                     ||           \  }}t          j        ||dd          sJ t          j        ||dd          sJ t	          j                    }d|_         |j         |                    ||           \  }}t          j        ||dd          sJ t          j        ||dd          sJ d S )N)	gMb`gy&1?g~jthQ?gMbgV-g/$gS㥛?g/$?)	gI+?g rhg~jtgJ+gjtr~   gZd;O?gX9v?gI+?r   r   r   r(   )prjs2xprjx2sr   r   r   r   r)   )rS   xyxryrr
   s         r   test_prjprm_prj_roundtripsr      s    LLLAKKKAW^W^^Aq112FB;q"5q111111;q"5q111111 *,,CCHSZAq))*FB;q"5q111111;q"5q11111111r"   )r   r   numpyr   r   astropyr   r   r!   r&   r*   r/   r3   rJ   rN   rT   rX   r[   r_   rc   rg   rj   rm   rp   rt   rx   r|   r    r"   r   <module>r      s                          &  
  &  ,  .2$ 2$ 2$j    0 0 0  * * *" " "" " "" " "* * *" " "    
  
2 2 2 2 2r"   