o
    Me                     @   sn   d dl Z G dd deZG dd deZG dd deZG dd	 d	eZG d
d deZe Ze Ze Z	dS )    Nc                   @   s   e Zd ZdZdd ZdS )
Constraintz.Constraint condition for random variable.
    c                 C   s   t N)NotImplementedErrorselfvalue r   ND:\Projects\ConvertPro\env\Lib\site-packages\paddle/distribution/constraint.py__call__   s   zConstraint.__call__N)__name__
__module____qualname____doc__r
   r   r   r   r	   r      s    r   c                   @      e Zd Zdd ZdS )Realc                 C   s   ||kS r   r   r   r   r   r	   r
         zReal.__call__Nr   r   r   r
   r   r   r   r	   r          r   c                       s$   e Zd Z fddZdd Z  ZS )Rangec                    s   || _ || _tt|   d S r   )_lower_uppersuperr   __init__)r   lowerupper	__class__r   r	   r   !   s   zRange.__init__c                 C   s   | j |  ko| jkS   S r   )r   r   r   r   r   r	   r
   &   s   zRange.__call__)r   r   r   r   r
   __classcell__r   r   r   r	   r      s    r   c                   @   r   )Positivec                 C   s   |dkS )Ng        r   r   r   r   r	   r
   ,   r   zPositive.__call__Nr   r   r   r   r	   r   *   r   r   c                   @   r   )Simplexc                 C   s(   t j|dkddo|dd  dk S )Nr   )Zaxis   gư>)paddleallsumabsr   r   r   r	   r
   2   s
   
zSimplex.__call__Nr   r   r   r   r	   r   0   r   r   )
r"   objectr   r   r   r   r   realZpositiveZsimplexr   r   r   r	   <module>   s   
