ó
<Zc           @   s¶   d  d l  m Z m Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z	 e d	 „  ƒ Z
 e d
 d „ ƒ Z e d  d „ ƒ Z d S(   i   (   t   defunt   defun_wrappedc   0      C   s  d } d } d } | |  j  k rP|  j | ƒ sá |  j | } |  j |  j | ƒ | ƒ } | | | ?} | }	 }
 | } x< t |	 ƒ | k r´ |
 | | ?}
 |	 |
 | ?}	 | |	 7} qy Wd | d >| d >} |  j | | ƒ } qù|  j | } |  j |  j | ƒ | ƒ } |  j |  j | ƒ | ƒ } | | | | | ?} | | | d ?} | } } | } } d | >| } | } xŠ | d | d | k r | | | | | ?| | | | | ?} } | | | | | ?| | | | | ?} } | | 7} | | 7} qwW| d >} | d >} |  j | | ƒ } |  j | | ƒ } |  j | | ƒ } n©|  j | ƒ r|  j | ƒ r|  j | } |  j |  j | ƒ | ƒ } | | | ?} | }	 }
 |  j |  j | ƒ d | ƒ\ } } |  j | | ƒ } } |  j | | ƒ } } | | | | | ?} | | | d ?} | | | | | ?| | | | | ?} } | |	 | | ?} xq t |	 ƒ | k rÚ|
 | | ?}
 |	 |
 | ?}	 | | | | | ?| | | | | ?} } | |	 | | ?7} qjW| d >} |  j | | ƒ } | |  j	 | d ƒ 9} | S|  j | ƒ s~|  j | } |  j |  j | ƒ | ƒ } |  j |  j | ƒ | ƒ } | | | | | ?} | | | d ?} | } } | } } |  j |  j | ƒ d | ƒ\ } } |  j | | ƒ } } |  j | | ƒ } } | | | | | ?} | | | d ?} | | | | | ?| | | | | ?} } | | | | ?} | | | ?} xÇ | d | d | k r.| | | | | ?| | | | | ?} } | | | | | ?| | | | | ?} } | | | | | ?| | | | | ?} } | | | | ?7} | | | | ?7} qhW| d >} | d >} |  j | | ƒ } |  j | | ƒ } |  j | | ƒ } n{|  j | ƒ s
|  j | } |  j |  j | ƒ | ƒ } | | | ?} | }	 }
 |  j } | |  _ |  j | ƒ \ } } | |  _ |  j |  j | ƒ | ƒ } } |  j |  j | ƒ | ƒ } }  |  j |  j | ƒ | ƒ }! }" |  j |  j | ƒ | ƒ }# }$ | | |  |  |" |" |$ |$ | ?}% | |  |" |$ | d ?}& | |" |  |$ | d ?}' | |$ |  |" | d ?}( | |% | |& |! |' |# |( | ?}) | |& | |% |! |( |# |' | ?}* |! |% |# |& | |' | |( | ?}+ |! |& |# |% | |( | |' | ?}, |) } |* } |+ }! |, }# | |	 | | ?} |  |	 | | ?} xt |	 ƒ | k rÉ	|
 | | ?}
 |	 |
 | ?}	 | |% | |& |! |' |# |( | ?}) | |& | |% |! |( |# |' | ?}* |! |% |# |& | |' | |( | ?}+ |! |& |# |% | |( | |' | ?}, |) } |* } |+ }! |, }# | |	 | | ?7} | |	 | | ?7} qÄW| d >} | d >} |  j | | ƒ } |  j | | ƒ } |  j | | ƒ } nà|  j | } |  j |  j | ƒ | ƒ } |  j |  j | ƒ | ƒ } | | | | | ?} | | | d ?} | } } | } } |  j } | |  _ |  j | ƒ \ } } | |  _ |  j |  j | ƒ | ƒ } } |  j |  j | ƒ | ƒ } }  |  j |  j | ƒ | ƒ }! }" |  j |  j | ƒ | ƒ }# }$ | | |  |  |" |" |$ |$ | ?}% | |  |" |$ | d ?}& | |" |  |$ | d ?}' | |$ |  |" | d ?}( | |% | |& |! |' |# |( | ?}) | |& | |% |! |( |# |' | ?}* |! |% |# |& | |' | |( | ?}+ |! |& |# |% | |( | |' | ?}, |) } |* } |+ }! |, }# d }- | }. |  }/ | | | | | | ?} |  | | | | | ?} d }- | | | | | ?}. | | | | | ?}/ | | | | | | ?} |  | | | | | ?} d }- x| d | d | k r¬| | | | | ?| | | | | ?} } | | | | | ?| | | | | ?} } | |% | |& |! |' |# |( | ?}) | |& | |% |! |( |# |' | ?}* |! |% |# |& | |' | |( | ?}+ |! |& |# |% | |( | |' | ?}, |) } |* } |+ }! |, }# | | | | | ?}. | | | | | ?}/ | | | | | | ?7} | | | | | | ?7} |- d 7}- qW| d >} | d >} |  j | | ƒ } |  j | | ƒ } |  j | | ƒ } | |  j	 | d ƒ 9} | S(	   Ni
   i   i   i   t   preci   i   i   (
   t   zerot   _imR   t   to_fixedt   _ret   abst   ldexpt   mpct   cos_sint   nthroot(0   t   ctxt   zt   qt   extra1t   extra2t   MINt   wpt   xt   x2t   at   bt   st   xret   ximt   x2ret   x2imt   aret   bret   aimt   bimt   sret   simt   c1t   s1t   cnt   snt   c2t   s2t   prec0t   cnret   c1ret   cnimt   c1imt   snret   s1ret   snimt   s1imt   c2ret   c2imt   s2ret   s2imt   t1t   t2t   t3t   t4t   nt   termret   termim(    (    s5   lib/python2.7/site-packages/mpmath/functions/theta.pyt   _jacobi_theta2   s†   





 
$--


$--


			&&&&&&&&&



			&&&&&&&&&

c   /      C   sï  d } d } d } |  j  | ƒ r<|  j  | ƒ r<|  j | } |  j |  j | ƒ | ƒ } | | | ?}	 |	 }
 } |  j |  j | ƒ d | ƒ\ } } |  j | | ƒ } } |  j | | ƒ } } | | | | | ?} | | | d ?} | | | | | ?| | | | | ?} } | d @r>| |
 | d | | ?} n | |
 | d | | ?} d } xº t |
 ƒ | k r| |	 | ?} |
 | | ?}
 | | | | | ?| | | | | ?} } | d @rë| |
 | d | d | | ?7} n" | |
 | d | d | | ?7} | d 7} qaW| d >} |  j | | ƒ } nk|  j  | ƒ sX|  j | } |  j |  j | ƒ | ƒ } |  j |  j  | ƒ | ƒ } | | | | | ?} | | | d ?} | } } | } } |  j |  j | ƒ d | ƒ\ } } |  j | | ƒ } } |  j | | ƒ } } | | | | | ?} | | | d ?} | | | | | ?| | | | | ?} } | d @r¬| | | d | | ?} | | d | | ?} n0 | | | d | | ?} | | d | | ?} d } x"| d | d | k r| | | | | ?| | | | | ?} } | | | | | ?| | | | | ?} } | | | | | ?| | | | | ?} } | d @rÅ| | | | | | ?7} | | | | | | ?7} n4 | | | | | | ?7} | | | | | | ?7} | d 7} qåW| d >} | d >} |  j | | ƒ } |  j | | ƒ } |  j | | ƒ } nO	|  j  | ƒ s§	|  j | } |  j |  j | ƒ | ƒ } | | | ?}	 |	 }
 } |  j } | |  _ |  j | ƒ \ } } | |  _ |  j |  j | ƒ | ƒ } }  |  j |  j  | ƒ | ƒ }! }" |  j |  j | ƒ | ƒ }# }$ |  j |  j  | ƒ | ƒ }% }& |  |  |" |" |$ |$ |& |& | ?}' |  |" |$ |& | d ?}( |  |$ |" |& | d ?}) |  |& |" |$ | d ?}* | |' |! |( |# |) |% |* | ?}+ | |( |! |' |# |* |% |) | ?}, |# |' |% |( | |) |! |* | ?}- |# |( |% |' | |* |! |) | ?}. |+ } |, }! |- }# |. }% | d @r¸|$ |
 |# d | | ?} |& |
 |% d | | ?} n4 |  |
 | d | | ?} |" |
 |! d | | ?} d } xat |
 ƒ | k rU	| |	 | ?} |
 | | ?}
 | |' |! |( |# |) |% |* | ?}+ | |( |! |' |# |* |% |) | ?}, |# |' |% |( | |) |! |* | ?}- |# |( |% |' | |* |! |) | ?}. |+ } |, }! |- }# |. }% | d @r	| |
 |# | | | ?7} | |
 |% | | | ?7} n4 | |
 | | | | ?7} | |
 |! | | | ?7} | d 7} qõW| d >} | d >} |  j | | ƒ } |  j | | ƒ } |  j | | ƒ } n |  j | } |  j |  j | ƒ | ƒ } |  j |  j  | ƒ | ƒ } | | | | | ?} | | | d ?} | } } | } } |  j } | |  _ |  j | ƒ \ } } | |  _ |  j |  j | ƒ | ƒ } }  |  j |  j  | ƒ | ƒ }! }" |  j |  j | ƒ | ƒ }# }$ |  j |  j  | ƒ | ƒ }% }& |  |  |" |" |$ |$ |& |& | ?}' |  |" |$ |& | d ?}( |  |$ |" |& | d ?}) |  |& |" |$ | d ?}* | |' |! |( |# |) |% |* | ?}+ | |( |! |' |# |* |% |) | ?}, |# |' |% |( | |) |! |* | ?}- |# |( |% |' | |* |! |) | ?}. |+ } |, }! |- }# |. }% | d @rG|$ | |# | |% d | | ?} |& | |% | |# d | | ?} nD |  | | | |! d | | ?} |" | |! | | d | | ?} d } xÅ| d | d | k rX| | | | | ?| | | | | ?} } | | | | | ?| | | | | ?} } | |' |! |( |# |) |% |* | ?}+ | |( |! |' |# |* |% |) | ?}, |# |' |% |( | |) |! |* | ?}- |# |( |% |' | |* |! |) | ?}. |+ } |, }! |- }# |. }% | d @r| | |# | |% | | | ?7} | | |# | |% | | | ?7} nD | | | | |! | | | ?7} | | | | |! | | | ?7} | d 7} q”W| d >} | d >} |  j | | ƒ } |  j | | ƒ } |  j | | ƒ } | |  j | d ƒ 9} | d @r×d	 | d | Sd	 d | d | Sd  S(
   Ni   i
   i   R   i   i   i   i   iÿÿÿÿ(	   R   R   R   R   R
   R   R   R	   R   (/   R   R   R   t   ndR   R   R   R   R   R   R   R   R"   R#   R$   R%   R&   R'   R   R9   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   (    (    s5   lib/python2.7/site-packages/mpmath/functions/theta.pyt   _djacobi_theta2Ø   sf    
$-
-
%"

$-
-

			&&&&&
&&&&


			&&&&&
"%""&&&&
"%""
c   '      C   sn  d } d } d } | |  j  k rM|  j | ƒ sÞ |  j | } |  j |  j | ƒ | ƒ } | } | }	 }
 | | | ?} x< t |	 ƒ | k r´ |
 | | ?}
 |	 |
 | ?}	 | |	 7} qy Wd | >| d >} |  j | | ƒ } | S|  j | } |  j |  j | ƒ | ƒ } |  j |  j | ƒ | ƒ } | | | | | ?} | | | d ?} | } } } | } } } xŠ | d | d | k rñ| | | | | ?| | | | | ?} } | | | | | ?| | | | | ?} } | | 7} | | 7} qhWd | >| d >} | d >} |  j | | ƒ } |  j | | ƒ } |  j | | ƒ } | Sn	|  j | ƒ rº|  j | ƒ rºd } |  j | } |  j |  j | ƒ | ƒ } | }	 }
 | | | ?} |  j |  j | ƒ d d | ƒ\ } } |  j | | ƒ } |  j | | ƒ } | } | } | |	 | | ?7} xq t |	 ƒ | k r|
 | | ?}
 |	 |
 | ?}	 | | | | | ?| | | | | ?} } | |	 | | ?7} q Wd | >| d >} |  j | | ƒ } | S|  j | ƒ sÞ|  j | } |  j |  j | ƒ | ƒ } |  j |  j | ƒ | ƒ } | | | | | ?} | | | d ?} | } } | } } |  j |  j | ƒ d d | ƒ\ } } |  j | | ƒ } |  j | | ƒ } | } | } | | | ?} | | | ?} xÇ | d | d | k r…| | | | | ?| | | | | ?} } | | | | | ?| | | | | ?} } | | | | | ?| | | | | ?} } | | | | ?7} | | | | ?7} q¿Wd | >| d >} | d >} |  j | | ƒ } |  j | | ƒ } |  j | | ƒ } | S|  j | ƒ sZ|  j | } |  j |  j | ƒ | ƒ } | }	 }
 | | | ?} |  j } | |  _ |  j d | ƒ \ } } | |  _ |  j |  j | ƒ | ƒ } } |  j |  j | ƒ | ƒ } } |  j |  j | ƒ | ƒ } }  |  j |  j | ƒ | ƒ }! }" |	 | | ?} |	 | | ?} xt |	 ƒ | k r|
 | | ?}
 |	 |
 | ?}	 | | | | | |  |! |" | ?}# | | | | | |" |! |  | ?}$ | | |! | | |  | |" | ?}% | | |! | | |" | |  | ?}& |# } |$ } |% } |& }! | |	 | | ?7} | |	 | | ?7} qüWd | >| d >} | d >} |  j | | ƒ } |  j | | ƒ } |  j | | ƒ } | S|  j | } |  j |  j | ƒ | ƒ } |  j |  j | ƒ | ƒ } | | | | | ?} | | | d ?} | } } | } } |  j } | |  _ |  j d | ƒ \ } } | |  _ |  j |  j | ƒ | ƒ } } |  j |  j | ƒ | ƒ } } |  j |  j | ƒ | ƒ } }  |  j |  j | ƒ | ƒ }! }" | | | | | ?} | | | | | ?} xZ| d | d | k r| | | | | ?| | | | | ?} } | | | | | ?| | | | | ?} } | | | | | |  |! |" | ?}# | | | | | |" |! |  | ?}$ | | |! | | |  | |" | ?}% | | |! | | |" | |  | ?}& |# } |$ } |% } |& }! | | | | | | ?7} | | | | | | ?7} q¸	Wd | >| d >} | d >} |  j | | ƒ } |  j | | ƒ } |  j | | ƒ } | Sd  S(   Ni
   i   i   i   i    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   R5   R6   R7   R8   (    (    s5   lib/python2.7/site-packages/mpmath/functions/theta.pyt   _jacobi_theta3¡  s<   


 
(-

(-

			&&&&


			&&&&
c   )      C   sy  d } d } d } |  j  | ƒ rÙ|  j  | ƒ rÙd } |  j | } |  j |  j | ƒ | ƒ }	 |	 }
 } |	 |	 | ?} |  j |  j | ƒ d d | ƒ\ } } |  j | | ƒ } |  j | | ƒ } | } | } | d @rï | |
 | | ?7} n | |
 | | ?7} d } xª t |
 ƒ | k r³| | | ?} |
 | | ?}
 | | | | | ?| | | | | ?} } | d @rŒ| |
 | | | | ?7} n | |
 | | | | ?7} | d 7} q
