ó
    „ñ:i%  ã                   óZ  • S r SSKJr  \" SSS9S 5       rS r\" 5       rS 4S	 jr\" SS9S
 5       r\" SS9S 5       r\" SS9S 5       r	\" SS9S 5       r
\" SS9S 5       rS 4S jr\" SS9S 5       r\" SS9S 5       rS 4S jrS 4S jrS 4S jrS 4S jrS 4S jrS 4S jrg) zh
Usecases of recursive functions.

Some functions are compiled at import time, hence a separate module.
é    ©Újitúi8(i8)T©Únopythonc                 óH   • U S:  a  U $ [        U S-
  5      [        U S-
  S9-   $ ©Né   é   ©Ún)Úfib1r   s    Úa/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/tests/recursion_usecases.pyr   r   
   s)   € àˆ1ƒuØˆä��A‘‹;œ  A¡™Ñ&Ð&ó    c                  ó.   ^ • [        SSS9U 4S j5       m T $ )Nr   Tr   c                 ó>   >• U S:  a  U $ T" U S-
  5      T" U S-
  S9-   $ r	   © )r   Úfib2s    €r   r   Úmake_fib2.<locals>.fib2   s*   ø€ àˆq‹5ØˆHÙ�A˜‘E‹{™T A¨¡E™]Ñ*Ð*r   r   )r   s   @r   Ú	make_fib2r      s#   ø€ Üˆ˜DÑ!ô+ó "ð+ð
 €Kr   c                 ó   • U $ ©Nr   ©Úxs    r   Ú<lambda>r      s   € ©r   c                 ó   ^• U U4S j5       mT$ )Nc                 ó<   >• U S:”  a  US:”  a  U T" X-
  U5      -   $ U$ ©Nr   r   r   )r   ÚyÚtype_change_selfs     €r   r    Ú/make_type_change_self.<locals>.type_change_self   s*   ø€ àˆq‹5�Q˜“UØÑ'¨©¨qÓ1Ñ1Ð1àˆHr   r   )r   r    s    @r   Úmake_type_change_selfr"      s   ø€ Øôó 	ðð
 Ðr   c                 óL   • U S:  a  U $ [        U S-
  5      [        U S-
  5      -   $ ©Nr
   r   )Úfib3r   s    r   r%   r%   )   s)   € àˆ1ƒuØˆÜ��A‘‹;œ˜a !™e›Ñ$Ð$r   c                 ó   • [        U 5      $ r   )Úrunaway_selfr   s    r   r'   r'   1   s   € ä˜‹?Ðr   c                 óN   • U S:X  a  [        S5      eU S:”  a  [        U S-
  5      $ g)Nr   Ú
raise_selfr   )Ú
ValueErrorr)   r   s    r   r)   r)   6   s-   € àˆAƒvÜ˜Ó&Ð&Ø	
ˆQ‹Ü˜!˜a™%Ó Ð àr   c                 ó2   • U S:  a  gU [        U S-
  5      -  $ ©Nr   )Ú	inner_facr   s    r   Ú	outer_facr.   A   ó    € àˆ1ƒuØØŒy˜˜Q™ÓÑÐr   c                 ó2   • U S:  a  gU [        U S-
  5      -  $ r,   )r.   r   s    r   r-   r-   H   r/   r   c                 ó   • U $ r   r   r   s    r   r   r   P   s   € ™qr   c                 ó:   ^^• U U4S j5       mU U4S j5       mTT4$ )Nc                 ó.   >• U S:”  a
  ST" SU S9-  $ SU -   $ )Nr   r
   r   )Úzr   r   )r   Úbars    €r   ÚfooÚmake_mutual2.<locals>.fooQ   s$   ø€ àˆq‹5Ø‘s˜Q !‘}Ñ$Ð$Ø�1‰uˆr   c                 ó   >• T" X-
  S9$ )Nr   r   )r   r4   r6   s     €r   r5   Úmake_mutual2.<locals>.barW   s   ø€ á�Q‘U‰|Ðr   r   ©r   r5   r6   s    @@r   Úmake_mutual2r;   P   s4   ù€ Øôó 	ðð
 	ôó 	ðð �ˆ8€Or   c                 ó   • [        U 5      $ r   )Úrunaway_mutual_innerr   s    r   Úrunaway_mutualr>   `   s   € ä Ó"Ð"r   c                 ó   • [        U 5      $ r   )r>   r   s    r   r=   r=   e   s   € ä˜!ÓÐr   c                 ó   • U $ r   r   r   s    r   r   r   l   ó   € ©!r   c                 ó6   ^^• U U4S j5       mU U4S j5       mT$ )Nc                 ó<   >• U S:”  a  US:”  a  U T" X-
  U5      -   $ U$ r   r   )r   r   r5   s     €r   r6   Ú$make_type_change_mutual.<locals>.foom   s*   ø€ àˆq‹5�Q˜“Uð ‘s˜1™5 !“}Ñ$Ð$àˆHr   c                 ó<   >• U S:”  a  US:”  a  U T" X-
  U5      -   $ U$ r   r   )r   r   r6   s     €r   r5   Ú$make_type_change_mutual.<locals>.barw   s(   ø€ àˆq‹5�Q˜“UØ‘s˜1™5 !“}Ñ$Ð$àˆHr   r   r:   s    @@r   Úmake_type_change_mutualrG   l   s0   ù€ Øôó 	ðð 	ôó 	ðð €Jr   c                 ó   • U $ r   r   r   s    r   r   r   ‚   s   € ¡!r   c                 óf   ^^^^• U U4S j5       mU U4S j5       mU U4S j5       mU U4S j5       mT$ )Nc                 ó(   >• U S:”  a  T" U 5      S-  $ g)Nr   r
   r   r   )r   Úseconds    €r   ÚfirstÚmake_four_level.<locals>.firstƒ   s   ø€ ð ˆq‹5Ù˜!“9˜q‘=Ð àr   c                 ó   >• T" U 5      S-  $ )Né   r   )r   Úthirds    €r   rK   Úmake_four_level.<locals>.second‹   s   ø€ á�Q‹x˜!‰|Ðr   c                 ó   >• T" U 5      S-  $ )Né   r   )r   Úfourths    €r   rP   Úmake_four_level.<locals>.third�   s   ø€ á�a‹y˜1‰}Ðr   c                 ó    >• T" U S-  S-
  5      $ r$   r   )r   rL   s    €r   rT   Úmake_four_level.<locals>.fourth“   s   ø€ á�Q˜‘U˜Q‘YÓÐr   r   )r   rL   rT   rK   rP   s    @@@@r   Úmake_four_levelrX   ‚   sX   û€ Øôó 	ðð 	ôó 	ðð 	ôó 	ðð 	ô ó 	ð ð €Lr   c                 ó   • U $ r   r   r   s    r   r   r   š   s   € ¡1r   c                 óJ   ^^^• U U4S j5       mU UU4S j5       mU S 5       mT$ )Nc                 ó"   >• U S:”  a  T" U 5      $ g©Nr   r   r   ©r   Úinners    €r   ÚouterÚmake_inner_error.<locals>.outer›   s   ø€ àˆq‹5Ù˜“8ˆOð r   c                 ó6   >• U S:”  a  T" U S-
  5      $ T" U 5      $ r\   r   )r   Ú	error_funr_   s    €€r   r^   Úmake_inner_error.<locals>.inner£   s$   ø€ àˆq‹5Ù˜˜Q™“<Ðñ ˜Q“<Ðr   c                 ó   • U R                   $ r   )Úndimr   s    r   rb   Ú#make_inner_error.<locals>.error_fun«   s   € ð �v‰vˆr   r   )r   rb   r^   r_   s    @@@r   Úmake_inner_errorrg   š   sD   ú€ Øôó 	ðð 	õ ó 	ð ð 	ñó 	ðð €Lr   c                 ó   • U $ r   r   r   s    r   r   r   ³   s   € ¡Ar   c                 ó6   ^^• U U4S j5       mU U4S j5       mT$ )Nc                 ó"   >• U S:”  a  T" U 5      $ gr\   r   r]   s    €r   r_   Ú make_raise_mutual.<locals>.outer´   s   ø€ àˆq‹5Ù˜“8ˆOàr   c                 óJ   >• U S:X  a  [        S5      eU S:”  a  T" U S-
  5      $ g)Nr   Úraise_mutualr   )r*   )r   r_   s    €r   r^   Ú make_raise_mutual.<locals>.inner»   s-   ø€ à�‹6Ü˜^Ó,Ð,Ø�‹UÙ˜˜Q™“<Ðàr   r   )r   r^   r_   s    @@r   Úmake_raise_mutualro   ³   s0   ù€ Øôó 	ðð 	ôó 	ðð €Lr   c                 ó   • U $ r   r   r   s    r   r   r   Ç   s   € ©Ar   c                 ó2   ^^• U S 5       mU UU4S j5       mT$ )Nc                 ó   • U S:”  a  U S-
  $ g )Né   r   r   r   s    r   r6   Ú&make_optional_return_case.<locals>.fooÈ   s   € àˆq‹5Ø�q‘5ˆLàr   c                 óD   >• T" U 5      nUc  U$ US:  a  U$ U T" U5      -  $ )Né   r   )r   Úoutr5   r6   s     €€r   r5   Ú&make_optional_return_case.<locals>.barÏ   s0   ø€ á�!‹fˆØ‰;ØˆJØ�1‹WØˆJà‘s˜3“x‘<Ðr   r   r:   s    @@r   Úmake_optional_return_casery   Ç   s0   ù€ Øñó 	ðð 	õ ó 	ð ð €Jr   c                 ó   • U $ r   r   r   s    r   r   r   Ü   rA   r   c                 ó   ^• U U4S j5       mT$ )Nc                 ó,   >• U S::  a  g U T" U S-
  5      4$ r\   r   )r   Ú	make_lists    €r   r}   Ú*make_growing_tuple_case.<locals>.make_listÞ   s!   ø€ à�‹6Øà‘9˜Q ™UÓ#Ð$Ð$r   r   )r   r}   s    @r   Úmake_growing_tuple_caser   Ü   s   ø€ àô%ó 	ð%ð
 Ðr   N)Ú__doc__Únumbar   r   r   r   r"   r%   r'   r)   r.   r-   r;   r>   r=   rG   rX   rg   ro   ry   r   r   r   r   Ú<module>r‚      s7  ðñõ ñ €X˜Ññ'ó ð'òñ ƒ{€ñ *ô ñ ˆdÑñ%ó ð%ñ ˆdÑñó ðñ ˆdÑñó ðñ ˆdÑñ ó ð ñ ˆdÑñ ó ð ñ !ô ñ  ˆdÑñ#ó ð#ñ ˆdÑñó ðñ !,ô ñ, $ô ñ0 %ô ñ2 &ô ñ( #.ô ñ* !,õ r   