o
    i                     @   s`   d dl mZmZmZmZmZmZmZ dd Zdd Z	dd Z
dd	 Zd
d Zdd Zdd ZdS )    )compoundingconstantconstant_thencyclic_triangulardecayingslanted_triangularwarmup_linearc                  C   sR   t dd} t| }|dksJ t| }||k sJ |dksJ |t| ks'J d S )NgMbP?g-C6?r   )r   next)ratesrate	next_rate r   N/home/ubuntu/.local/lib/python3.10/site-packages/thinc/tests/test_schedules.pytest_decaying_rate   s   
r   c                  C   s   t ddd} t| }|dksJ t| }t| }t| }||  kr,|  kr,|ks/J  J || ||   kr@|| ksCJ  J d S )N      g)\(?      ?)r   r	   r
   rate0rate1rate2rate3r   r   r   test_compounding_rate   s   &,r   c                  C   sr   t dddd} t| }|dk sJ t| }||ksJ t| }||k s%J t| }||  k r4|k s7J  J d S )Nr   g      4@
   )ratio)r   r	   r   r   r   r   test_slanted_triangular_rate!   s    r   c                  C   sT   t ddddg} t| dksJ t| dksJ t| dks J t| dks(J d S )Nr      d      )r   r	   r
   r   r   r   test_constant_then_schedule-   s
   r    c                  C   s,   t d} t| dksJ t| dksJ d S )N{   )r   r	   r   r   r   r   test_constant5   s   r"   c                  C   :   t ddd} g d}tdD ]}t| || ksJ qd S )Nr   r   r   )              ?r   g      ?g      ?g      ?r%   g      ?g      ?g      ?r$      )r   ranger	   r
   expectedir   r   r   test_warmup_linear;   
   r+   c                  C   r#   )N皙?r   r   )
皙?r   r.   r-   r.   r   r.   r-   r.   r   r   )r   r'   r	   r(   r   r   r   test_cyclic_triangularB   r,   r/   N)	thinc.apir   r   r   r   r   r   r   r   r   r   r    r"   r+   r/   r   r   r   r   <module>   s   $ 
