ó
¡¼™\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 d  d l m Z m Z m Z d  d l m Z d  d l m Z m Z d  d l m Z m Z m Z d  d l m Z d  d l m Z d  d	 l m Z d  d
 l Z e d ƒ \ Z Z Z d „  Z  d „  Z! d „  Z" d „  Z# d „  Z$ e d „  ƒ Z% d „  Z& d „  Z' d „  Z( d „  Z) d „  Z* d „  Z+ d „  Z, e d „  ƒ Z- d „  Z. d „  Z/ d „  Z0 d „  Z1 d „  Z2 d „  Z3 d  „  Z4 d! „  Z5 d" „  Z6 d# „  Z7 d$ „  Z8 d% „  Z9 d& „  Z: d' „  Z; d( „  Z< d) „  Z= d* „  Z> d+ „  Z? d
 S(,   iÿÿÿÿ(	   t   St   symbolst   Eqt   pit   Catalant
   EulerGammat   Lambdat   Dummyt   Function(   t   StringIO(   t   erft   Integralt	   Piecewise(   t   Equality(   t   Matrixt   MatrixSymbol(   t   OctaveCodeGent   codegent   make_routine(   t   raises(   t   implemented_function(   t   XFAILNs   x,y,zc          C   sS   t  ƒ  }  t ƒ  } |  j g  | d d t d t ƒ| j ƒ  } | d k sO t ‚ d  S(   Nt   filet   headert   emptyt    (   R   R	   t   dump_mt   Falset   getvaluet   AssertionError(   t   code_gent   outputt   source(    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_empty_m_code   s
    		c          C   sn   d t  t t f }  t |  d d t d t ƒ\ } | d d k sH t ‚ | d } d } | | k sj t ‚ d  S(	   Nt   testt   OctaveR   R   i    s   test.mi   s7   function out1 = test(x, y, z)
  out1 = z.*(x + y);
end
(   t   xt   yt   zR   R   R   (   t	   name_exprt   resultR    t   expected(    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_simple_code   s    
c          C   sy   d t  t t f }  t |  d d t d t ƒ\ } | d d k sH t ‚ | d } d t j d	 } | | k su t ‚ d  S(
   NR"   R#   R   R   i    s   test.mi   s^   function out1 = test(x, y, z)
  %TEST  Autogenerated by sympy
  %   Code generated with sympy s}   
  %
  %   See http://www.sympy.org/ for more information.
  %
  %   This file is part of 'project'
  out1 = z.*(x + y);
end
(	   R$   R%   R&   R   t   TrueR   R   t   sympyt   __version__(   R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_simple_code_with_header&   s    
c          C   sc   t  t t t ƒ }  d |  f } t | d d t d t ƒ\ } | d } d } | | k s_ t ‚ d  S(   NR"   R#   R   R   i   s)   function z = test(x, y)
  z = x + y;
end
(   R   R&   R$   R%   R   R   R   (   t   exprR'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_simple_code_nameout9   s    
c          C   sa   d t  t f }  t |  d d t d t ƒ\ } | d } d t j d ƒ } | | k s] t ‚ d  S(   NR"   R#   R   R   i   s+   function out1 = test()
  out1 = pi^%s;
end
i   (   R   R   R   R   t   evalfR   (   R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_numbersymbolF   s    
c       	   C   s`   d t  t t g f }  t |  d d t d t d t ƒ\ } | d } d } | | k s\ t ‚ d  S(   NR"   R#   R   R   t   inlinei   s§   function [out1, out2] = test()
  Catalan = 0.915965594177219;  % constant
  EulerGamma = 0.5772156649015329;  % constant
  out1 = pi^Catalan;
  out2 = EulerGamma;
end
(   R   R   R   R   R   R   (   R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_numbersymbol_no_inlineR   s    
c          C   sŠ   t  t }  t d |  d t t  t g d d ƒ} t ƒ  } t ƒ  } | j | g | d d t d t ƒ| j ƒ  } d } | | k s† t	 ‚ d  S(   NR"   t   argument_sequencet   languaget   octaveR   R   s2   function out1 = test(z, x, y)
  out1 = x + y;
end
(
   R$   R%   R   R&   R   R	   R   R   R   R   (   R/   t   routineR   R   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_code_argument_orderd   s    
$		"c          C   sr   t  t t }  t  t t } d |  | g f } t | d d t d t ƒ\ } | d } d } | | k sn t ‚ d  S(   NR"   R#   R   R   i   sT   function [out1, out2] = test(x, y, z)
  out1 = z.*(x + y);
  out2 = z.*(x - y);
end
(   R$   R%   R&   R   R   R   (   t   expr1t   expr2R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_multiple_results_ms   s    
c    
      C   s¯   t  d ƒ \ }  } } t | t t t ƒ } t |  t t t ƒ } t | d t ƒ } d | | | g f } t | d d t d t ƒ\ } | d } d }	 | |	 k s« t ‚ d  S(	   Ns   A,B,Ci   R"   R#   R   R   i   sV   function [C, A, B] = test(x, y, z)
  C = z.*(x + y);
  A = z.*(x - y);
  B = 2*x;
end
(   R   R   R$   R%   R&   R   R   R   (
   t   At   Bt   CR:   R;   t   expr3R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_results_named_unorderedƒ   s    
c    
      C   sÙ   t  d ƒ \ }  } } t | t t t ƒ } t |  t t t ƒ } t | d t ƒ } d | | | g f } t | d d t d t d t t t f ƒ} | d d d	 k s¯ t ‚ | d d
 } d }	 | |	 k sÕ t ‚ d  S(   Ns   A,B,Ci   R"   R#   R   R   R5   i    s   test.mi   sV   function [C, A, B] = test(x, z, y)
  C = z.*(x + y);
  A = z.*(x - y);
  B = 2*x;
end
(   R   R   R$   R%   R&   R   R   R   (
   R=   R>   R?   R:   R;   R@   R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_results_named_ordered–   s    c          C   sé   d d l  m }  m } m } d |  t ƒ | t ƒ | t ƒ d j ƒ  | | | | | | | | t t t ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ g f } t | d d t	 d t	 ƒ} | d d d	 k s¿ t
 ‚ | d d
 } d } | | k så t
 ‚ d  S(   Niÿÿÿÿ(   t   sint   cost   tant   testlongi   R#   R   R   i    s
   testlong.mi   s5  function [out1, out2] = testlong(x, y, z)
  out1 = sin(x).^3 + 3*sin(x).^2.*cos(y) + 3*sin(x).^2.*tan(z) + 3*sin(x).*cos(y).^2 + 6*sin(x).*cos(y).*tan(z) + 3*sin(x).*tan(z).^2 + cos(y).^3 + 3*cos(y).^2.*tan(z) + 3*cos(y).*tan(z).^2 + tan(z).^3;
  out2 = cos(cos(cos(cos(cos(cos(cos(cos(x + y + z))))))));
end
(   R,   RC   RD   RE   R$   R%   R&   t   expandR   R   R   (   RC   RD   RE   R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_complicated_m_codegenª   s    'Dc       	   C   sÌ   d d l  m }  m } m } t d ƒ } d | d t ƒ t t |  t ƒ ƒ | t ƒ t | |  d t ƒ ƒ g f } t | d d t	 d t	 ƒ\ } | d	 d
 k s¦ t
 ‚ | d } d } | | k sÈ t
 ‚ d  S(   Niÿÿÿÿ(   RC   RD   RE   t   at   fooi   R#   R   R   i    s   foo.mi   sk   function [out1, y, out3, a] = foo(x)
  out1 = cos(2*x);
  y = sin(x);
  out3 = cos(x);
  a = sin(2*x);
end
(   R,   RC   RD   RE   R   R$   R   R%   R   R   R   (   RC   RD   RE   RI   R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt!   test_m_output_arg_mixed_unordered¾   s    J
c          C   sž   t  d t d k  f t d t d k f t d t d k f d t f d t ƒ}  d |  f } t | d d t d	 t ƒ\ } | d } d
 } | | k sš t ‚ d  S(   Ni    iÿÿÿÿi   i   t   evaluatet   pwtestR#   R   R   sœ   function out1 = pwtest(x)
  out1 = ((x < -1).*(0) + (~(x < -1)).*( ...
  (x <= 1).*(x.^2) + (~(x <= 1)).*( ...
  (x > 1).*(2 - x) + (~(x > 1)).*(1))));
end
(   R   R$   R+   R   R   R   (   t   pwR'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_piecewise_Ñ   s    N
c       	   C   sž   t  d t d k  f t d t d k f t d t d k f d t f ƒ }  d |  f } t | d d t d t d	 t ƒ\ } | d } d
 } | | k sš t ‚ d  S(   Ni    iÿÿÿÿi   i   RM   R#   R   R   R3   sœ   function out1 = pwtest(x)
  if (x < -1)
    out1 = 0;
  elseif (x <= 1)
    out1 = x.^2;
  elseif (x > 1)
    out1 = -x + 2;
  else
    out1 = 1;
  end
end
(   R   R$   R+   R   R   R   (   RN   R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_piecewise_no_inlineà   s    H
c          C   s“   d d t  d t g f d t d d t g f g }  t |  d d t d t ƒ} | d	 d	 d
 k si t ‚ | d	 d } d } | | k s t ‚ d  S(   NRJ   i   i   t   bari   R#   R   R   i    s   foo.mi   s‚   function [out1, out2] = foo(x, y)
  out1 = 2*x;
  out2 = 3*y;
end
function [out1, out2] = bar(y)
  out1 = y.^2;
  out2 = 4*y;
end
(   R$   R%   R   R   R   (   R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_multifcns_per_fileø   s    4	c          C   sž   d d t  d t g f d t d d t g f g }  t |  d d t d t ƒ} | d	 d	 d
 k si t ‚ | d	 d } d t j d } | | k sš t ‚ d  S(   NRJ   i   i   RQ   i   R#   R   R   i    s   foo.mi   sa   function [out1, out2] = foo(x, y)
  %FOO  Autogenerated by sympy
  %   Code generated with sympy sÄ   
  %
  %   See http://www.sympy.org/ for more information.
  %
  %   This file is part of 'project'
  out1 = 2*x;
  out2 = 3*y;
end
function [out1, out2] = bar(y)
  out1 = y.^2;
  out2 = 4*y;
end
(   R$   R%   R   R+   R   R   R,   R-   (   R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt"   test_m_multifcns_per_file_w_header
  s    4c              sN   d d t  d t g f d t d d t g f g ‰  t t ‡  f d †  ƒ d  S(   NRJ   i   i   RQ   i   c        	      s   t  ˆ  d d d d t d t ƒS(   NR#   t   prefixRQ   R   R   (   R   R   (    (   R'   (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   <lambda>$  s   (   R$   R%   R   t
   ValueError(    (    (   R'   sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_filename_match_first_fcn"  s    4c          C   s    t  t d t t t g g ƒ }  d t t d d d ƒ |  ƒ f } t | d d t d t ƒ} | d	 d	 d
 k sv t	 ‚ | d	 d } d } | | k sœ t	 ‚ d  S(   Ni   R"   t   myout1i   i   R#   R   R   i    s   test.ms=   function myout1 = test(x, y, z)
  myout1 = [x 2*y pi*z];
end
(
   R   R$   R%   R   R&   R   R   R   R   R   (   t   e2R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_matrix_named(  s     !c          C   s‘   t  d d d ƒ }  t t d t t t g g ƒ } d t |  | d t ƒf } t | d d t d	 t ƒ\ } | d } d
 } | | k s t	 ‚ d  S(   NRX   i   i   i   R"   RL   R#   R   R   s=   function myout1 = test(x, y, z)
  myout1 = [x 2*y pi*z];
end
(
   R   R   R$   R%   R   R&   R   R   R   R   (   RX   RY   R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_matrix_named_matsym6  s     
c          C   sl   t  t t t d g g ƒ }  d |  f } t | d d t d t ƒ\ } | d } d } | | k sh t ‚ d  S(   Ni   R"   R#   R   R   i   s5   function out1 = test(x, y)
  out1 = [x x + y 3];
end
(   R   R$   R%   R   R   R   (   R/   R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_matrix_output_autonameD  s    
c          C   sÆ   t  t }  t d t  d t d t g g ƒ } t t  g t g t g g ƒ } t t  t g t d g g ƒ } d |  | | | f f } t | d d t d t ƒ\ } | d } d } | | k sÂ t ‚ d  S(	   Ni   i   R"   R#   R   R   i   sˆ   function [out1, out2, out3, out4] = test(x, y, z)
  out1 = x + y;
  out2 = [2*x 2*y 2*z];
  out3 = [x; y; z];
  out4 = [x y; z 16];
end
(   R$   R%   R   R&   R   R   R   (   t   e1RY   t   e3t   e4R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_matrix_output_autoname_2Q  s    
$
c    
      C   s×   t  d ƒ \ }  } t d d d ƒ } t | t t t ƒ } t | t d d t g g ƒ ƒ } t |  d t ƒ } d | | | g f } t | d d t d	 t d
 t t t f ƒ\ } | d } d }	 | |	 k sÓ t	 ‚ d  S(   Ns   B,CR=   i   i   i   R"   R#   R   R   R5   sS   function [C, A, B] = test(x, z, y)
  C = z.*(x + y);
  A = [1 2 x];
  B = 2*x;
end
(
   R   R   R   R$   R%   R&   R   R   R   R   (
   R>   R?   R=   R:   R;   R@   R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt#   test_m_results_matrix_named_orderedd  s    !
c          C   sì   t  d d d ƒ }  t  d d d ƒ } t  d d d ƒ } t  d d d ƒ } d t | |  d	 d  d  … f ƒ t | |  d d  d  … f ƒ t | |  d  d  … d f ƒ g f } t | d
 d t d t ƒ\ } | d } d } | | k sè t ‚ d  S(   NR=   i   i   R>   i   R?   t   DR"   i    R#   R   R   sN   function [B, C, D] = test(A)
  B = A(1, :);
  C = A(2, :);
  D = A(:, 3);
end
(   R   R   R   R   R   (   R=   R>   R?   Rb   R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_matrixsymbol_slicex  s    %
c          C   sÊ   t  d d d ƒ }  t  d d d ƒ } t  d d d ƒ } d t | |  d d … d d … f ƒ t | |  d d … d	 d … f ƒ g f } t | d
 d t d t ƒ\ } | d	 } d } | | k sÆ t ‚ d  S(   NR=   i   i   R>   i   R?   R"   i    i   R#   R   R   sD   function [B, C] = test(A)
  B = A(1:2, 1:2);
  C = A(1:2, 2:3);
end
(   R   R   R   R   R   (   R=   R>   R?   R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_matrixsymbol_slice2Œ  s    %+
c       	   C   sÓ   t  d d d ƒ }  t  d d d ƒ } t  d d d ƒ } d t | |  d	 d  … d
 d  d … f ƒ t | |  d  d  d … d  d  d … f ƒ g f } t | d d t d t ƒ\ } | d
 } d } | | k sÏ t ‚ d  S(   NR=   i   i   R>   i   R?   i   R"   i   i   i   R#   R   R   sR   function [B, C] = test(A)
  B = A(7:end, 2:3:end);
  C = A(1:2:end, 1:3:end);
end
(   R   R   R   R   R   (   R=   R>   R?   R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_matrixsymbol_slice3  s    (1
c          C   sÉ   t  d d d ƒ }  t  d d d ƒ } d t | |  d d  d  … f ƒ |  d d  d  … f |  d  d  … d f |  d  d  … d f g f } t | d d	 t d
 t ƒ\ } | d } d } | | k sÅ t ‚ d  S(   NR=   i   i   R>   i   R"   i    R#   R   R   sr   function [B, out2, out3, out4] = test(A)
  B = A(1, :);
  out2 = A(2, :);
  out3 = A(:, 1);
  out4 = A(:, 2);
end
(   R   R   R   R   R   (   R=   R>   R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt"   test_m_matrixsymbol_slice_autoname®  s    a
c          C   s  d d l  m }  m } d d l m } | d d t ƒ\ } } |  d ƒ } |  d ƒ } |  d ƒ } | d	 | ƒ } | d
 | ƒ }	 t d t | | | | |	 f | |	 ƒ f d d t d t ƒ\ }
 |
 d } d } | | i d | |	 f d 6k s| | i d | |	 f d 6k st	 ‚ d  S(   Niÿÿÿÿ(   t   IndexedBaset   Idx(   R   s   n mt   integerR=   R$   R%   t   it   jt   mat_vec_multR#   R   R   i   s•   function y = mat_vec_mult(A, m, n, x)
  for i = 1:m
    y(i) = 0;
  end
  for i = 1:m
    for j = 1:n
      y(i) = %(rhs)s + y(i);
    end
  end
end
s   A(%s, %s).*x(j)t   rhss   x(j).*A(%s, %s)(
   t   sympy.tensorRg   Rh   R,   R   R+   R   R   R   R   (   Rg   Rh   R   t   nt   mR=   R$   R%   Rj   Rk   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_loops¿  s    1
!c       
   C   s  d d l  m }  m } d d l m } | d d t ƒ\ } } } } |  d ƒ } |  d ƒ } |  d ƒ }	 | d	 | ƒ }
 | d
 | ƒ } | d | ƒ } | d | ƒ } t d t |	 |
 | | | | f | |
 | | | f ƒ f d d t d t ƒ\ } | d } d } | | k st	 ‚ d  S(   Niÿÿÿÿ(   Rg   Rh   (   R   s   n m o pRi   R=   R>   R%   Rj   Rk   t   kt   lt   tensorthingR#   R   R   i   sì   function y = tensorthing(A, B, m, n, o, p)
  for i = 1:m
    y(i) = 0;
  end
  for i = 1:m
    for j = 1:n
      for k = 1:o
        for l = 1:p
          y(i) = A(i, j, k, l).*B(j, k, l) + y(i);
        end
      end
    end
  end
end
(
   Rn   Rg   Rh   R,   R   R+   R   R   R   R   (   Rg   Rh   R   Ro   Rp   t   ot   pR=   R>   R%   Rj   Rk   Rr   Rs   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt)   test_m_tensor_loops_multiple_contractionsß  s    :
c          C   sc   t  t t d ƒ }  d |  f } t | d d t d t ƒ\ } | d } d } | | k s_ t ‚ d  S(   Ni   t   mysqrR#   R   R   i   s&   function x = mysqr(x)
  x = x.^2;
end
(   R   R$   R   R   R   (   R/   R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_InOutArgument  s    
c       
   C   sÖ   t  t t d t ƒ }  d |  f } t | d d t d t d t t f ƒ\ } | d } d } | | k so t ‚ t  t t d t ƒ }  d |  f } t | d d t d t ƒ\ } | d } d } | | k sÒ t ‚ d  S(	   Ni   R"   R#   R   R   R5   i   s,   function x = test(x, y)
  x = x.^2 + y;
end
(   R   R$   R%   R   R   R   (   R/   R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_InOutArgument_order  s    

c          C   st   t  d ƒ }  d |  t ƒ j t ƒ t j g f } t | d d t d t ƒ\ } | d } d } | | k sp t ‚ d  S(   Nt   fR"   R#   R   R   i   sŠ   function [out1, out2] = test(x)
  % unsupported: Derivative(f(x), x)
  % unsupported: zoo
  out1 = Derivative(f(x), x);
  out2 = zoo;
end
(   R   R$   t   diffR    t   ComplexInfinityR   R   R   (   R{   R'   R(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_m_not_supported(  s    $
c          C   s×   t  d ƒ \ }  } } } t d |  | f d d t d t d | f ƒ} | d d } d	 } | | k sl t ‚ t d |  | | f d d t d t d
 |  | f d | | f ƒ} | d d } d } | | k sÓ t ‚ d  S(   Ns   x y z tR{   R#   R   R   t   global_varsi    i   s3   function out1 = f(x)
  global y
  out1 = x.*y;
end
R5   s<   function out1 = f(x, y)
  global t z
  out1 = x.*y + z;
end
(   R   R   R   R   (   R$   R%   R&   t   tR(   R    R)   (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   test_global_vars_octave8  s    "&(@   t
   sympy.coreR    R   R   R   R   R   R   R   R   t   sympy.core.compatibilityR	   R,   R
   R   R   R   t   sympy.matricesR   R   t   sympy.utilities.codegenR   R   R   t   sympy.utilities.pytestR   t   sympy.utilities.lambdifyR   R   R$   R%   R&   R!   R*   R.   R0   R2   R4   R9   R<   RA   RB   RH   RK   RO   RP   RR   RS   RW   RZ   R[   R\   R`   Ra   Rc   Rd   Re   Rf   Rq   Rw   Ry   Rz   R~   R   (    (    (    sH   lib/python2.7/site-packages/sympy/utilities/tests/test_codegen_octave.pyt   <module>   sT   @																									 	"			