W| | d >} |  j | | ƒ } nn	|  j  | ƒ sˆ|  j | } |  j |  j | ƒ | ƒ } |  j |  j  | ƒ | ƒ } | | | | | ?} | | | d ?} | } } | } } |  j |  j | ƒ d d | ƒ\ } } |  j | | ƒ } |  j | | ƒ } | } | } | d @rè| | | ?} | | | ?} n | | | ?} | | | ?} d } x"| d | d | k r.| | | | | ?| | | | | ?} } | | | | | ?| | | | | ?} } | | | | | ?| | | | | ?} } | d @rí| | | | | | ?7} | | | | | | ?7} n4 | | | | | | ?7} | | | | | | ?7} | d 7} qW| | d >} | | d >} |  j | | ƒ } |  j | | ƒ } |  j | | ƒ } n¿|  j  | ƒ s|  j | } |  j |  j | ƒ | ƒ }	 |	 }
 } |	 |	 | ?} |  j } | |  _ |  j d | ƒ \ } } | |  _ |  j |  j | ƒ | ƒ } } |  j |  j  | ƒ | ƒ } }  |  j |  j | ƒ | ƒ }! }" |  j |  j  | ƒ | ƒ }# }$ | d @r°|
 |! | ?} |
 |# | ?} n |
 | | ?} |
 | | ?} d } xat |
 ƒ | k r5| | | ?} |
 | | ?}
 | | | |  |! |" |# |$ | ?}% | |  | | |! |$ |# |" | ?}& |! | |# |  | |" | |$ | ?}' |! |  |# | | |$ | |" | ?}( |% } |& } |' }! |( }# | d @rô| |
 |! | | | ?7} | |
 |# | | | ?7} n4 | |
 | | | | ?7} | |
 | | | | ?7} | d 7} qÕW| | d >} | | d >} |  j | | ƒ } |  j | | ƒ } |  j | | ƒ } n¸|  j | } |  j |  j | ƒ | ƒ } |  j |  j  | ƒ | ƒ } | | | | | ?} | | | d ?} | } } | } } |  j } | |  _ |  j d | ƒ \ } } | |  _ |  j |  j | ƒ | ƒ } } |  j |  j  | ƒ | ƒ } }  |  j |  j | ƒ | ƒ }! }" |  j |  j  | ƒ | ƒ }# }$ | d @r÷| |! | |# | ?} | |! | |# | ?} n, | | | | | ?} | | | | | ?} d } xÅ| d | d | k rð
