
    Vpf              	           d dl mZ d dlmZ d dlmZ d dlmZm	Z	 dde	de	de	d	efd
Z
dde	de	de	d	efdZdde	de	de	d	efdZdS )    )lax)_const)promote_args_inexact)Array	ArrayLike   xlocscalereturnc                 Z   t          d| ||          \  } }}t          | d          }t          j        t          j        t          j        | |                    |          }t          j        t          j        |t          j        t          j	        ||                                        S )a	  Laplace log probability distribution function.

  JAX implementation of :obj:`scipy.stats.laplace` ``logpdf``.

  The Laplace probability distribution function is given by

  .. math::

     f(x) = \frac{1}{2} e^{-|x|}

  Args:
    x: arraylike, value at which to evaluate the PDF
    loc: arraylike, distribution offset parameter
    scale: arraylike, distribution scale parameter

  Returns:
    array of logpdf values.

  See Also:
    - :func:`jax.scipy.stats.laplace.cdf`
    - :func:`jax.scipy.stats.laplace.pdf`
  zlaplace.logpdf   )
r   
_lax_constr   divabssubnegaddlogmul)r	   r
   r   twolinear_terms        \/var/www/html/nettyfy-visnx/env/lib/python3.11/site-packages/jax/_src/scipy/stats/laplace.pylogpdfr      s    . ''7CGG-!S%1a#300%88+	cgcgc5.A.A&B&BCC	D	DD    c                 H    t          j        t          | ||                    S )a  Laplace probability distribution function.

  JAX implementation of :obj:`scipy.stats.laplace` ``pdf``.

  The Laplace probability distribution function is given by

  .. math::

     f(x) = \frac{1}{2} e^{-|x|}

  Args:
    x: arraylike, value at which to evaluate the PDF
    loc: arraylike, distribution offset parameter
    scale: arraylike, distribution scale parameter

  Returns:
    array of pdf values.

  See Also:
    - :func:`jax.scipy.stats.laplace.cdf`
    - :func:`jax.scipy.stats.laplace.logpdf`
  )r   expr   )r	   r
   r   s      r   pdfr   2   s     . 
3&&	'	''r   c                    t          d| ||          \  } }}t          | d          }t          | d          }t          | d          }t          j        t          j        | |          |          }t          j        t          j        ||          t          j        |t          j        |                    t          j        |t          j        |t          j        t          j	        |                                                  S )a`  Laplace cumulative distribution function.

  JAX implementation of :obj:`scipy.stats.laplace` ``cdf``.

  The cdf is defined as

  .. math::

     f_{cdf}(x, k) = \int_{-\infty}^x f_{pdf}(y, k)\mathrm{d}y

  where :math:`f_{pdf}` is the probability density function,
  :func:`jax.scipy.stats.laplace.pdf`.

  Args:
    x: arraylike, value at which to evaluate the CDF
    loc: arraylike, distribution offset parameter
    scale: arraylike, distribution scale parameter

  Returns:
    array of cdf values.

  See Also:
    - :func:`jax.scipy.stats.laplace.pdf`
    - :func:`jax.scipy.stats.laplace.logpdf`
  zlaplace.cdfg      ?r   r   )
r   r   r   r   r   selectler   r   r   )r	   r
   r   halfonezerodiffs          r   cdfr&   L   s    4 '}aeDD-!S%	As		$1a#	Aq		$	C%	(	($	CF4&&GD#'$--00GCswswt}}/E/E!F!FGG
I 
I Ir   N)r   r   )jaxr   jax._src.lax.laxr   r   jax._src.numpy.utilr   jax._src.typingr   r   r   r   r&    r   r   <module>r,      s         1 1 1 1 1 1 4 4 4 4 4 4 , , , , , , , ,E Ei Ei EI Ee E E E E:( (9 (9 ( (5 ( ( ( (4!I !I9 !I9 !I !I5 !I !I !I !I !I !Ir   