
    XHh<                        d dl Zd dlZd dlmZ d dlmZmZ d dlm	Z
 d dlmZ ej                  j                  gZ ej                   d      Zej%                  ej                  j'                   eej(                         ed      k(  xr  e       dej(                                ej                  j+                  d	       G d
 d             Zy)    N)is_platform_arm)	DataFrameSeries)Versionnumbaz0.61z&Segfaults on ARM platforms with numba )reasonignorec            
          e Zd Zd Zej
                  j                  ej
                  j                  d e e	d       e	d      d       e
 e	d      d      g      d               Zej
                  j                  e      ej
                  j                  d e e	d       e	d      d       e
 e	d      d      g      d	               Zej
                  j                  d
g d      d        Zy)TestEWMc                 B   t        t        d      t        d      d      }|j                  d      j                  d      j	                         }t        j                  t        d      5  |j                  |j                  d             d d d        y # 1 sw Y   y xY w)	N   ab         ?z;Must call mean with update=None first before passing updatematch   update)	r   rangeheadewmonlinepytestraises
ValueErrormean)selfdf
online_ewms      X/var/www/html/planif/env/lib/python3.12/site-packages/pandas/tests/window/test_online.pytest_invalid_updatezTestEWM.test_invalid_update   sw    U1XE!H56WWQZ^^C(//1
]]O
 	/ OO2771:O.		/ 	/ 	/s   *"BBobjr   r   foo)namec                    |j                  d||      j                         }|||d}|j                  d      j                  d||      j                  |      }	t	        d      D ]  }
|	j                         }t        j                  ||j                  d             |	j                  |j                  d            }t        j                  ||j                  d             |	j                           y )Nr   )adjust	ignore_nanogilparallelnopythonr   engine_kwargs   r   )	r   r   r   r   r   tmassert_equaltailreset)r    r%   r,   r-   r.   r)   r*   expectedr0   r"   _results               r#   test_online_vs_non_online_meanz&TestEWM.test_online_vs_non_online_mean$   s     773v7CHHJ"'X8T HHQKSVyS9V-V0 	 q 	A__&FOOFHMM!$45__CHHQK_8FOOFHMM!$45	    )r   c                 z   t        t        j                  g dd            }|j                  d||||      j	                         }	|||d}
|j                  d      j                  d|||j                  d      |      j                  |
      }t        d      D ]  }|j	                         }t        j                  ||	j                  d             |j	                  |j                  d	      |j                  d	      
      }t        j                  ||	j                  d	             |j                           y )N)z
2020-01-01z
2020-01-05z
2020-01-07z
2020-01-17z
2020-01-21zdatetime64[ns])dtyper   )r)   r*   timeshalflifer+   r   r/   r1   )r   update_times)r   nparrayr   r   r   r   r   r2   r3   r4   r5   )r    r%   r,   r-   r.   r)   r*   halflife_with_timesr=   r6   r0   r"   r7   r8   s                 r#   test_update_times_meanzTestEWM.test_update_times_mean=   s     HHV&
 77(  
 $& 	 #(X8THHQKS#jjm,   V-V0 	 q 	A__&FOOFHMM!$45__CHHQKejjQRm_TFOOFHMM!$45	r:   method)	aggregatestdcorrcovvarc                    t        t        d            }i }|dk(  rd |d<   t        j                  t        d      5   t        |j                  d      j                         |      di | d d d        y # 1 sw Y   y xY w)	N
   rE   c                     | S )N )xs    r#   <lambda>z=TestEWM.test_ewm_notimplementederror_raises.<locals>.<lambda>m   s    q r:   funcz.* is not implemented.r   r   rM   )r   r   r   r   NotImplementedErrorgetattrr   r   )r    rD   serkwargss       r#   #test_ewm_notimplementederror_raisesz+TestEWM.test_ewm_notimplementederror_raisesh   sp    U2Y[ (F6N]].6NO 	;0GCGGAJ%%'0:6:	; 	; 	;s   0A66A?N)__name__
__module____qualname__r$   r   markslowparametrizer   r   r   r9   xfailrQ   rC   rU   rM   r:   r#   r   r      s    / [[[[	auQx896%(QV;WX * [[12[[	auQx896%(QV;WX% 3%N [[X'QR; S;r:   r   )numpyr@   r   pandas.compatr   pandasr   r   pandas._testing_testingr2   pandas.util.versionr   rY   
single_cpu
pytestmarkimportorskipr   appendskipif__version__filterwarningsr   rM   r:   r#   <module>rj      s      )  'kk$$%
G$ 
  
KK!!"gfo5K/:K78I8I7JK   H%V; V; &V;r:   