ó
šßÈ[c           @` s!  d  d l  m Z m Z m Z m 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 m Z m Z m Z m Z d d l m Z y d  d	 l m Z e Z Wn e k
 rË e Z n Xd
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  e j! j" d ƒ d „  ƒ Z# d S(   i    (   t   absolute_importt   unicode_literalst   divisiont   print_functionN(   t   assert_allcloset   assert_array_equali   (   t   LevMarLSQFitter(   t   Shiftt
   Rotation2Dt
   Gaussian1Dt   Identityt   Mappingi   (   t   NumpyRNGContext(   t   optimizec          C` s¢   t  j d ƒ }  t  j d ƒ } t d	 ƒ } | d d ƒ d
 k sE t ‚ | j d d ƒ d k sc t ‚ t | |  | ƒ | |  f ƒ t | j | |  ƒ |  | f ƒ d  S(   Ni   i   i   i    g       @g      ð?(   i   i   (   i   i   (   i   i    (   g       @g      ð?(   i   i   (   t   npt   zerost   onesR   t   AssertionErrort   inverseR   (   t   xt   yt   mapping(    (    sC   lib/python2.7/site-packages/astropy/modeling/tests/test_mappings.pyt   test_swap_axes   s    c          C` s   t  d ƒ }  |  d d ƒ d k s' t ‚ |  j d d d d ƒ d	 k sK t ‚ |  j j d k sc t ‚ |  j j d k s{ t ‚ d  S(
   Ni    i   i   g      ð?g       @i   (   i    i   i    i   (   g      ð?g       @g      ð?i   (   i   i   (   R   R   R   t   n_inputst	   n_outputs(   R   (    (    sC   lib/python2.7/site-packages/astropy/modeling/tests/test_mappings.pyt   test_duplicate_axes   s
    $c          C` s1   t  d d d ƒ}  |  d d ƒ d k s- t ‚ d  S(   Ni    R   i   i   g      ð?(   i    (   R   R   (   R   (    (    sC   lib/python2.7/site-packages/astropy/modeling/tests/test_mappings.pyt   test_drop_axes_1'   s    c          C` sH   t  d ƒ }  |  d d ƒ d k s' t ‚ t j t ƒ  |  j Wd  QXd  S(   Ni   i   g       @(   i   (   R   R   t   pytestt   raisest   NotImplementedErrorR   (   R   (    (    sC   lib/python2.7/site-packages/astropy/modeling/tests/test_mappings.pyt   test_drop_axes_2,   s    c          C` sW   t  d d d ƒ}  |  j d k s' t ‚ t d ƒ } | |  B} t | d d ƒ d ƒ d  S(   Ni   R   i   i<   g?Ø+t=Ûý?(   i   (   R   R   R   R   R   (   R   t   rotationt   model(    (    sC   lib/python2.7/site-packages/astropy/modeling/tests/test_mappings.pyt   test_drop_axes_33   s
    
c          C` s  t  j d ƒ }  t  j d ƒ } t d ƒ } t d ƒ } t d d ƒ } | | @| B} t | d d ƒ d ƒ | |  | ƒ \ } } t | | f t  j d d d g d d d g g ƒ t  j d	 d	 d	 g d	 d	 d	 g g ƒ f ƒ t | j | | ƒ |  | f d
 d ƒd  S(   Ni   i   i   t   anglei<   g€9B.ÜÈ Àg,ºží@gn]ÿèz¶û¿g      ð?t   atolg»½×Ùß|Û=(   i   i   (   i   i   (   g€9B.ÜÈ Àg,ºží@(	   R   R   R   R
   R   R   R   t   arrayR   (   R   R   t   ident1t   shiftR   R    t   res_xt   res_y(    (    sC   lib/python2.7/site-packages/astropy/modeling/tests/test_mappings.pyt   test_identity;   s    u   not HAS_SCIPYc    	      C` s½   t  d ƒ t d
 ƒ Bt d d d ƒ B}  t j d ƒ } |  | ƒ } d } t d ƒ   t j j d | | j ƒ } Wd  QX| | } t	 ƒ  } | |  | | ƒ } | | ƒ } t
 | | d	 | ƒd  S(   Ni   i    i   i   i
   g{®Gázt?i‡Ö g        R#   (   i    (   R
   R   R	   R   t   arangeR   t   randomt   normalt   shapeR   R   (	   t   mR   t   y_realt   dyt   nt   y_noisyt   pfitt	   new_modelt   y_fit(    (    sC   lib/python2.7/site-packages/astropy/modeling/tests/test_mappings.pyt   test_fittable_compoundN   s    &!
	($   t
   __future__R    R   R   R   R   t   numpyR   t   numpy.testingR   R   t   fittingR   t   modelsR   R   R	   R
   R   t   utilsR   t   scipyR   t   Truet	   HAS_SCIPYt   ImportErrort   FalseR   R   R   R   R!   R)   t   markt   skipifR6   (    (    (    sC   lib/python2.7/site-packages/astropy/modeling/tests/test_mappings.pyt   <module>   s$   "(

						