§
    ‡Ûg†  ã                   ó@   — d Z ddlZddlZddlmZ  G d„ d¦  «        ZdS )zDuration module.é    N)Ú_apic                   ót  — e Zd ZdZddgZd„ Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
d
„ Z ej        eej        ¦  «        Z ej        eej        ¦  «        Z ej        eej        ¦  «        Z ej        eej        ¦  «        Z ej        eej        ¦  «        Z ej        eej        ¦  «        Zd„ Zd„ Zd„ ZeZd„ Zd„ Z d„ Z!dS )ÚDurationzClass Duration in development.ÚETÚUTCc                 óX   — t          j        | j        |¬¦  «         || _        || _        dS )a3  
        Create a new Duration object.

        = ERROR CONDITIONS
        - If the input frame is not in the allowed list, an error is thrown.

        = INPUT VARIABLES
        - frame     The frame of the duration.  Must be 'ET' or 'UTC'
        - seconds  The number of seconds in the Duration.
        )ÚframeN)r   Úcheck_in_listÚallowedÚ_frameÚ_seconds)Úselfr	   Úsecondss      ú[/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/testing/jpl_units/Duration.pyÚ__init__zDuration.__init__   s.   € õ 	Ô˜4œ<¨uÐ5Ñ5Ô5Ð5ØˆŒØˆŒˆˆó    c                 ó   — | j         S )z$Return the frame the duration is in.)r   ©r   s    r   r	   zDuration.frame   s
   € àŒ{Ðr   c                 óP   — t          | j        t          | j        ¦  «        ¦  «        S )z*Return the absolute value of the duration.)r   r   Úabsr   r   s    r   Ú__abs__zDuration.__abs__!   s   € å˜œ¥S¨¬Ñ%7Ô%7Ñ8Ô8Ð8r   c                 ó8   — t          | j        | j         ¦  «        S )z+Return the negative value of this Duration.)r   r   r   r   s    r   Ú__neg__zDuration.__neg__%   s   € å˜œ d¤m ^Ñ4Ô4Ð4r   c                 ó   — | j         S )z-Return the number of seconds in the Duration.©r   r   s    r   r   zDuration.seconds)   s
   € àŒ}Ðr   c                 ó   — | j         dk    S )Nr   r   r   s    r   Ú__bool__zDuration.__bool__-   s   € ØŒ} Ò!Ð!r   c                 óZ   — |                       |d¦  «          || j        |j        ¦  «        S )zT
        Check that *self* and *rhs* share frames; compare them using *op*.
        Úcompare)ÚcheckSameFramer   )r   ÚopÚrhss      r   Ú_cmpzDuration._cmp0   s0   € ð 	×Ò˜C Ñ+Ô+Ð+Øˆr�$”- ¤Ñ.Ô.Ð.r   c                 ó¸   — ddl mc m} t          ||j        ¦  «        r|| z   S |                      |d¦  «         t          | j        | j        |j        z   ¦  «        S )a"  
        Add two Durations.

        = ERROR CONDITIONS
        - If the input rhs is not in the same frame, an error is thrown.

        = INPUT VARIABLES
        - rhs     The Duration to add.

        = RETURN VALUE
        - Returns the sum of ourselves and the input Duration.
        r   NÚadd)	Úmatplotlib.testing.jpl_unitsÚtestingÚ	jpl_unitsÚ
isinstanceÚEpochr    r   r   r   )r   r"   ÚUs      r   Ú__add__zDuration.__add__>   sn   € ð 	1Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0å�c˜1œ7Ñ#Ô#ð 	Ø˜‘:Ðà×Ò˜C Ñ'Ô'Ð'Ý˜œ T¤]°S´\Ñ%AÑBÔBÐBr   c                 ór   — |                       |d¦  «         t          | j        | j        |j        z
  ¦  «        S )a3  
        Subtract two Durations.

        = ERROR CONDITIONS
        - If the input rhs is not in the same frame, an error is thrown.

        = INPUT VARIABLES
        - rhs     The Duration to subtract.

        = RETURN VALUE
        - Returns the difference of ourselves and the input Duration.
        Úsub)r    r   r   r   ©r   r"   s     r   Ú__sub__zDuration.__sub__T   s5   € ð 	×Ò˜C Ñ'Ô'Ð'Ý˜œ T¤]°S´\Ñ%AÑBÔBÐBr   c                 óV   — t          | j        | j        t          |¦  «        z  ¦  «        S )z´
        Scale a UnitDbl by a value.

        = INPUT VARIABLES
        - rhs     The scalar to multiply by.

        = RETURN VALUE
        - Returns the scaled Duration.
        )r   r   r   Úfloatr/   s     r   Ú__mul__zDuration.__mul__d   s#   € õ ˜œ T¤]µU¸3±Z´ZÑ%?Ñ@Ô@Ð@r   c                 ó$   — d| j         | j        fz  S )úPrint the Duration.z%g %s)r   r   r   s    r   Ú__str__zDuration.__str__r   s   € à˜$œ-¨¬Ð5Ñ5Ð5r   c                 ó$   — d| j         | j        fz  S )r5   zDuration('%s', %g))r   r   r   s    r   Ú__repr__zDuration.__repr__v   s   € à# t¤{°D´MÐ&BÑBÐBr   c                 ój   — | j         |j         k    r"t          d|› d| j         › d|j         › �¦  «        ‚dS )aK  
        Check to see if frames are the same.

        = ERROR CONDITIONS
        - If the frame of the rhs Duration is not the same as our frame,
          an error is thrown.

        = INPUT VARIABLES
        - rhs     The Duration to check for the same frame
        - func    The name of the function doing the check.
        zCannot z' Durations with different frames.
LHS: z
RHS: N)r   Ú
ValueError)r   r"   Úfuncs      r   r    zDuration.checkSameFramez   s\   € ð Œ;˜#œ*Ò$Ð$Ýð%˜$ð %ð %Øœð%ð %àœ
ð%ð %ñ&ô &ð &ð %Ð$r   N)"Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r	   r   r   r   r   r#   Ú	functoolsÚpartialmethodÚoperatorÚeqÚ__eq__ÚneÚ__ne__ÚltÚ__lt__ÚleÚ__le__ÚgtÚ__gt__ÚgeÚ__ge__r,   r0   r3   Ú__rmul__r6   r8   r    © r   r   r   r   	   s  € € € € € Ø(Ð(à�Uˆm€Gð ð  ð  ðð ð ð9ð 9ð 9ð5ð 5ð 5ðð ð ð"ð "ð "ð/ð /ð /ð %ˆYÔ$ T¨8¬;Ñ7Ô7€FØ$ˆYÔ$ T¨8¬;Ñ7Ô7€FØ$ˆYÔ$ T¨8¬;Ñ7Ô7€FØ$ˆYÔ$ T¨8¬;Ñ7Ô7€FØ$ˆYÔ$ T¨8¬;Ñ7Ô7€FØ$ˆYÔ$ T¨8¬;Ñ7Ô7€FðCð Cð Cð,Cð Cð Cð 
Að 
Að 
Að €Hð6ð 6ð 6ðCð Cð Cð&ð &ð &ð &ð &r   r   )r?   r@   rB   Ú
matplotlibr   r   rP   r   r   ú<module>rR      sn   ðØ Ð à Ð Ð Ð Ø €€€à Ð Ð Ð Ð Ð ðA&ð A&ð A&ð A&ð A&ñ A&ô A&ð A&ð A&ð A&r   