ó
~9­\c           @@ s   d  d l  m Z m Z d  d l Z d  d l m Z m Z m Z m Z d  d l	 m
 Z
 d  d l m Z m Z d   Z d   Z d   Z d S(	   i    (   t   absolute_importt   print_functionN(   t   symbolst   expt   St   Poly(   t   optimize(   t	   SumApproxt   SeriesApproxc          C@ s^   t  d  }  d |  } t d i d	 |  6d d  } t | | g  } | d d k sZ t  d  S(
   Nt   xi   t   boundsg#B”Ē»g#B”Ē;t   reltolg¼Ų²Ņ<i    (   g#B”Ē»g#B”Ē;(   R   R   R   t   AssertionError(   R	   t   expr1t
   sum_approxt   apx1(    (    sF   lib/python2.7/site-packages/sympy/codegen/tests/test_approximations.pyt   test_SumApprox_trivial
   s
    
c          C@ s>  t  d  \ }  } } t |  |  d | d d } i d |  6d | 6} t d | d	 d
  } t d | d	 d  } t d | d	 d  } t | | g  t |  | d j   d k s¾ t  t | | g  t |  | d d j   d k sų t  t | | g  t |  | d d |  d j   d k s:t  d  S(   Ns   x y zi   i   i    gü©ńŅMbP?id   ič  R
   R   g{®Gįz?gńhćµųä>gdyįż„=(   i    gü©ńŅMbP?(   id   ič  (   R   R   R   R   t   simplifyR   (   R	   t   yt   zR   t   bnds1t   sum_approx_m2t   sum_approx_m5t   sum_approx_m11(    (    sF   lib/python2.7/site-packages/sympy/codegen/tests/test_approximations.pyt   test_SumApprox_monotone_terms   s     6:c          C@ sż  t  d  \ }  } xäd t |  g D]Š} t  d  }  t |   | } i d |  6} t d | d d  } t d | d d  } t d | d d	  } | |  d | |  d
 d } t j |  }	 |	 |  |  d d }
 |	 |  |  d d |  d d } |	 |  |  d d |  d d |  d d } t | | g  } t | | g  } t | | g  } | | |
 j   d
 k s|t  | | | j   d
 k st  | | | j   d
 k s¼t  t d | d d	 d d  } t | | g  | k s% t  q% Wd  S(   Ns   x zi   R	   i’’’’R
   R   g      ą?g¹?g©?i    i   i   i   i   i   t	   max_order(   i’’’’i   (   R   R   R   t   mathR   R   R   (   R	   R   t   factorR   R   t   series_approx_50t   series_approx_10t   series_approx_05t   ct   f0t   ref_50t   ref_10t   ref_05t   res_50t   res_10t   res_05t   max_ord3(    (    sF   lib/python2.7/site-packages/sympy/codegen/tests/test_approximations.pyt   test_SeriesApprox_trivial   s*    ".   (   t
   __future__R    R   R   t   sympyR   R   R   R   t   sympy.codegen.rewritingR   t   sympy.codegen.approximationsR   R   R   R   R(   (    (    (    sF   lib/python2.7/site-packages/sympy/codegen/tests/test_approximations.pyt   <module>   s   "		