U
    Ha                     @   s   d dl mZmZmZ dddddddd	d
dddg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	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G dd deZG dd deZdS )    )	Aggregate
FloatFieldIntegerFieldCovarPopCorrRegrAvgXRegrAvgY	RegrCountRegrInterceptRegrR2	RegrSlopeRegrSXXRegrSXYRegrSYYStatAggregatec                       s$   e Zd Ze Zd fdd	Z  ZS )r   Nc                    s(   |r|st dt j||||d d S )NzBoth y and x must be provided.)output_fieldfilter)
ValueErrorsuper__init__)selfyxr   r   	__class__ Q/tmp/pip-unpacked-wheel-3jxiddxt/django/contrib/postgres/aggregates/statistics.pyr      s    zStatAggregate.__init__)NN)__name__
__module____qualname__r   r   r   __classcell__r   r   r   r   r   	   s   c                   @   s   e Zd ZdZdS )r   ZCORRNr   r   r   functionr   r   r   r   r      s   c                       s   e Zd Zd fdd	Z  ZS )r   FNc                    s$   |rdnd| _ t j|||d d S )NZ
COVAR_SAMPZ	COVAR_POP)r   )r"   r   r   )r   r   r   sampler   r   r   r   r      s    zCovarPop.__init__)FN)r   r   r   r   r    r   r   r   r   r      s   c                   @   s   e Zd ZdZdS )r   Z	REGR_AVGXNr!   r   r   r   r   r      s   c                   @   s   e Zd ZdZdS )r   Z	REGR_AVGYNr!   r   r   r   r   r       s   c                   @   s   e Zd ZdZe Zdd ZdS )r	   Z
REGR_COUNTc                 C   s   |d krdS |S )Nr   r   )r   valueZ
expression
connectionr   r   r   convert_value(   s    zRegrCount.convert_valueN)r   r   r   r"   r   r   r&   r   r   r   r   r	   $   s   c                   @   s   e Zd ZdZdS )r
   ZREGR_INTERCEPTNr!   r   r   r   r   r
   ,   s   c                   @   s   e Zd ZdZdS )r   ZREGR_R2Nr!   r   r   r   r   r   0   s   c                   @   s   e Zd ZdZdS )r   Z
REGR_SLOPENr!   r   r   r   r   r   4   s   c                   @   s   e Zd ZdZdS )r   ZREGR_SXXNr!   r   r   r   r   r   8   s   c                   @   s   e Zd ZdZdS )r   ZREGR_SXYNr!   r   r   r   r   r   <   s   c                   @   s   e Zd ZdZdS )r   ZREGR_SYYNr!   r   r   r   r   r   @   s   N)Zdjango.db.modelsr   r   r   __all__r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   <module>   s2             	