U
    L?h                     @   sX   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
mZ dd Zdd	 Zd
S )    )Function)symbols)exp)variance_prop)RandomSymbolVariance
Covariancec                  C   sn  t d\} }}t d \}}}t| }t|}tt|}tt|}	td| }
| | || || || | | | || |	 d|  d| | | ||d  || d   d|  || d  | | ||d  || d   |d  t| |td|   td|  d| td|   t|  | |d | td| |   |
t|
i}| D ]$\}}t||d}||ksDtqDd S )	Nx y zphi tf         )consts)r   r   r   r   r   itemsr   AssertionError)xyzphitr   avar_xvar_yvar_zr   casesinpoutobs r    S/var/www/html/venv/lib/python3.8/site-packages/sympy/stats/tests/test_error_prop.pytest_variance_prop	   sB      
 
   
  
   r"   c                  C   s  t d\} }}t d \}}}t| }t|}t|}t|}	t|}
t|
}t||}t||
}t||
}| | ||	 d|  || ||	 d|  | | | ||	 | d|  d|  d|  d|  d| | | ||d  |	| d   d| | |   d|  || d  t| |td|   td|  d| td|   t|  | |d | td| |   i	}| D ]&\}}t||dd}||ksjtqjd S )	Nr	   r
   r   r   r   r   T)r   Zinclude_covar)r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   br   cr   Z	covar_x_yZ	covar_x_zZ	covar_y_zr   r   r   r   r    r    r!   test_variance_prop_with_covar"   sN    


  
 
  & 
 
  r%   N)Zsympy.core.functionr   Zsympy.core.symbolr   Z&sympy.functions.elementary.exponentialr   Zsympy.stats.error_propr   Z sympy.stats.symbolic_probabilityr   r   r   r"   r%   r    r    r    r!   <module>   s   