
    Vpf	                     n    d dl mZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZ dededefd	Zdededefd
ZdS )    )laxN)_const)promote_args_inexact)Array	ArrayLikexkappareturnc           
      N   t          d| |          \  } }t          |d          }t          j        t	          j        ||          |t          j        |           dz
  z  t          j        dt          j        z  t	          j	        |          z            z
  t          j
                  S )a  von Mises log probability distribution function.

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

  The von Mises probability distribution function is given by

  .. math::

     f(x, \kappa) = \frac{1}{2\pi I_0(\kappa)}e^{\kappa\cos x}

  Where :math:`I_0` is the modified Bessel function :func:`~jax.scipy.special.i0`
  and :math:`\kappa\ge 0`, and the distribution is normalized in the interval
  :math:`-\pi \le x \le \pi`.

  Args:
    x: arraylike, value at which to evaluate the PDF
    kappa: arraylike, distribution shape parameter

  Returns:
    array of logpdf values.

  See Also:
    :func:`jax.scipy.stats.vonmises.pdf`
  zvonmises.logpdfr         )r   
_lax_constjnpwherer   gtcoslogpi
bessel_i0enan)r   r	   zeros      ]/var/www/html/nettyfy-visnx/env/lib/python3.11/site-packages/jax/_src/scipy/stats/vonmises.pylogpdfr      s    2 ""3Q>>(!U	E1		$	36%&&a(@371sv:X[XfglXmXmKmCnCn(npspw	x	xx    c                 F    t          j        t          | |                    S )a  von Mises probability distribution function.

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

  The von Mises probability distribution function is given by

  .. math::

     f(x, \kappa) = \frac{1}{2\pi I_0(\kappa)}e^{\kappa\cos x}

  Where :math:`I_0` is the modified Bessel function :func:`~jax.scipy.special.i0`
  and :math:`\kappa\ge 0`, and the distribution is normalized in the interval
  :math:`-\pi \le x \le \pi`.

  Args:
    x: arraylike, value at which to evaluate the PDF
    kappa: arraylike, distribution shape parameter

  Returns:
    array of pdf values.

  See Also:
    :func:`jax.scipy.stats.vonmises.logpdf`
  )r   expr   )r   r	   s     r   pdfr   4   s    2 
5!!	"	""r   )jaxr   	jax.numpynumpyr   jax._src.lax.laxr   r   jax._src.numpy.utilr   jax._src.typingr   r   r   r    r   r   <module>r%      s                1 1 1 1 1 1 4 4 4 4 4 4 , , , , , , , ,yi y	 ye y y y y<#9 #Y #5 # # # # # #r   