
    sh                     n    S SK r S SKJr  S SKJrJr  S SKJr  S SK	J
r
  S SKJrJrJrJrJr  S SKJr  S rg)	    N)GoldenRatio)Rationalpi)S)sqrt)continued_fraction_periodiccontinued_fraction_iteratorcontinued_fraction_convergentscontinued_fraction_reducecontinued_fraction)raisesc                     [        SSSS5      [        SSSS5      :X  d   e[        SSSS5      [        SSSS5      :X  d   e[        S5      n [        SU -   SU -
  -  5      [        S5      :X  d   eSS[        SS5      [        S5      S[        S5      -  SS[        S5      -  S-  -   SS[        S5      -  -
  S-  S[        S5      -   S	[        S
5      -   S-  4	 HZ  n[	        [        U5      5      U-
  R                  5       S:X  d   e[	        [        U* 5      5      U-   R                  5       S:X  a  MZ   e   [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        SSS5      SS/:X  d   e[        SSS5      SS/ SQ/:X  d   e[        SSS5      S/:X  d   e[        SSS5      / SQ:X  d   e[        SSS5      / SQ:X  d   e[        SSS5      / SQ:X  d   e[        SSS5      / SQ:X  d   e[        SSS5      / SQ:X  d   e[        SSS5      / SQ:X  d   e[        SSS5      S//:X  d   e[        SSS5      SS//:X  d   e[        SSS 5      / S!Q:X  d   e[        S"S#S5      / S$Q:X  d   e[        S%S&5      / S'Q:X  d   e[        S(S)5      / S*Q:X  d   e[        S+S,5      / S-Q:X  d   eSIS. jnU" [        [        5      5      / S/Q:X  d   eU" [        [        5      5      / S0Q:X  d   e[        [        [        S
S15      5      5      / S2Q:X  d   e[        [        [        S3S15      5      5      / S4Q:X  d   e[        [        / S5Q5      5      [        R                  [        SS5      [        S6S5      [        S7S85      /:X  d   e[        [        S/5      5      [        S5      /:X  d   e[        [        / S/Q5      5      [        R                  [        S5      [        SS5      [        SS5      [        S6S5      [        SS65      [        S9S5      /:X  d   e[        [        SS[        SS5      S/5      5      [        R                  [        SS5      [        SS5      [        SS5      /:X  d   eU" [        S//5      5      [        R                  [        S5      [        SS5      [        SS5      [        S6S5      [        SS65      [        S9S5      /:X  d   eU" [        SSS//5      5      [        R                  [        S5      [        SS5      [        SS5      [        SS5      [        S:S;5      [        S7S<5      /:X  d   eS= [        R                   " S5       5       nU" [        U5      5      [        S5      [        S5      [        S6S5      [        SS5      [        SS5      [        S>S5      [        S?S@5      /:X  d   e[	        / S5Q5      [        S7S85      :X  d   e[	        S/5      [        S5      :X  d   e[	        / SAQ5      [        SBSC5      :X  d   e[	        SSSSSDS6//5      [        S5      S-   S-  -
  R                  5       S:X  d   e[	        / SEQ5      [        SFSG5      :X  d   e[	        S//5      [        S5      S-   S-  -
  R                  5       S:X  d   e[	        SHSSS//5      S[        S5      -
  :X  d   eg )JN   
   r                     c                  B    [        [        S[        S5      -   5      5      $ Nr   r   cfr        /Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/sympy/ntheory/tests/test_continued_fraction.py<lambda>)test_continued_fraction.<locals>.<lambda>   s    r$q47{"34r   c                  B    [        [        S5      [        S5      -   5      $ r   r   r   r   r   r    r!      s    r$q'DG"34r   c                       [        [        5      $ N)r   r   r   r   r   r    r!      s    r"vr   c                      [        S5      $ )Ng?)r   r   r   r   r    r!      s    r"vr   c                      [        SSS5      $ )Nr   r   cf_pr   r   r   r    r!      s    tAq!}r   c                      [        SSS5      $ )Nr   r   r'   r   r   r   r    r!      s    tAq"~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   1   )r   r   r+   i  ik  )r   r   r   r   r   i  i'  )r   r   r*   r   r-   i  i
  )r   r   r      r   i  i	
  )	r   r   r   r   r   r   r   r      c                 @    [        [        R                  " X5      5      $ r$   )list	itertoolsislice)iteratorns     r   take%test_continued_fraction.<locals>.take0   s    I$$X122r   )r   r   r   r   r   r   r   )r   r      r   i$  r   r   r*   )r   r   r   r   i)r   r   r   r   )r   r+   r      r?   G   >      r3   r=   )   c              3   V   #    U  H  oS :X  a  SOUS-  S:X  a  US-  S-  OS v   M!     g7f)r   r   r   r   Nr   ).0is     r   	<genexpr>*test_continued_fraction.<locals>.<genexpr>C   s/     ^K]a1fA
!q&1*AK]s   ')W   j   '   )r   r   r   r   i      )r   r   	   7   .   )r   )r(   r   r   r   cf_rexpandr   
ValueErrorcf_iphir   r6   cf_cr   Oner7   count)tr:   r;   	cf_iter_es       r   test_continued_fractionr\      s   1b!Q1a 00002r1b!R!4444QAq1uq1uo"R&(((HQNDGQtAwYAd1gIaK47]Aq47{R$r(]A,=?RUa'')Q...RVq ((*a///? :45
:45
:~&
:~&
:,-
:-.1a=QF"""1a=Q#677771a=QC1a=I%%%1a=I%%%1a=I%%%B?l***B?l***B?o---1a=aSE!!!1a=QH$$$1b>Y&&&dA/111e 1111d////d;;;;3 S	?3333R>5555Xb"%&'<777Xc2&'(,<<<<\"#x1~x1~xXZ\^O_'````aS	?qtf$$$*+,!hq!nhWXZ[n19!Q"aRZ[]_aRb1d d d daHROQ/01aeeXa^XVWYZ^]efgij]k5llllqcU!hq!nhq!nhWXZ[n!)"a(2r2B!D D D Da!Q[!"quuadHQNHQPQNT\]_acTd$,R$4hr26F'H H H H _9??[\K]^IY QqT1Q4!Q"aRZ[]_`Ra%-b"%5xR7H%J J J J "b!11119!(3"3333!Q1r1g&'47Q;/9AACqHHH	?hr2....1#K47Q;/)113q888QA3 BaL000r   )r7   
sympy.corer   rV   sympy.core.numbersr   r   sympy.core.singletonr   (sympy.functions.elementary.miscellaneousr    sympy.ntheory.continued_fractionr   r(   r	   rU   r
   rW   r   rR   r   r   sympy.testing.pytestr   r\   r   r   r   <module>rc      s(     ) - " 9  (>1r   