
    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y)   )xrange   )defundefun_wrappedc                    |D cg c]  }| j                  |       }}|D cg c]  }| j                  |       }}g }g }g }g }|D ]'  }||g| j                  |         j                  |       ) |D ]'  }||g| j                  |         j                  |       ) t        |      t        |      k  r| j                  S t        |      t        |      kD  r|r|D cg c])  }|xr |d| j
                  z   z  xs || j
                  z   + }}|D cg c])  }|xr |d| j
                  z   z  xs || j
                  z   + }}| j                  | j                  ||z   ||z               | j                  z  S | j                  S | j                  }	| j                  }
	 |
dz   | _
        |rX|j                         }|j                         }|	d||z   z  | j                  d|z
        z  | j                  d|z
        z  z  }	|rX|D ]  }|	| j                  |      z  }	 |D ]  }|	| j                  |      z  }	 	 |
| _
        |	S c c}w c c}w c c}w c c}w # |
| _
        w xY w)Nr      )convertisnpintappendlenzeroepssign	gammaprodinfoneprecpopgamma)ctxab_infsignx	poles_num	poles_denregular_numregular_denporigijs                P/var/www/openai/venv/lib/python3.12/site-packages/mpmath/functions/factorials.pyr   r      s8   !"#AQA#!"#AQA#IIKKi(Q8??BQi(Q8??BQ
9~I&sxx
9~I& ;DE9a$q!CGG)}1#''	19AE;DE9a$q!CGG)}1#''	19AE88CMM!K-+FG#''QQ77N 	A88D	"9AA"!syy1~-		!A#>>A  Aa399Q</aAa399Q</a2IC 	$# FE" s)   H?I.I	.IA#I >6I 	Ic                 L   | j                  |      }| j                  |      }| j                  |      r||}}| j                  |      r|| j                  k(  r| j                  |      s{|| j                  k(  r| j
                  S |dkD  r| j                  S | j                  |      r| j
                  S |dk  r-| j                  | j                  |            | j                  z  S | j
                  S | j                  ||d| j                  z        }| j                  ||g|g      S )N    r   r   )r
   isinfr   _imninfnanr   isintr   r   faddr   r   )r   r   yxys       r$   betar0   )   s    AAAA
yy|!1
yy|<
CHH}ww1uxxyy|ww1uxx		!-77ww	!QQsxxZ	(B==!Q"&&    c                     | j                  |dd| j                  z        }| j                  |dd| j                  z        }| j                  ||d| j                  z        }| j                  |g||g      S Nr   r   r'   r-   r   fsubr   )r   nkn1k1nk1s         r$   binomialr;   =   sm    	!QQsxxZ	(B	!QQsxxZ	(B
((2qqz(
*C=="Cy))r1   c                 l    | j                  ||d| j                  z        }| j                  |g|g      S )Nr   r'   )r-   r   r   )r   r   r6   xns       r$   rfr>   D   s3    	!QQsxxZ	(B=="s##r1   c                     | j                  |dd| j                  z        }| j                  | j                  ||d| j                  z        dd| j                  z        }| j                  |g|g      S r3   r4   )r   r   r6   x1xn1s        r$   ffrB   I   sf    	!QQsxxZ	(B
((388Aqqz82AAchhJ(
GC=="u%%r1   c                     | j                  |      r|| j                  k(  r|S | j                  S d|dz  z  | j                  dz  | j	                  |      dz
  dz  z  z  | j                  |dz  dz         z  S )Nr   r      )r(   r   r+   picospir   )r   r   s     r$   fac2rG   O   sm    
yy|<Hwwqs8SVVAX#))A,q.!!344SYYqs1u5EEEr1   c                    | j                  |      r|| j                  k(  r|S | j                  S | j                  |      r|S | j	                  |      s9| j                  |      dk  r%| j                  | j                  |            r|dz  S t        |      dkD  r1| xj                  d| j                  t        |      d      z  z  c_        | j                  |      | j                   k  rd|z
  }d| j                  z  }| j                  d|z        }| j                  | j                  z  dz  | j                  | j                  z  |dz  z  dz  z
  || j                  d|z
        z  z   | j                  | j                  d|      z  |z  z
  }| j!                  d|z
        | j#                  |      z  ||z  z  }| j%                  |      r| j                  |      }|S | j                  dz  dz   }d}t        |      |k  s| j                  |      dk  r=|| j'                  |      z  }|dz  }t        |      |k  r(| j                  |      dk  r=|dz  }| j)                  d      dz  }|| j                  | j*                        z  }||| j                  d| j                  z        z  dz  z  }||dz  dz  | j)                  d      dz  z
  | j                  |      z  z  }|d|dz  z  dz  z  }|dz  x}	}
t-        d|dz         D ]L  }| j/                  d|z  dz         d|z  |dz   z  |	z  z  }t        |      | j0                  k  r n|	|
z  }	||z  }N || j#                  |      z  S )Nr&      r   r         rD   )r(   r   r+   isnanr)   _rer,   absdpslogrerE   expjpir#   lnpolylogbarnesgexp_is_real_typer   mpfglaisherr   	bernoullir   )r   zwpi2uvNGsz2kz2r7   ts                r$   rU   rU   W   s   
yy|<Hww
yy|GGAJCGGAJ!O		#''!*0Es

1vz1SWWSVA&&&
vvayCGG8aChJJqsOEE#&&LOceeCFFl1a4/11AcffQqSkMAEE#++a##C'(KK!SWWQZ'Q.Q
A 	1qA	A
a&1*q	A	SYYq\	Q a&1*q	A FA
2A	A3771SVV8	Q	A!Q$q&B

	**A1a4MA!tOC"Aqs^MM!A#a% AaC1IcM2q6CGGr		Q  SWWQZ<r1   c                 *    | j                  |dz         S )Nr   )rU   )r   r[   s     r$   superfacrg      s    ;;qsr1   c                    || j                   k(  r|S t        |      dkD  r(dt        | j                  t        |      d            z  }nd}| xj                  |z  c_        | j                  |      s| j                  |      dk  ru| j                  | j                  |            rUt        | j                  |            }| j                  | dz
        }|dz   dz  dz  r| }| j                  |      r|dz   S |S |dz   }| j                  || j                  |      z        }| xj                  |z  c_        || j                  |      z  S )NrI   rD   r   r&   r   y                )r   rN   intrP   r   r)   rM   r,   rQ   hyperfac_is_complex_typerV   loggammarU   )r   r[   extrar6   hzp1r_   s          r$   rj   rj      s    	CGG|
1vz#cggc!fQ'((HHH771:#''!*q.SYYswwqz-Bq	NLL!AqS1H>A"r6M
A#C
 	#,,s##$AHHHs{{3r1   N)F)libmp.backendr   	functionsr   r   r   r0   r;   r>   rB   rG   rU   rg   rj    r1   r$   <module>rs      s    " +" "H ' '& * * $ $ & &
 F F . .`      4r1   