
    g                         d dl mZ ddlmZmZ ed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             ZdS )   )xrange   )defundefun_wrappedFc                      fd|D             } fd|D             }g }g }g }g }|D ]2}||g                      |                                       |           3|D ]2}||g                      |                                       |           3t          |          t          |          k     r j        S t          |          t          |          k    r\|rS fd|D             } fd|D             }                                          ||z   ||z                        j        z  S  j        S  j        }	 j        }
	 |
dz    _        |rg|	                                }|	                                }|	d||z   z   
                    d|z
            z   
                    d|z
            z  z  }	|g|D ]}|	 
                    |          z  }	|D ]}|	 
                    |          z  }		 |
 _        n# |
 _        w xY w|	
 S )Nc                 :    g | ]}                     |          S  convert.0xctxs     W/var/www/html/ai-engine/env/lib/python3.11/site-packages/mpmath/functions/factorials.py
<listcomp>zgammaprod.<locals>.<listcomp>   #    ###AQ###    c                 :    g | ]}                     |          S r	   r
   r   s     r   r   zgammaprod.<locals>.<listcomp>   r   r   c                 B    g | ]}|r|d j         z   z  p	|j         z   S r   epsr   s     r   r   zgammaprod.<locals>.<listcomp>   3    EEEa$q!CG)}1#'	EEEr   c                 B    g | ]}|r|d j         z   z  p	|j         z   S r   r   r   s     r   r   zgammaprod.<locals>.<listcomp>   r   r      r   )isnpintappendlenzerosign	gammaprodinfoneprecpopgamma)r   ab_infsign	poles_num	poles_denregular_numregular_denr   porigijs   `            r   r"   r"      sA   #######A#######AIIKKBBi(Q8??BBBBBBi(Q8??BBBB
9~~I&&sx
9~~I&&  	EEEE9EEEAEEEE9EEEA88CMM!K-+FFGG#'QQ7N 	A8D	"9 	?AA"!syy1~~-		!A#>>A  	? //Aa399Q<</aa//Aa399Q<</aa/42Is   B-G8 8	Hc                 T   |                      |          }|                      |          }|                     |          r||}}|                     |          r|| j        k    r|                     |          sq|| j        k    r| j        S |dk    r| j        S |                     |          r| j        S |dk     r0|                     | 	                    |                    | j        z  S | j        S | 
                    ||d| j        z            }|                     ||g|g          S )N    r   r%   )r   isinfr#   _imninfnanr    isintr!   r'   faddr%   r"   )r   r   yxys       r   betar>   )   s   AAAA
yy|| !1
yy|| 
<<

<CH}}w1uuxyy|| w1uuxx		!--77w	!QQsxZ	(	(B==!Q"&&&r   c                     |                      |dd| j        z            }|                      |dd| j        z            }|                     ||d| j        z            }|                     |g||g          S Nr   r   r5   r;   r%   fsubr"   )r   nkn1k1nk1s         r   binomialrH   =   ss    	!QQsxZ	(	(B	!QQsxZ	(	(B
((2qqz(
*
*C=="Cy)))r   c                 r    |                      ||d| j        z            }|                     |g|g          S )Nr   r5   )r;   r%   r"   )r   r   rC   xns       r   rfrK   D   s7    	!QQsxZ	(	(B=="s###r   c                     |                      |dd| j        z            }|                      |                     ||d| j        z            dd| j        z            }|                     |g|g          S r@   rA   )r   r   rC   x1xn1s        r   ffrO   I   sl    	!QQsxZ	(	(B
((388Aqqz822AAchJ(
G
GC=="u%%%r   c                     |                      |          r|| j        k    r|S | j        S d|dz  z  | j        dz  |                     |          dz
  dz  z  z  |                     |dz  dz             z  S )Nr   r      )r6   r#   r9   picospir'   )r   r   s     r   fac2rT   O   su    
yy|| <<Hwqs8SVAX#))A,,q.!!344SYYqs1u5E5EEEr   c                 B   |                      |          r|| j        k    r|S | j        S |                     |          r|S |                     |          sF|                     |          dk    r-|                     |                     |                    r|dz  S t          |          dk    r4| xj        d| 	                    t          |          d          z  z  c_        | 
                    |          | j         k     rd|z
  }d| j        z  }|                     d|z            }| j        | j        z  dz  | j        | j        z  |dz  z  dz  z
  ||                     d|z
            z  z   | j        |                     d|          z  |z  z
  }|                     d|z
            |                     |          z  ||z  z  }|                     |          r|                     |          }|S | j        dz  dz   }d}t          |          |k     s| 
                    |          dk     rI||                     |          z  }|dz  }t          |          |k     0| 
                    |          dk     I|dz  }|                     d          dz  }|| 	                    | j                  z  }||| 	                    d| j        z            z  dz  z  }||dz  dz  |                     d          dz  z
  | 	                    |          z  z  }|d|dz  z  dz  z  }|dz  x}	}
t-          d|dz             D ]P}|                     d|z  dz             d|z  |dz   z  |	z  z  }t          |          | j        k     r n|	|
z  }	||z  }Q||                     |          z  S )Nr4      r   r         rQ   )r6   r#   r9   isnanr7   _rer:   absdpslogrerR   expjpir2   lnpolylogbarnesgexp_is_real_typer'   mpfglaisherr   	bernoullir   )r   zwpi2uvNGsz2kz2rD   ts                r   rb   rb   W   sr   
yy|| <<Hw
yy|| GGAJJ CGGAJJ!OO		#''!**0E0EOs

1vvzz1SWWSVVA&&&&
vvayyCG8aChJJqsOOE#&LOceCFl1a4/11AcffQqSkkMAE#++a###C'(KK!SWWQZZ'Q.Q 	

A 	1qA	A
a&&1**q		A	SYYq\\	Q a&&1**q		A FA

2A		A3771SV8	Q	A!Q$q&B


	**A1a4MA!tOC"Aqs^^  MM!A#a%  AaC1IcM2q66CGEr		Q SWWQZZ<r   c                 2    |                      |dz             S )Nr   )rb   )r   rh   s     r   superfacrt      s    ;;qsr   c                    || j         k    r|S t          |          dk    r4dt          |                     t          |          d                    z  }nd}| xj        |z  c_        |                     |          s|                     |          dk     r|                     |                     |                    ret          |                     |                    }| 	                    | dz
            }|dz   dz  dz  r| }| 
                    |          r|dz   S |S |dz   }|                     ||                     |          z            }| xj        |z  c_        ||                     |          z  S )NrV   rQ   r   r4   r   y                )r#   r[   intr]   r%   r7   rZ   r:   r^   hyperfac_is_complex_typerc   loggammarb   )r   rh   extrarC   hzp1rl   s          r   rw   rw      s]    	CG||
1vvzz#cggc!ffQ''(((HHHH771:: #''!**q..SYYswwqzz-B-B.q		NNLL!AqS1H> 	A"" 	r6M
A#C
 	#,,s###$$AHHHHs{{3r   N)F)libmp.backendr   	functionsr   r   r"   r>   rH   rK   rO   rT   rb   rt   rw   r	   r   r   <module>r      s4   " " " " " " + + + + + + + +" " " "H ' ' '& * * * $ $ $ & & &
 F F F . . .`         4 r   