
    Oi[                     0    d Z ddlmZ  G d d          ZdS )zBaccumulator.py: transcription of GeographicLib::Accumulator class.    )Mathc                   :    e Zd ZdZd Zd
dZd Zd
dZd Zd Z	d	S )Accumulatorz(Like math.fsum, but allows a running sumc                     t          |t                    r|j        |j        c| _        | _        dS t	          |          dc| _        | _        dS )zSet value from argument        N)
isinstancer   _s_tfloatselfys     Q/srv/django_bis/venv311/lib/python3.11/site-packages/geographiclib/accumulator.pySetzAccumulator.Set   sF    ![!! 'qtdgtwwwq3dgtwww    r   c                 L    dx| _         | _        |                     |           dS )Constructorr   N)r	   r
   r   r   s     r   __init__zAccumulator.__init__   s#    DGdgHHQKKKKKr   c                     t          j        || j                  \  }}t          j        || j                  \  | _        | _        | j        dk    r	|| _        dS | xj        |z  c_        dS )zAdd a valuer   N)r   sumr
   r	   )r   r   us      r   AddzAccumulator.Add    sb     8AtwDAqx47++DGTW: w!||dggg
gglggggr   c                 r    |dk    r| j         S t          |           }|                    |           |j         S )zReturn sum + yr   )r	   r   r   )r   r   bs      r   SumzAccumulator.SumG   s5    CxxWnDAEE!HHH4Kr   c                 F    | xj         dz  c_         | xj        dz  c_        dS )z
Negate sumN)r	   r
   )r   s    r   NegatezAccumulator.NegateO   s$    GGrMGGGGrMGGGGr   c                 n    t          j        | j        |          | _        |                     d           dS )zRemainder on division by yr   N)r   	remainderr	   r   r   s     r   	RemainderzAccumulator.RemainderT   s*    nTWa((DGHHSMMMMMr   N)r   )
__name__
__module____qualname____doc__r   r   r   r   r   r!    r   r   r   r      s        00' ' '   
% % %N     
    r   r   N)r%   geographiclib.geomathr   r   r&   r   r   <module>r(      s[    H H ' & & & & &F F F F F F F F F Fr   