
    Vpf
                         d dl mZ d dlmZ d dlmZ d dlmZm	Z	m
Z
 d dlmZmZ ddededed	ed
ef
dZddededed	ed
ef
dZdS )    )laxN)promote_args_inexact)gammalnxlogyxlog1py)Array	ArrayLikeknplocreturnc           
         t          d| |||          \  } }}}t          j        | |          }t          j        t          |dz             t          j        t          |dz             t          ||z
  dz                                 }t          j        t          ||          t          t          j        ||          t          j        |                              }t          j        ||          }t          j	        t          j
        | |          t          j        | ||z   dz             z  |t          j                   S )aE  Binomial log probability mass function.

  JAX implementation of :obj:`scipy.stats.binom` ``logpmf``.

  The binomial probability mass function is defined as

  .. math::

     f(k, n, p) = {n \choose k}p^k(1-p)^{n-k}

  for :math:`0\le p\le 1` and non-negative integers :math:`k`.

  Args:
    k: arraylike, value at which to evaluate the PMF
    n: arraylike, distribution shape parameter
    p: arraylike, distribution shape parameter
    loc: arraylike, distribution offset parameter

  Returns:
    array of logpmf values.

  See Also:
    :func:`jax.scipy.stats.binom.pmf`
  zbinom.logpmf   )r   r   subr   addr   r   negjnpwheregeltinf)r
   r   r   r   y	comb_termlog_linear_term	log_probss           Z/var/www/html/nettyfy-visnx/env/lib/python3.11/site-packages/jax/_src/scipy/stats/binom.pylogpmfr      s    2 &naAsCC,!Q3	gaoo!ga!enn	gga!ennga!eai0011 ) GE!QKKA

)K)KLL/gi11)	36!S>>CF1cAgk$:$::Ix	P	PP    c                 J    t          j        t          | |||                    S )a@  Binomial probability mass function.

  JAX implementation of :obj:`scipy.stats.binom` ``pmf``.

  The binomial probability mass function is defined as

  .. math::

     f(k, n, p) = {n \choose k}p^k(1-p)^{n-k}

  for :math:`0\le p\le 1` and non-negative integers :math:`k`.

  Args:
    k: arraylike, value at which to evaluate the PMF
    n: arraylike, distribution shape parameter
    p: arraylike, distribution shape parameter
    loc: arraylike, distribution offset parameter

  Returns:
      array of pmf values.

  See Also:
    :func:`jax.scipy.stats.binom.logpmf`
  )r   expr   )r
   r   r   r   s       r   pmfr"   :   s"    2 
1a%%	&	&&r   )r   )jaxr   	jax.numpynumpyr   jax._src.numpy.utilr   jax._src.scipy.specialr   r   r   jax._src.typingr   r	   r   r"    r   r   <module>r*      s                4 4 4 4 4 4 : : : : : : : : : : , , , , , , , ,!Q !Qi !QI !Q) !Q) !QE !Q !Q !Q !QH' '9 ' 'y 'y ' ' ' ' ' ' 'r   