+
     ]i  c                   s:    R t ^ RIt^ RIt^ RIHt  ! R R4      tR# )zUnitDbl module.N)_apic                   s  a  ] tR t^	t o RtRRRRRRRRRR RR!RR"R	R#/tRR
RRRR/tR tR tR t	R t
R tR t]P                  ! ]]P                   4      t]P                  ! ]]P$                  4      t]P                  ! ]]P(                  4      t]P                  ! ]]P,                  4      t]P                  ! ]]P0                  4      t]P                  ! ]]P4                  4      tR t]P                  ! ]]P:                  4      t]P                  ! ]]P>                  4      t R t!]P                  ! ]!]PD                  4      t#]P                  ! ]!]PD                  4      t$R t%R t&R t'](R$R l4       t)R t*Rt+V t,R# )%UnitDblzClass UnitDbl in development.ZmkmZmileradZdegsecZminZhourZdistanceZangleZtimec                s    \         P                  ! V P                  VR7      p\        W^ ,          ,          4      V n        V^,          V n        R# )a  
Create a new UnitDbl object.

Units are internally converted to km, rad, and sec.  The only
valid inputs for units are [m, km, mile, rad, deg, sec, min, hour].

The field UnitDbl.value will contain the converted value.  Use
the convert() method to get a specific type of units back.

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

= INPUT VARIABLES
- value     The numeric value of the UnitDbl.
- units     The string name of the units the value is in.
unitsN)r    check_getitemallowedZfloat_value_units)selfZvaluer   datas   &&& K/usr/lib64/python3.14/site-packages/matplotlib/testing/jpl_units/UnitDbl.py__init__ZUnitDbl.__init__#   s7    " !!$,,e<EGO,1g    c                s   V P                   V8X  d   V P                  # \        P                  ! V P                  VR7      pV P                   V^,          8w  d   \        RV  RV R24      hV P                  V^ ,          ,          # )a>  
Convert the UnitDbl to a specific set of units.

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

= INPUT VARIABLES
- units     The string name of the units to convert to.

= RETURN VALUE
- Returns the value of the UnitDbl in the requested units as a floating
  point number.
r   z[Error trying to convert to different units.
    Invalid conversion requested.
    UnitDbl: z
    Units:   Z
)r
   r	   r    r   r   
ValueError)r   r   r   s   && r   convertZUnitDbl.convert8   s}     ;;%;;!!$,,e<;;$q'!  --1F 3--2G27 8 8 {{T!W$$r   c                sT    \        \        V P                  4      V P                  4      # )z*Return the absolute value of this UnitDbl.)r   Zabsr	   r
   r      &r   __abs__ZUnitDbl.__abs__P   s    s4;;'55r   c                sD    \        V P                  ) V P                  4      # )z*Return the negative value of this UnitDbl.r   r	   r
   r   r   r   __neg__ZUnitDbl.__neg__T   s    |T[[11r   c                s,    \        V P                  4      # )z$Return the truth value of a UnitDbl.)Zboolr	   r   r   r   __bool__ZUnitDbl.__bool__X   s    DKK  r   c                s`    V P                  VR4       V! V P                  VP                  4      # )zACheck that *self* and *rhs* share units; compare them using *op*.Zcompare)checkSameUnitsr	   r   oprhs   &&&r   _cmpZUnitDbl._cmp\   s'    C+$++szz**r   c                s    V P                  W!P                  4       \        V! V P                  VP                  4      V P                  4      # )zACheck that *self* and *rhs* share units; combine them using *op*.)r   __name__r   r	   r
   r   r   r   _binop_unit_unitZUnitDbl._binop_unit_unith   s4    C-r$++szz2DKK@@r   c                sP    \        V! V P                  V4      V P                  4      # )z'Combine *self* and *scalar* using *op*.r   )r   r   Zscalarr   r   _binop_unit_scalarZUnitDbl._binop_unit_scalarp   s    r$++v.<<r   c                s:    V P                   R RV P                   2# )Print the UnitDbl.gz *r	   r
   r   r   r   __str__ZUnitDbl.__str__w   s    ++a4;;-00r   c                s>    RV P                   R RV P                   R2# )r!   zUnitDbl(r"   z, 'z')r#   r   r   r   __repr__ZUnitDbl.__repr__{   s!    $++aDKK=;;r   c                s<    V P                   V P                  ,          # )z Return the type of UnitDbl data.)_typesr
   r   r   r   typeZUnitDbl.type   s    {{4;;''r   Nc                s    Vf   \        ^V P                  4      p. p^ p WV,          ,           pWQ8  d    V# VP                  V4       V^,          pK5  )a  
Generate a range of UnitDbl objects.

Similar to the Python range() method.  Returns the range [
start, stop) at the requested step.  Each element will be a
UnitDbl object.

= INPUT VARIABLES
- start     The starting value of the range.
- stop      The stop value of the range.
- step      Optional step to use.  If set to None, then a UnitDbl of
              value 1 w/ the units of the start is used.

= RETURN VALUE
- Returns a list containing the requested UnitDbl values.
)r   r
   Zappend)ZstartZstopZstepZelemsZiZds   &&&   r   rangeZUnitDbl.range   sW    $ <1ell+DD Ay
  LLOFAr   c                s    V P                   VP                   8w  d)   \        RV RV P                    RVP                    24      hR# )a	  
Check to see if units are the same.

= ERROR CONDITIONS
- If the units of the rhs UnitDbl are not the same as our units,
  an error is thrown.

= INPUT VARIABLES
- rhs     The UnitDbl to check for the same units
- func    The name of the function doing the check.
zCannot z  units of different types.
LHS: z
RHS: N)r
   r   )r   r   Zfuncr   r   r   ZUnitDbl.checkSameUnits   sM     ;;#**$wtf -%%)[[M 2%%(ZZL2 3 3 %r   )r
   r	   )gMbP?r   )   r   )g8~߿?r   )r)   r   )g:RFߑ?r   )r)   r   )g      N@r   )i  r   )N)-r   Z
__module__Z__qualname__Z__firstlineno____doc__r   r&   r   r   r   r   r   r   	functoolsZpartialmethodoperatorZeqZ__eq__ZneZ__ne__ZltZ__lt__ZleZ__le__ZgtZ__gt__ZgeZ__ge__r   ZaddZ__add__ZsubZ__sub__r    ZmulZ__mul__Z__rmul__r$   r%   r'   Zstaticmethodr(   r   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r   	   s    ' 	]i z-z}
G 	jwv
F*%062!+
 $$T8;;7F$$T8;;7F$$T8;;7F$$T8;;7F$$T8;;7F$$T8;;7FA
 %%&6EG%%&6EG= %%&8(,,GG&&'98<<HH1<(  B3 3r   r   )r*   r+   r,   Z
matplotlibr    r   ) r   r   <module>r-      s       k3 k3r   