
    Qi                     p    d dl Z d dlmZ d dlmZmZ d dlmZ d dl	m
Z
 d dlmZmZmZmZmZ d dlmZ d ZdS )	    N)GoldenRatio)Rationalpi)S)sqrt)continued_fraction_periodiccontinued_fraction_iteratorcontinued_fraction_convergentscontinued_fraction_reducecontinued_fraction)raisesc                  n   t          dddd          t          dddd          k    sJ t          dddd          t          dddd          k    sJ t          d          } t          d| z   d| z
  z            t          d          k    sJ ddt          dd          t          d          dt          d          z  ddt          d          z  dz  z   ddt          d          z  z
  dz  dt          d          z   d	t          d
          z   dz  f	D ]q}t	          t          |                    |z
                                  dk    sJ t	          t          |                     |z                                   dk    sJ rt          t          d            t          t          d            t          t          d            t          t          d            t          t          d            t          t          d            t          ddd          ddgk    sJ t          ddd          ddg dgk    sJ t          ddd          dgk    sJ t          ddd          g dk    sJ t          ddd          g dk    sJ t          ddd          g dk    sJ t          ddd          g dk    sJ t          ddd          g dk    sJ t          ddd          g dk    sJ t          ddd          dggk    sJ t          ddd          ddggk    sJ t          ddd           g d!k    sJ t          d"d#d          g d$k    sJ t          d%d&          g d'k    sJ t          d(d)          g d*k    sJ t          d+d,          g d-k    sJ dId.} |t          t                              g d/k    sJ  |t          t                              g d0k    sJ t          t          t          d
d1                              g d2k    sJ t          t          t          d3d1                              g d4k    sJ t          t          g d5                    t          j        t          dd          t          d6d          t          d7d8          gk    sJ t          t          dg                    t          d          gk    sJ t          t          g d/                    t          j        t          d          t          dd          t          dd          t          d6d          t          dd6          t          d9d          gk    sJ t          t          ddt          dd          dg                    t          j        t          dd          t          dd          t          dd          gk    sJ  |t          dgg                    t          j        t          d          t          dd          t          dd          t          d6d          t          dd6          t          d9d          gk    sJ  |t          dddgg                    t          j        t          d          t          dd          t          dd          t          dd          t          d:d;          t          d7d<          gk    sJ d= t          j        d          D             } |t          |                    t          d          t          d          t          d6d          t          dd          t          dd          t          d>d          t          d?d@          gk    sJ t	          g d5          t          d7d8          k    sJ t	          dg          t          d          k    sJ t	          g dA          t          dBdC          k    sJ t	          dddddDd6gg          t          d          dz   dz  z
                                  dk    sJ t	          g dE          t          dFdG          k    sJ t	          dgg          t          d          dz   dz  z
                                  dk    sJ t	          dHdddgg          dt          d          z
  k    sJ d S )JN   
   r                     c                  Z    t          t          dt          d          z                       S Nr   r   cfr        /var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/sympy/ntheory/tests/test_continued_fraction.py<lambda>z)test_continued_fraction.<locals>.<lambda>   s     r$q477{"3"344 r   c                  Z    t          t          d          t          d          z             S r   r   r   r   r   r    z)test_continued_fraction.<locals>.<lambda>   s    r$q''DGG"344 r   c                  *    t          t                    S N)r   r   r   r   r   r    z)test_continued_fraction.<locals>.<lambda>   s    r"vv r   c                       t          d          S )Ng?)r   r   r   r   r    z)test_continued_fraction.<locals>.<lambda>   s    r"vv r   c                  $    t          ddd          S )Nr   r   cf_pr   r   r   r    z)test_continued_fraction.<locals>.<lambda>   s    tAq!}} r   c                  $    t          ddd          S )Nr   r   r&   r   r   r   r    z)test_continued_fraction.<locals>.<lambda>   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                 F    t          t          j        | |                    S r#   )list	itertoolsislice)iteratorns     r   takez%test_continued_fraction.<locals>.take0   s    I$Xq112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   >      r2   r;   )   c              3   L   K   | ]}|d k    rdn|dz  dk    r|dz  dz  nd V   dS )r   r   r   r   Nr   ).0is     r   	<genexpr>z*test_continued_fraction.<locals>.<genexpr>C   sF      ^^aa1ffA

!q&1**^^^^^^r   W   j   '   )r   r   r   r   i      )r   r   	   7   .   )r   )r'   r   r   r   cf_rexpandr   
ValueErrorcf_iphir   r5   cf_cr   Oner6   count)tr9   r:   	cf_iter_es       r   test_continued_fractionrY      s   1b!Q1a 0 000002r1b!R!4!44444QAq1uq1uo"R&&((((HQNNDGGQtAwwYAd1ggIaK477]Aq477{R$r((]A,=? 0 0RUUa''))Q....RVVq ((**a/////
:44555
:44555
:~~&&&
:~~&&&
:,,---
:--...1a==QF""""1a==Q#6#6#6777771a==QC1a==III%%%%1a==III%%%%1a==III%%%%B??lll****B??lll****B??ooo----1a==aSE!!!!1a==QH$$$$1b>>YYY&&&&dA///1111e 1 1 11111d///////d;;;;;;;3 3 3 3 4S		??33333334R>>5555555Xb"%%&&''<<<7777Xc2&&''((,<,<,<<<<<\\\""##x1~~x1~~xXZ\^O_O_'`````aS		??qttf$$$$***++,,!hq!nnhWXZ[nn19!Q"aRZ[]_aRbRb1d d d d daHROOQ/0011aeXa^^XVWYZ^^]efgij]k]k5lllll4qcU!hq!nnhq!nnhWXZ[nn!)"a(2r2B2B!D D D D D4a!Q[!!""quaddHQNNHQPQNNT\]_acTdTd$,R$4$4hr26F6F'H H H H H _^9?[\K]K]^^^I4Y  QqTT1Q44!Q"aRZ[]_`RaRa%-b"%5%5xR7H7H%J J J J J "b!1!1111199!(3"3"33333!Q1r1g&''477Q;/9AACCqHHHH			??hr2......1#KK477Q;/)1133q8888QA3  BaL000000r   )r6   
sympy.corer   rS   sympy.core.numbersr   r   sympy.core.singletonr   (sympy.functions.elementary.miscellaneousr    sympy.ntheory.continued_fractionr   r'   r	   rR   r
   rT   r   rO   r   r   sympy.testing.pytestr   rY   r   r   r   <module>r`      s        ) ) ) ) ) ) - - - - - - - - " " " " " " 9 9 9 9 9 9              ( ' ' ' ' '>1 >1 >1 >1 >1r   