| | | | | ?| | | | | ?} } | | | | | ?| | | | | ?} } | | | |  |! |" |# |$ | ?}% | |  | | |! |$ |# |" | ?}& |! | |# |  | |" | |$ | ?}' |! |  |# | | |$ | |" | ?}( |% } |& } |' }! |( }# | d @rŸ
| | |! | |# | | | ?7} | | |! | |# | | | ?7} nD | | | | | | | | ?7} | | | | | | | | ?7} | d 7} q,	W| | d >} | | d >} |  j | | ƒ } |  j | | ƒ } |  j | | ƒ } | d @rad | d | Sd d | d | Sd S(	   s2   nd=1,2,3 order of the derivative with respect to zi   i
   i   i    R   i   iÿÿÿÿN(   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%   R9   R   R   R   R   R   R   R   R   R    R!   R(   R)   R*   R+   R,   R-   R.   R/   R0   R5   R6   R7   R8   (    (    s5   lib/python2.7/site-packages/mpmath/functions/theta.pyt   _djacobi_theta3I  s2    
(
-


(
-

			
&&&&


			
&&&&
"%""
c         C   sy  t  |  j | ƒ |  j |  j | ƒ ƒ d d ƒ } } |  j d | ƒ } |  j d | d | ƒ } } | | | | } | | }	 |	 }
 |  j t |	 ƒ } xN | d 7} | | } | | | | | }	 t |	 ƒ | k  rá Pn  |
 |	 7}
 q¡ W| } |  j d | ƒ } | } xN | d 8} | | } | | | | | }	 t |	 ƒ | k  rQPn  |
 |	 7}
 qW|
 |  j | d ƒ }
 |
 S(   su  
    case ctx._im(z) != 0
    theta(2, z, q) =
    q**1/4 * Sum(q**(n*n + n) * exp(j*(2*n + 1)*z), n=-inf, inf)
    max term for minimum (2*n+1)*log(q).real - 2* ctx._im(z)
    n0 = int(ctx._im(z)/log(q).real - 1/2)
    theta(2, z, q) =
    q**1/4 * Sum(q**(n*n + n) * exp(j*(2*n + 1)*z), n=n0, inf) +
    q**1/4 * Sum(q**(n*n + n) * exp(j*(2*n + 1)*z), n, n0-1, -inf)
    i   i   iþÿÿÿi   (   t   intR   R   t   logt   expjt   epsR   R   (   R   R   R   R9   t   n0t   e2t   et   e0R   t   termR   t   eps1(    (    s5   lib/python2.7/site-packages/mpmath/functions/theta.pyt   _jacobi_theta2aô  s4    7




c         C   sJ  t  |  j | ƒ t |  j |  j | ƒ ƒ ƒ ƒ } } |  j d | ƒ } |  j d | | ƒ } } | | | | } }	 |  j t |	 ƒ }
 xJ | d 7} | | } | | | | }	 t |	 ƒ |
 k  rÌ Pn  | |	 7} q W| } |  j d | ƒ } | } xJ | d 8} | | } | | | | }	 t |	 ƒ |
 k  r8Pn  | |	 7} qü W| S(   s¾   
    case ctx._im(z) != 0
    theta3(z, q) = Sum(q**(n*n) * exp(j*2*n*z), n, -inf, inf)
    max term for n*abs(log(q).real) + ctx._im(z) ~= 0
    n0 = int(- ctx._im(z)/abs(log(q).real))
    i   i   iþÿÿÿ(   RA   R   R   R   RB   RC   RD   (   R   R   R   R9   RE   RF   RG   RH   R   RI   RJ   (    (    s5   lib/python2.7/site-packages/mpmath/functions/theta.pyt   _jacobi_theta3a  s.    6



c         C   s®  t  |  j | ƒ |  j |  j | ƒ ƒ d d ƒ } } |  j d | ƒ } |  j d | d | ƒ } } | | | | }	 d | d | |	 | }
 |
 } |  j t |
 ƒ } x^ | d 7} | | } d | d | | | | | | }
 t |
 ƒ | k  rPn  | |
 7} q± W| } |  j d | ƒ } | } x^ | d 8} | | } d | d | | | | | | }
 t |
 ƒ | k  rPn  | |
 7} q1W|  j | | |  j | d ƒ S(   sê   
    case ctx._im(z) != 0
    dtheta(2, z, q, nd) =
    j* q**1/4 * Sum(q**(n*n + n) * (2*n+1)*exp(j*(2*n + 1)*z), n=-inf, inf)
    max term for (2*n0+1)*log(q).real - 2* ctx._im(z) ~= 0
    n0 = int(ctx._im(z)/log(q).real - 1/2)
    i   i   iþÿÿÿi   (	   RA   R   R   RB   RC   RD   R   t   jR   (   R   R   R   R=   R9   RE   RF   RG   RH   R   RI   R   RJ   (    (    s5   lib/python2.7/site-packages/mpmath/functions/theta.pyt   _djacobi_theta2a<  s2    	7

&

&c         C   sç  t  |  j | ƒ t |  j |  j | ƒ ƒ ƒ ƒ } } |  j d | ƒ } |  j d | | ƒ } } | | | | }	 | | |	 }
 } | d k rª |  j t | ƒ } n |  j t |	 ƒ } xy | d 7} | | } | | | | }	 | | |	 } | d k rt | ƒ } n t |	 ƒ } | | k  r+Pn  |
 | 7}
 qÀ W| } |  j d | ƒ } | } xy | d 8} | | } | | | | }	 | | |	 } | d k rªt | ƒ } n t |	 ƒ } | | k  rÆPn  |
 | 7}
 q[Wd |  j | |
 S(   sµ   
    case ctx._im(z) != 0
    djtheta3(z, q, nd) = (2*j)**nd *
      Sum(q**(n*n) * n**nd * exp(j*2*n*z), n, -inf, inf)
    max term for minimum n*abs(log(q).real) + ctx._im(z)
    i   i    i   iþÿÿÿ(   RA   R   R   R   RB   RC   RD   RM   (   R   R   R   R=   R9   RE   RF   RG   RH   R   R   RI   RJ   t   aterm(    (    s5   lib/python2.7/site-packages/mpmath/functions/theta.pyt   _djacobi_theta3a`  sD    6



i    c         C   sÝ  | r |  j  | | | | ƒ S|  j | ƒ } |  j | ƒ } t | ƒ |  j k re t d |  j ƒ ‚ n  d } | r¾ |  j | ƒ } | d k s¤ | d k r¾ | d k  r¾ | d t | ƒ 7} q¾ n  d } d } |  j }	 zù|  j | 7_ | d k rµ|  j | ƒ r•t |  j | ƒ ƒ | t |  j |  j	 | ƒ ƒ ƒ k  rf|  j
 | 7_
 |  j | |  j d | ƒ }
 q²|  j
 d 7_
 |  j | |  j d | ƒ }
 qË|  j | |  j d | ƒ }
 n| d k rd|  j | ƒ rOt |  j | ƒ ƒ | t |  j |  j	 | ƒ ƒ ƒ k  r+|  j
 | 7_
 |  j | | ƒ }
 qa|  j
 d 7_
 |  j | | ƒ }
 qË|  j | | ƒ }
 ng| d	 k r|  j | ƒ rþt |  j | ƒ ƒ | t |  j |  j	 | ƒ ƒ ƒ k  rÚ|  j
 | 7_
 |  j | | ƒ }
 q|  j
 d 7_
 |  j | | ƒ }
 qË|  j | | ƒ }
 n¸ | d
 k rÅ|  j | ƒ r¯t |  j | ƒ ƒ | t |  j |  j	 | ƒ ƒ ƒ k  rŠ|  j
 | 7_
 |  j | | ƒ }
 qÂ|  j
 d 7_
 |  j | | ƒ }
 qË|  j | | ƒ }
 n t ‚ Wd  |	 |  _ X|
 S(   Ns   abs(q) > THETA_Q_LIM = %fi
   i   i   iûÿÿÿi   g      à?i2   i   i   (   t   _djthetat   convertR   t   THETA_Q_LIMt
   ValueErrort   magR   R   R   RB   t   dpsR<   t   piRK   R?   RL   (   R   R9   R   R   t
   derivativet   extrat   Mt   czR   R(   t   res(    (    s5   lib/python2.7/site-packages/mpmath/functions/theta.pyt   jthetaŽ  sf    $	7   777

c         C   s  |  j  | ƒ } |  j  | ƒ } t | ƒ } t | ƒ |  j k rU t d |  j ƒ ‚ n  d |  j | d } | r½ |  j | ƒ } | d k s£ | d k r½ | d k  r½ | d t | ƒ 7} q½ n  d } d }	 |  j }
 z|  j | 7_ | d k r½|  j | ƒ ršt |  j | ƒ ƒ | t |  j |  j	 | ƒ ƒ ƒ k  rh|  j
 |	 7_
 |  j | |  j d | | ƒ } qº|  j
 d 7_
 |  j | |  j d | | ƒ } qî|  j | |  j d | | ƒ } n1| d k ru|  j | ƒ r]t |  j | ƒ ƒ | t |  j |  j	 | ƒ ƒ ƒ k  r6|  j
 |	 7_
 |  j | | | ƒ } qr|  j
 d 7_
 |  j | | | ƒ } qî|  j | | | ƒ } ny| d	 k r-|  j | ƒ rt |  j | ƒ ƒ | t |  j |  j	 | ƒ ƒ ƒ k  rî|  j
 |	 7_
 |  j | | | ƒ } q*|  j
 d 7_
 |  j | | | ƒ } qî|  j | | | ƒ } nÁ | d
 k rè|  j | ƒ rÏt |  j | ƒ ƒ | t |  j |  j	 | ƒ ƒ ƒ k  r§|  j
 |	 7_
 |  j | | | ƒ } qå|  j
 d 7_
 |  j | | | ƒ } qî|  j | | | ƒ } n t ‚ Wd  |
 |  _ X| 
S(   Ns   abs(q) > THETA_Q_LIM = %fi
   i   i   iûÿÿÿi   g      à?i2   i   i   (   RR   RA   R   RS   RT   R   RU   R   R   RB   RV   R>   RW   RN   R@   RP   (   R   R9   R   R   RX   R=   RY   RZ   R[   R   R(   R\   (    (    s5   lib/python2.7/site-packages/mpmath/functions/theta.pyRQ   Û  sd    $	7###777

N(   t	   functionsR    R   R<   R>   R?   R@   RK   RL   RN   RP   R]   RQ   (    (    (    s5   lib/python2.7/site-packages/mpmath/functions/theta.pyt   <module>   s   ÕÉ¨«( $.L