+
    :i%                        R t ^ RIHt ]! RRR7      R 4       tR t]! 4       tR 3R lt]! RR7      R	 4       t]! RR7      R
 4       t]! RR7      R 4       t	]! RR7      R 4       t
]! RR7      R 4       tR 3R lt]! RR7      R 4       t]! RR7      R 4       tR 3R ltR 3R ltR 3R ltR 3R ltR 3R ltR 3R ltR# )zh
Usecases of recursive functions.

Some functions are compiled at import time, hence a separate module.
jiti8(i8)Tnopythonc                 h    V ^8  d   V # \        V ^,
          4      \        V ^,
          R7      ,           #    n)fib1r
   s   &\/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/tests/recursion_usecases.pyr   r   
   s)    1uA;A&&    c                  4   a  \        R RR7      V 3R l4       o S # )r   Tr   c                 ^   < V ^8  d   V # S! V ^,
          4      S! V ^,
          R7      ,           # r    )r   fib2s   &r   r   make_fib2.<locals>.fib2   s*    q5HAE{TAE]**r   r   )r   s   @r   	make_fib2r      s#    D!+ "+
 Kr   c                     V # Nr   xs   &r   <lambda>r      s    r   c                    a V V3R  l4       oS# )c                 P   < V ^8  d   V^ 8  d   V S! W,
          V4      ,           # V#    r   )r   ytype_change_selfs   &&r   r   /make_type_change_self.<locals>.type_change_self   s*    q5QU'q111Hr   r   )r   r   s   &@r   make_type_change_selfr!      s     	
 r   c                 f    V ^8  d   V # \        V ^,
          4      \        V ^,
          4      ,           # r	   )fib3r
   s   &r   r$   r$   )   s)    1uA;a!e$$r   c                     \        V 4      # r   )runaway_selfr   s   &r   r&   r&   1   s    ?r   c                 \    V ^8X  d   \        R4      hV ^ 8  d   \        V ^,
          4      # ^# )r   
raise_self)
ValueErrorr(   r   s   &r   r(   r(   6   s-    Av&&	
Q!a%  r   c                 F    V ^8  d   ^# V \        V ^,
          4      ,          # r   )	inner_facr
   s   &r   	outer_facr,   A        1uyQr   c                 F    V ^8  d   ^# V \        V ^,
          4      ,          # r   )r,   r
   s   &r   r+   r+   H   r-   r   c                     V # r   r   r   s   &r   r   r   P   s    qr   c                 :   aa V V3R  l4       oV V3R l4       oSS3# )c                 F   < V ^ 8  d   ^S! ^V R7      ,          # ^V ,           # )    )zr   r   )r   bars   &r   foomake_mutual2.<locals>.fooQ   s$    q5sQ!}$$1ur   c                 "   < S! W,
          R 7      # )r   r   )r   r3   r5   s   &&r   r4   make_mutual2.<locals>.barW   s    QU|r   r   r   r4   r5   s   &@@r   make_mutual2r:   P   s4     	
 	 	 8Or   c                     \        V 4      # r   )runaway_mutual_innerr   s   &r   runaway_mutualr=   `   s    ""r   c                     \        V 4      # r   )r=   r   s   &r   r<   r<   e   s    !r   c                     V # r   r   r   s   &r   r   r   l       !r   c                 6   aa V V3R  l4       oV V3R l4       oS# )c                 P   < V ^8  d   V^ 8  d   V S! W,
          V4      ,           # V# r   r   )r   r   r4   s   &&r   r5   $make_type_change_mutual.<locals>.foom   s*    q5QU s15!}$$Hr   c                 P   < V ^8  d   V^ 8  d   V S! W,
          V4      ,           # V# r   r   )r   r   r5   s   &&r   r4   $make_type_change_mutual.<locals>.barw   s(    q5QUs15!}$$Hr   r   r9   s   &@@r   make_type_change_mutualrF   l   s0     	 	 	 Jr   c                     V # r   r   r   s   &r   r   r      s    !r   c                 f   aaaa V V3R  l4       oV V3R l4       oV V3R l4       oV V3R l4       oS# )c                 4   < V ^ 8  d   S! V 4      ^,          # ^# r2   r   )r   seconds   &r   firstmake_four_level.<locals>.first   s     q5!9q= r   c                 "   < S! V 4      ^,          # )   r   )r   thirds   &r   rK   make_four_level.<locals>.second   s    Qx!|r   c                 "   < S! V 4      ^,          # )   r   )r   fourths   &r   rP   make_four_level.<locals>.third   s    ay1}r   c                 0   < S! V ^,          ^,
          4      # r#   r   )r   rL   s   &r   rT   make_four_level.<locals>.fourth   s    QUQYr   r   )r   rL   rT   rK   rP   s   &@@@@r   make_four_levelrX      sX     	 	 	 	 	 	  	  Lr   c                     V # r   r   r   s   &r   r   r      s    1r   c                 J   aaa V V3R  l4       oV VV3R l4       oV R 4       oS# )c                 &   < V ^ 8  d	   S! V 4      # ^# rJ   r   r   inners   &r   outermake_inner_error.<locals>.outer   s    q58O r   c                 @   < V ^ 8  d   S! V ^,
          4      # S! V 4      # rJ   r   )r   	error_funr^   s   &r   r]   make_inner_error.<locals>.inner   s$    q5Q< Q<r   c                     V P                   # r   )ndimr   s   &r   ra   #make_inner_error.<locals>.error_fun   s     vvr   r   )r   ra   r]   r^   s   &@@@r   make_inner_errorrf      sD     	 	  	  	 	 Lr   c                     V # r   r   r   s   &r   r   r      s    Ar   c                 6   aa V V3R  l4       oV V3R l4       oS# )c                 &   < V ^ 8  d	   S! V 4      # ^# rJ   r   r\   s   &r   r^    make_raise_mutual.<locals>.outer   s    q58Or   c                 X   < V ^8X  d   \        R4      hV ^ 8  d   S! V ^,
          4      # ^# )r   raise_mutual)r)   )r   r^   s   &r   r]    make_raise_mutual.<locals>.inner   s-    6^,,UQ<r   r   )r   r]   r^   s   &@@r   make_raise_mutualrn      s0     	 	 	 Lr   c                     V # r   r   r   s   &r   r   r      s    Ar   c                 2   aa V R  4       oV VV3R l4       oS# )c                 &    V ^8  d
   V ^,
          # R# )   Nr   r   s   &r   r5   &make_optional_return_case.<locals>.foo   s    q5q5Lr   c                 P   < S! V 4      pVf   V# V^8  d   V# V S! V4      ,          # r   r   )r   outr4   r5   s   & r   r4   &make_optional_return_case.<locals>.bar   s0    !f;J1WJs3x<r   r   r9   s   &@@r   make_optional_return_caserw      s0     	 	  	  Jr   c                     V # r   r   r   s   &r   r   r      r@   r   c                    a V V3R  l4       oS# )c                 8   < V ^ 8:  d   R# V S! V ^,
          4      3# )r2   Nr   )r   	make_lists   &r   r{   *make_growing_tuple_case.<locals>.make_list   s!    69Q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<   rF   rX   rf   rn   rw   r}   r   r   r   <module>r      s7    X' ' { *  d% % d  d  d    d    !   d# # d  !, , $ 0 % 2 & ( #. * !, r   