ó
~9­\c           @   s¡  d  d l  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 m Z m Z m Z 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 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* m+ Z+ m, Z, m- Z- d  d l m. Z. m/ Z/ m0 Z0 m1 Z1 m2 Z2 m3 Z3 m4 Z4 m5 Z5 m6 Z6 m7 Z7 m8 Z8 m9 Z9 m: Z: m; Z; m< Z< m= Z= m> Z> m? Z? m@ Z@ mA ZA mB ZB mC ZC mD ZD mE ZE d  d lF mG ZG d  d lH mI ZI d  d lJ mK ZK mL ZL mM ZM mN ZN mO ZO mP ZP d  d lQ mR ZR mS ZS mT ZT mU ZU mV ZV mW ZW mX ZX mY ZY mZ ZZ m[ Z[ m\ Z\ m] Z] d  d	 l^ m_ Z_ m` Z` ma Za mb Zb mc Zc d  d
 ld me Ze mf Zf mg Zg mh Zh mi Zi mj Zj mk Zk ml Zl mm Zm mn Zn mo Zo mp Zp d  d lF mq Zq d  d lr ms Zs d  d lt mu Zu d  d lt mu Zv e d ƒ \ Zw Zx Zy d „  Zz 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Š eq 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š d0 „  Z› d1 „  Zœ d2 „  Z d3 „  Zž d4 „  ZŸ d5 „  Z  d6 „  Z¡ d7 S(8   iÿÿÿÿ(	   t   St   pit   oot   symbolst   Functiont   Rationalt   Integert   Tuplet   Symbol(   t
   EulerGammat   GoldenRatiot   Catalant   Lambdat   Mult   Pow(   t   argt   atan2t	   bernoullit   betat   ceilingt
   chebyshevut
   chebyshevtt	   conjugatet
   DiracDeltat   expt   expintt	   factorialt   floort   harmonict	   Heavisidet   imt   laguerret   LambertWt   logt   Maxt   Mint	   Piecewiset   polylogt   ret   RisingFactorialt   signt   sinct   sqrtt   zeta(   t   sint   cost   tant   cott   sect   csct   asint   acost   acott   atant   asect   acsct   sinht   cosht   tanht   cotht   cscht   secht   asinht   acosht   atanht   acotht   asecht   acsch(   t   raises(   t   implemented_function(   t   eyet   Matrixt   MatrixSymbolt   Identityt   HadamardProductt   SparseMatrix(   t   jnt   ynt   besseljt   besselyt   besselit   besselkt   hankel1t   hankel2t   airyait   airybit   airyaiprimet   airybiprime(   t   gammat
   lowergammat
   uppergammat   loggammat	   polygamma(   t   Chit   Cit   erft   erfct   erfit   erfcinvt   erfinvt   fresnelct   fresnelst   lit   Shit   Si(   t   XFAIL(   t   range(   t   octave_codes   x,y,zc           C   s@   t  t d ƒ ƒ d k s t ‚ t  t d ƒ ƒ d k s< t ‚ d  S(   NiC   t   67iÿÿÿÿs   -1(   t   mcodeR   t   AssertionError(    (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_Integer#   s    c           C   sÒ   t  t d d ƒ ƒ d k s! t ‚ t  t d d ƒ ƒ d k sB t ‚ t  t d d ƒ ƒ d k sc t ‚ t  t d	 d ƒ ƒ d k s„ t ‚ t  t t d d ƒ ƒ d
 k s© t ‚ t  t d d ƒ t ƒ d k sÎ t ‚ d  S(   Ni   i   s   3/7i   i	   t   2iùÿÿÿs   -3/7iýÿÿÿs   x + 3/7s   3*x/7(   Rm   R   Rn   t   x(    (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_Rational(   s    !!!!%c           C   s‚  t  t t ƒ t t ƒ ƒ d k s( t ‚ t  t t ƒ ƒ d k sF t ‚ t  t t ƒ ƒ d k sd t ‚ t  t t ƒ ƒ d k s‚ t ‚ t  t t ƒ ƒ d k s  t ‚ t  t	 t ƒ ƒ d k s¾ t ‚ t  t
 t t ƒ ƒ d k sß t ‚ t  t t t ƒ ƒ d k s t ‚ t  t t t ƒ ƒ d	 k s!t ‚ t  t t ƒ ƒ d
 k s?t ‚ t  t t ƒ ƒ d k s]t ‚ t  t t t ƒ ƒ d k s~t ‚ d  S(   Ns   sin(x).^cos(x)s   sign(x)s   exp(x)s   log(x)s   factorial(x)s   floor(x)s   atan2(y, x)s
   beta(x, y)s   polylog(x, y)s   harmonic(x)s   bernoulli(x)s   bernoulli(x, y)(   Rm   R,   Rq   R-   Rn   R(   R   R!   R   R   R   t   yR   R%   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_Function1   s    (!!!c           C   s  t  t t ƒ ƒ d k s t ‚ t  t t ƒ ƒ d k s< t ‚ t  t t ƒ ƒ d k sZ t ‚ t  t t ƒ ƒ d k sx t ‚ t  t t ƒ ƒ d k s– t ‚ t  t t ƒ ƒ d k s´ t ‚ t  t	 t
 t ƒ ƒ d k sÕ t ‚ t  t t
 t ƒ ƒ d k sö t ‚ t  t t t
 ƒ ƒ d	 k st ‚ t  t t ƒ ƒ d
 k s5t ‚ t  t t ƒ ƒ d k sSt ‚ t  t t ƒ ƒ d k sqt ‚ t  t t ƒ ƒ d k st ‚ t  t t ƒ ƒ d k s­t ‚ t  t t ƒ ƒ d k sËt ‚ t  t t t
 ƒ ƒ d k sìt ‚ t  t t t
 ƒ ƒ d k st ‚ t  t t ƒ ƒ d k s+t ‚ t  t t d ƒ ƒ d k sLt ‚ t  t t ƒ ƒ d k sjt ‚ t  t t t
 ƒ ƒ d k s‹t ‚ d  S(   Ns   abs(x)s   ceil(x)s   angle(x)s   imag(x)s   real(x)s   conj(x)s   chebyshevT(y, x)s   chebyshevU(y, x)s   laguerreL(x, y)s
   coshint(x)s
   sinhint(x)s	   cosint(x)s	   sinint(x)s	   logint(x)s
   gammaln(x)s	   psi(x, y)s   pochhammer(x, y)s   dirac(x)i   s   dirac(3, x)s   heaviside(x)s   heaviside(x, y)(   Rm   t   absRq   Rn   R   R   R   R&   R   R   Rs   R   R   R]   Rg   R^   Rh   Rf   R[   R\   R'   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_Function_change_name@   s*    !!!!!!c           C   sz   t  t t t ƒ t t t ƒ ƒ d k s. t ‚ t  t t t t ƒ ƒ d k sR t ‚ t  t t t t ƒ ƒ d k sv t ‚ d  S(   Ns   max(x, y) + min(x, y)s   max(x, max(y, z))s   min(x, min(y, z))(   Rm   R"   Rq   Rs   R#   Rn   t   z(    (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_minmaxX   s    .$c       
   C   s  t  t d ƒ d k s t ‚ t  t t d ƒ d k s< t ‚ t  t t d d ƒ ƒ d k sa t ‚ t d t t d t ƒ ƒ }  t  d |  t ƒ d t t t t d t ƒ d	 k s» t ‚ t  t d
 t t t t t d t	 ƒd d t	 ƒd t	 ƒƒ d k st ‚ d  S(   Ni   s   x.^3s	   x.^(y.^3)i   s   x.^(2/3)t   gi   g      @s"   (3.5*2*x).^(-x + y.^x)./(x.^2 + y)iþÿÿÿt   evaluateiÿÿÿÿs   -2*x./(y.*y)(
   Rm   Rq   Rn   Rs   R   RE   R   R   R   t   False(   Ry   (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_Pow^   s     %/0c           C   sq   t  t t ƒ d k s t ‚ t  t t ƒ d k s8 t ‚ t  t t ƒ d k sT t ‚ t  t ƒ d k sm t ‚ d  S(   Ns   x.*ys   x + ys   x - ys   -x(   Rm   Rq   Rs   Rn   (    (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_basic_opsj   s    c           C   sw  t  d t ƒ d k s t ‚ t  t d ƒ t  t d ƒ k oG d k n sR t ‚ t  d t t ƒ ƒ d k st t ‚ t  t t j ƒ t  t d ƒ k o£ d k n s® t ‚ t  t t ƒ ƒ d k sÌ t ‚ t  t t j ƒ t  t d ƒ k oú d k n st ‚ t  d t ƒ d	 k s!t ‚ t  t d ƒ t  t d ƒ k oLd	 k n sWt ‚ t  t d ƒ d
 k sst ‚ d  S(   Ni   s   1./xiÿÿÿÿg      ð¿s
   1./sqrt(x)g      à¿s   sqrt(x)g      à?s   1/pis
   1/sqrt(pi)(   Rm   Rq   Rn   R*   R    t   HalfR   (    (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_1_over_x_and_sqrtq   s    6":96c           C   s  t  d t ƒ d k s t ‚ t  t t ƒ d k s8 t ‚ t  d t ƒ d k sT t ‚ t  t t ƒ d k sp t ‚ t  t d ƒ d k sŒ t ‚ t  t t ƒ d k s¨ t ‚ t  t t ƒ d k sÄ t ‚ t  d t t ƒ d	 k sä t ‚ t  d t t t ƒ d
 k st ‚ t  t t ƒ d k s$t ‚ t  d t t ƒ d k sDt ‚ t  t t t ƒ d k sdt ‚ t  t t t ƒ d k s„t ‚ t  d t t ƒ d k s¤t ‚ t  d t t t t ƒ d k sÌt ‚ t  d t t ƒ d k sìt ‚ t  t d ƒ d ƒ d k st ‚ t  t d ƒ d t ƒ d k s4t ‚ t  t t t ƒ d k sTt ‚ t  t t t ƒ d k stt ‚ t  t t t t ƒ d k s˜t ‚ t  t t t ƒ d t j d ƒ k sÅt ‚ t  t d t ƒ d k såt ‚ t  t d ƒ d t t t ƒ d k st ‚ d  S(   Ni   s   3*xs   pi*xs   3./xs   pi./xs   x/3s   x/pis   x.*ys   3*x.*ys	   3*pi*x.*ys   x./ys   3*x./ys   x.*y./zs   x.*z./yi   s	   1./(x.*y)i   s   2*pi*x./(y.*z)s   3*pi./xi   s   3/5s   3*x/5s	   x./(y.*z)s
   (x + y)./zs   (x + y)./(x + z)s
   (x + y)/%si   s   x/(3*pi)s   3*x.*y/(5*pi)(	   Rm   Rq   Rn   R   Rs   Rw   R    R	   t   evalf(    (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_mix_number_mult_symbols   s0     $    ( "&  $- c           C   s¸   t  t d ƒ d k s t ‚ t  t d ƒ d k s8 t ‚ t  t t d ƒ d k sX t ‚ t  t t ƒ d k st t ‚ t  t t t ƒ d k s” t ‚ t  t t t ƒ d k s´ t ‚ d  S(	   Ni   s   pi^3i   s   x.^2s	   x.^(pi^3)s   x.^ys	   x.^(y.^z)s	   (x.^y).^z(   Rm   R   Rn   Rq   Rs   Rw   (    (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_mix_number_pow_symbolsš   s      c          C   s¬   t  d ƒ }  t |  ƒ d k s$ t ‚ t d |  ƒ d k s@ t ‚ t t  d ƒ d |  ƒ d k sf t ‚ t d d |  ƒ d	 k s† t ‚ t t d ƒ |  ƒ d
 k s¨ t ‚ d  S(   Nt   It   1ii   t   5ii   i   s   3*1i/2i   s   3 + 4is
   sqrt(3)*1i(   R    Rm   Rn   R*   (   Rƒ   (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt	   test_imag£   s    & c           C   s¼   t  t ƒ d k s t ‚ t  t ƒ d k s0 t ‚ t  t ƒ d k sI t ‚ t  t j ƒ d k sd t ‚ t  t j ƒ d k s t ‚ t  t j ƒ d k sš t ‚ t  t d ƒ ƒ d k s¸ t ‚ d  S(   NR   t   infs   -inft   NaNs   exp(1)i   (	   Rm   R   Rn   R   R    t   NegativeInfinityRˆ   t   Exp1R   (    (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_constants¬   s    c           C   sr   t  d t ƒ d k s t ‚ t  d t ƒ d t j d ƒ k sE t ‚ t  d t ƒ d t j d ƒ k sn t ‚ d  S(   Ni   s   2*(1+sqrt(5))/2s   2*%si   (   Rm   R
   Rn   R   R€   R	   (    (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_constants_other¶   s    )c           C   sÕ   t  t t @ƒ d k s t ‚ t  t t Bƒ d k s8 t ‚ t  t ƒ d k sQ t ‚ t  t t @t @ƒ d k sq t ‚ t  t t Bt Bƒ d k s‘ t ‚ t  t t @t Bƒ d k s± t ‚ t  t t Bt @ƒ d k sÑ t ‚ d  S(   Ns   x & ys   x | ys   ~xs	   x & y & zs	   x | y | zs	   z | x & ys   z & (x | y)(   Rm   Rq   Rs   Rn   Rw   (    (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_boolean¼   s       c          C   s   d d l  m }  t |  t t ƒ ƒ d k s1 t ‚ t |  t t d ƒ ƒ d k sV t ‚ t |  d t t ƒ ƒ d k s{ t ‚ d  S(   Niÿÿÿÿ(   t   KroneckerDeltas   double(x == y)i   s   double(x == (y + 1))i   s   double((2.^x) == y)(   t   sympy.functionsRŽ   Rm   Rq   Rs   Rn   (   RŽ   (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_KroneckerDeltaÆ   s    !%c          C   s\  t  t d d d g ƒ ƒ d k s' t ‚ t d t t d ƒ t t ƒ g d d t g d t d ƒ t t ƒ g g ƒ }  d } t  |  ƒ | k s‘ t ‚ t  |  d  d  … d f ƒ d k s¹ t ‚ t  |  d d  d  … f ƒ d k sá t ‚ t  t d d g  ƒ ƒ d	 k st ‚ t  t d d
 g  ƒ ƒ d k s)t ‚ t  t t t t	 t	 g g ƒ ƒ d k sXt ‚ d  S(   Ni   i
   t   10i   i    s-   [1 sin(x/2) abs(x); 0 1 pi; 0 exp(1) ceil(x)]s	   [1; 0; 0]s   [1 sin(x/2) abs(x)]s   []i   s   zeros(0, 3)s   [x x - y -y](
   Rm   RG   Rn   R,   Rq   Ru   R   R   R   Rs   (   t   At   expected(    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_MatricesÍ   s    '!(($$c          C   se   t  d t d t ƒ d t t d g g ƒ }  t |  ƒ d k sF t ‚ t |  j ƒ d k sa t ‚ d  S(   Ni   i   i   i   s   [1 sin(2./x) 3*pi./(5*x)]s   [1; sin(2./x); 3*pi./(5*x)](   RG   R,   Rq   R   Rm   Rn   t   T(   R’   (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_vector_entries_hadamardÞ   s    .c          C   s`   t  d t d t ƒ d t t d g d d t t g g ƒ }  d } t |  ƒ | k s\ t ‚ d  S(   Ni   i   i   i   s.   [1 sin(2/x) 3*pi/(5*x);
1        2        x*y](   RG   R,   Rq   R   Rs   Rm   Rn   (   R’   R“   (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt"   test_Matrices_entries_not_hadamardå   s    >c          C   s7  t  d d t ƒ}  t d |  |  ƒ } t d |  |  ƒ } t | | ƒ d k sR t ‚ t | | ƒ d k sn t ‚ t d | | ƒ d k sŽ t ‚ t | d | ƒ d	 k s® t ‚ t | | d
 t |  ƒ ƒ d k sØ t ‚ t | t d ƒ d k sø t ‚ t | d
 ƒ d k st ‚ t | t j ƒ d k s3t ‚ d  S(   Nt   nt   integerR’   t   Bs   A*Bs   B*Ai   s   2*A*Bs   2*B*Ai   s   A*(3*eye(n) + B)s   A^(x.^2)s   A^3s   A^(1/2)(	   R   t   TrueRH   Rm   Rn   RI   Rq   R    R~   (   R˜   R’   Rš   (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_MatrixSymbolð   s      * c           C   s&   t  d t d ƒ ƒ d k s" t ‚ d  S(   Ni   i   s   6*eye(3)(   Rm   RI   Rn   (    (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_special_matricesþ   s    c           C   s&  t  d d d d d d d g g d d	 d
 g d g ƒ d k sB t ‚ t  d d d f ƒ d k sc t ‚ t  d g ƒ d k s~ t ‚ t  d ƒ d k s– t ‚ t  t d d d g Œ  ƒ d k s½ t ‚ t  d t t d t d f f ƒ d k sì t ‚ t  d t d ƒ t d d g  ƒ g  f ƒ d k s"t ‚ d  S(   Ni   i   i   i   i   i   i   i   i	   i
   i   s)   {1, 2, 3, {4, 5, {6, 7}}, 8, {9, 10}, 11}s   {1, 2, {3, 4}}s   {1}s	   {1, 2, 3}s   {1, x.*y, {3, x.^2}}i    s"   {1, [1 0 0; 0 1 0; 0 0 1], [], {}}(   i   i   (   i   (   Rm   Rn   R   Rq   Rs   RF   RG   (    (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_containers  s    3!'/c          C   sI   t  t t t d d d t ƒ}  d t j d ƒ } |  | k sE t ‚ d  S(   Nt	   assign_tot   met   inlines#   Catalan = %s;
me = (x + y)/Catalan;i   (   Rm   Rq   Rs   R   R{   R€   Rn   (   t   sourceR“   (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_octave_noninline  s     c             s  t  t t d k  f t d t f ƒ ‰  t ˆ  ƒ d k s= t ‚ t ˆ  d d ƒd k s[ t ‚ t ˆ  d d d t ƒd k s t ‚ t  t d t d k  f t d	 t d k  f t d
 t d	 k  f t d t f ƒ ‰  d }  t ˆ  ƒ |  k sì t ‚ t ˆ  d d ƒd |  d k st ‚ t ˆ  d d d t ƒd k s6t ‚ t  t t d k  f t d t d k f t t ƒ t d k f ƒ ‰  t t ‡  f d †  ƒ d  S(   Ni   i   s#   ((x < 1).*(x) + (~(x < 1)).*(x.^2))RŸ   t   rs(   r = ((x < 1).*(x) + (~(x < 1)).*(x.^2));R¡   s(   if (x < 1)
  r = x;
else
  r = x.^2;
endi   i   i   sp   ((x < 1).*(x.^2) + (~(x < 1)).*( ...
(x < 2).*(x.^3) + (~(x < 2)).*( ...
(x < 3).*(x.^4) + (~(x < 3)).*(x.^5))))s   r = t   ;sa   if (x < 1)
  r = x.^2;
elseif (x < 2)
  r = x.^3;
elseif (x < 3)
  r = x.^4;
else
  r = x.^5;
endi    c              s
   t  ˆ  ƒ S(   N(   Rm   (    (   t   expr(    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   <lambda>4  t    (	   R$   Rq   R›   Rm   Rn   R{   R,   RD   t
   ValueError(   R“   (    (   R¦   s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_octave_piecewise  s    %O&
@c          C   s   t  t t d k  f t d t f ƒ }  t d |  ƒ d k sA t ‚ t |  t ƒ d k s] t ‚ t |  t t ƒ d k s} t ‚ t |  d ƒ d k s™ t ‚ d  S(   Ni   i   s%   2*((x < 1).*(x) + (~(x < 1)).*(x.^2))s&   ((x < 1).*(x) + (~(x < 1)).*(x.^2))./xs+   ((x < 1).*(x) + (~(x < 1)).*(x.^2))./(x.*y)i   s%   ((x < 1).*(x) + (~(x < 1)).*(x.^2))/3(   R$   Rq   R›   Rm   Rn   Rs   (   t   pw(    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt!   test_octave_piecewise_times_const7  s
    % c          C   sv   t  d d d g g ƒ }  t |  d d ƒd k s6 t ‚ t  d d g d d g g ƒ }  t |  d d ƒd	 k sr t ‚ d  S(
   Ni   i   i   RŸ   t   as   a = [1 2 3];i   R’   s   A = [1 2; 3 4];(   RG   Rm   Rn   (   R’   (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_octave_matrix_assign_to?  s    c             s   t  d d d g g ƒ ‰  t d d d ƒ }  t d d d ƒ ‰ t ˆ  d |  ƒd k sZ t ‚ t t ‡  f d †  ƒ t t ‡  ‡ f d	 †  ƒ d  S(
   Ni   i   i   Rš   t   CRŸ   s   B = [1 2 3];c              s   t  ˆ  d t ƒS(   NRŸ   (   Rm   Rq   (    (   R’   (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyR§   L  R¨   c              s   t  ˆ  d ˆ ƒS(   NRŸ   (   Rm   (    (   R’   R¯   (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyR§   M  R¨   (   RG   RH   Rm   Rn   RD   R©   (   Rš   (    (   R’   R¯   s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt!   test_octave_matrix_assign_to_moreF  s    c             sq   t  d g g ƒ ‰  t d d d ƒ }  t d d d ƒ ‰ t ˆ  d |  ƒd k sT t ‚ t t ‡  ‡ f d †  ƒ d  S(	   Ni   Rš   i   R¯   i   RŸ   s   B = 3;c              s   t  ˆ  d ˆ ƒS(   NRŸ   (   Rm   (    (   R’   R¯   (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyR§   W  R¨   (   RG   RH   Rm   Rn   RD   R©   (   Rš   (    (   R’   R¯   s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_octave_matrix_1x1P  s
    c          C   sÎ   t  t d t t g g ƒ }  t |  d	 d |  d
 |  d ƒ d k sL t ‚ t d d d ƒ }  t |  ƒ d k sv t ‚ t |  d d t |  d ƒ |  d ƒ d k s¬ t ‚ t t |  ƒ ƒ d k sÊ t ‚ d  S(   Ni   i    i   s   x.^2 + x.*y + 2t   AAi   s&   sin(AA(1, 2)) + AA(1, 1).^2 + AA(1, 3)s   AA(1, 1) + AA(1, 2) + AA(1, 3)(   i    i    (   i    i   (   i    i   (   i    i    (   i    i   (   i    i   (   RG   Rq   Rs   Rm   Rn   RH   R,   t   sum(   R’   (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_octave_matrix_elementsZ  s    0'c           C   sj   t  t ƒ d k s t ‚ t  t j ƒ d k s3 t ‚ t  t ƒ d k sK t ‚ t  t j ƒ d k sf t ‚ d  S(   Nt   truet   false(   Rm   R›   Rn   R    Rµ   R{   R¶   (    (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_octave_booleand  s    c          C   sR   t  t j ƒ d k s t ‚ t d ƒ }  t  |  t ƒ j t ƒ ƒ d k sN t ‚ d  S(   Ns0   % Not supported in Octave:
% ComplexInfinity
zoot   fs;   % Not supported in Octave:
% Derivative
Derivative(f(x), x)(   Rm   R    t   ComplexInfinityRn   R   Rq   t   diff(   R¸   (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_octave_not_supportedk  s
    c          C   s8   d d l  m }  t |  t t t ƒ ƒ d k s4 t ‚ d  S(   Niÿÿÿÿ(   t   assoc_laguerresC   % Not supported in Octave:
% assoc_laguerre
assoc_laguerre(x, y, z)(   t   sympyR¼   Rm   Rq   Rs   Rw   Rn   (   R¼   (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt*   test_octave_not_supported_not_on_whitelisty  s    c           C   sg   t  t d t ƒ ƒ d k s! t ‚ t  t d t ƒ ƒ d k sB t ‚ t  t t t ƒ ƒ d k sc t ‚ d  S(   Ni   s	   expint(x)i   s0   % Not supported in Octave:
% expint
expint(2, x)s0   % Not supported in Octave:
% expint
expint(y, x)(   Rm   R   Rq   Rn   Rs   (    (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_octave_expint‚  s
    !c          C   sj   t  d ƒ }  t  d ƒ } t |  t d k  f | t d k f d t f ƒ } t | d t ƒd k sf t ‚ d  S(   Nt   endlesst	   elsewherei    i   R¡   s=   if (x < 0)
  endless
elseif (x <= 1)
  elsewhere
else
  1
end(   R    R$   Rq   R›   Rm   R{   Rn   (   t   t1t   t2R«   (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt%   test_trick_indent_with_end_else_words  s
    0c          C   së   t  d d d ƒ }  t  d d d ƒ } t  d d d ƒ } t  d d d ƒ } t |  | ƒ } t | ƒ d k so t ‚ t | | ƒ d k s‹ t ‚ t | | | ƒ d	 k s« t ‚ t | |  ƒ d
 k sÇ t ‚ t | t t ƒ d k sç t ‚ d  S(   NR’   i   Rš   t   vi   t   hs   A.*Bs   (A.*B)*vs
   h*(A.*B)*vs   (A.*B)*As   (x.*y)*(A.*B)(   RH   RJ   Rm   Rn   Rq   Rs   (   R’   Rš   RÅ   RÆ   R¯   (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_haramardŸ  s     c          C   sd   t  d d i  ƒ }  d |  d <d |  d <d |  d <d	 |  d <t t |  d <t |  ƒ d k s` t ‚ d  S(   Ni   i   i
   i   i   i   i   i   i   i    s:   sparse([4 2 3 1 2], [1 3 3 4 4], [x.*y 20 10 30 22], 5, 6)(   i   i   (   i   i   (   i   i   (   i    i   (   i   i    (   RK   Rq   Rs   Rm   Rn   (   t   M(    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_sparse­  s    



	c           C   sj   t  t t ƒ ƒ d k s t ‚ t  t t d ƒ ƒ d k s@ t ‚ t  t t t d ƒ ƒ d k sf t ‚ d  S(   Ns
   sinc(x/pi)i   s   sinc((x + 3)/pi)s   sinc(x + 3)(   Rm   R)   Rq   Rn   R   (    (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt	   test_sinc¹  s    "c          C   s‚   x{ t  t t t t t t t t t	 t
 t t t t t t t t t t t t t f D]+ }  t |  t ƒ |  j d k ƒ sO t ‚ qO Wd  S(   Ns   (x)(   R,   R-   R.   R/   R0   R1   R2   R3   R4   R5   R6   R7   R8   R9   R:   R;   R<   R=   R>   R?   R@   RA   RB   RC   Rk   Rq   t   __name__Rn   (   R¸   (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_trigfun¿  s    'c          C   sE  t  d ƒ }  xB t t t t g D]. } t | |  t ƒ ƒ | j d k s t ‚ q WxK t	 t
 t t t t t t f D]+ } t | t ƒ ƒ | j d k sp t ‚ qp Wt t |  t ƒ ƒ d k sÀ t ‚ t t |  t ƒ ƒ d k sá t ‚ t t t ƒ ƒ d k sÿ t ‚ t t t ƒ ƒ d k st ‚ t t t ƒ ƒ d k s;t ‚ t t t ƒ ƒ d	 k sYt ‚ t t |  t ƒ ƒ d
 k szt ‚ t t |  t ƒ ƒ d k s›t ‚ t t t |  t ƒ ƒ d k sÀt ‚ t t |  t ƒ ƒ d k sát ‚ t t |  t ƒ ƒ d k st ‚ t t t ƒ ƒ d k s t ‚ t t t |  ƒ ƒ d k sAt ‚ d  S(   NR˜   s   (n, x)s   (x)s   besselh(n, 1, x)s   besselh(n, 2, x)s
   airy(0, x)s
   airy(1, x)s
   airy(2, x)s
   airy(3, x)s#   (gammainc(x, n, 'upper').*gamma(n))s   (gammainc(x, n).*gamma(n))s   z.^(gammainc(x, n).*gamma(n))s2   sqrt(2)*sqrt(pi)*sqrt(1./x).*besselj(n + 1/2, x)/2s2   sqrt(2)*sqrt(pi)*sqrt(1./x).*bessely(n + 1/2, x)/2s   lambertw(x)s   lambertw(n, x)(   R   RN   RO   RP   RQ   Rk   Rq   RË   Rn   R`   Ra   R_   Rc   Rb   Rd   Re   RX   RR   RS   RT   RV   RU   RW   RZ   RY   Rw   RL   RM   R    (   R˜   R¸   (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_specfunÆ  s$    ,%)!!!!%!!c          C   s¨   t  d d d ƒ }  t  d d d ƒ } t  d d d ƒ } t |  d
 ƒ d k sR t ‚ t d |  d ƒ d k sr t ‚ | d j | |  | ƒ } t | ƒ d	 k s¤ t ‚ d  S(   NR’   i   i   Rš   R¯   i    s   A(1, 1)s	   3*A(1, 1)s   (A - B)(1, 1)(   i    i    (   i    i    (   i    i    (   RH   Rm   Rn   t   subs(   R’   Rš   R¯   t   F(    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_MatrixElement_printingÛ  s     c           C   sC   t  t t ƒ ƒ d k s t ‚ t  t t t ƒ ƒ d k s? t ‚ d  S(   Ns   zeta(x)s,   % Not supported in Octave:
% zeta
zeta(x, y)(   Rk   R+   Rq   Rn   Rs   (    (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   test_zeta_printing_issue_14820è  s    N(¢   t
   sympy.coreR    R   R   R   R   R   R   R   R   R	   R
   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R    R!   R"   R#   R$   R%   R&   R'   R(   R)   R*   R+   R,   R-   R.   R/   R0   R1   R2   R3   R4   R5   R6   R7   R8   R9   R:   R;   R<   R=   R>   R?   R@   RA   RB   RC   t   sympy.utilities.pytestRD   t   sympy.utilities.lambdifyRE   t   sympy.matricesRF   RG   RH   RI   RJ   RK   t   sympy.functions.special.besselRL   RM   RN   RO   RP   RQ   RR   RS   RT   RU   RV   RW   t'   sympy.functions.special.gamma_functionsRX   RY   RZ   R[   R\   t'   sympy.functions.special.error_functionsR]   R^   R_   R`   Ra   Rb   Rc   Rd   Re   Rf   Rg   Rh   Ri   t   sympy.core.compatibilityRj   R½   Rk   Rm   Rq   Rs   Rw   Ro   Rr   Rt   Rv   Rx   R|   R}   R   R   R‚   R†   R‹   RŒ   R   R   R”   R–   R—   Rœ   R   Rž   R£   Rª   R¬   R®   R°   R±   R´   R·   R»   R¾   R¿   RÄ   RÇ   RÉ   RÊ   RÌ   RÍ   RÐ   RÑ   (    (    (    s?   lib/python2.7/site-packages/sympy/printing/tests/test_octave.pyt   <module>   sl   @.¸š.R(R															
		
									 			
	
	
												