+
    ,i                     :    R t ^ RIt^ RIt^ RIHt  ! R R4      tR# )zUnitDbl module.N)_apic                     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.mkmmileraddegsecminhourdistanceangletimec                    \         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allowedfloat_value_units)selfvaluer   datas   &&& F/usr/lib/python3/dist-packages/matplotlib/testing/jpl_units/UnitDbl.py__init__UnitDbl.__init__#   s7    " !!$,,e<EGO,1g    c                   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:   
)r   r   r   r   r   
ValueError)r   r   r   s   && r   convertUnitDbl.convert8   s}     ;;%;;!!$,,e<;;$q'!  --1F 3--2G27 8 8 {{T!W$$r   c                T    \        \        V P                  4      V P                  4      # )z*Return the absolute value of this UnitDbl.)r   absr   r   r   s   &r   __abs__UnitDbl.__abs__P   s    s4;;'55r   c                D    \        V P                  ) V P                  4      # )z*Return the negative value of this UnitDbl.r   r   r   r&   s   &r   __neg__UnitDbl.__neg__T   s    |T[[11r   c                ,    \        V P                  4      # )z$Return the truth value of a UnitDbl.)boolr   r&   s   &r   __bool__UnitDbl.__bool__X   s    DKK  r   c                `    V P                  VR4       V! V P                  VP                  4      # )zACheck that *self* and *rhs* share units; compare them using *op*.compare)checkSameUnitsr   r   oprhss   &&&r   _cmpUnitDbl._cmp\   s'    C+$++szz**r   c                    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*.)r3   __name__r   r   r   r4   s   &&&r   _binop_unit_unitUnitDbl._binop_unit_unith   s4    C-r$++szz2DKK@@r   c                P    \        V! V P                  V4      V P                  4      # )z'Combine *self* and *scalar* using *op*.r*   )r   r5   scalars   &&&r   _binop_unit_scalarUnitDbl._binop_unit_scalarp   s    r$++v.<<r   c                :    V P                   R RV P                   2# )Print the UnitDbl.gz *r   r   r&   s   &r   __str__UnitDbl.__str__w   s    ++a4;;-00r   c                >    RV P                   R RV P                   R2# )rB   zUnitDbl(rC   z, 'z')rD   r&   s   &r   __repr__UnitDbl.__repr__{   s!    $++aDKK=;;r   c                <    V P                   V P                  ,          # )z Return the type of UnitDbl data.)_typesr   r&   s   &r   typeUnitDbl.type   s    {{4;;''r   Nc                    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   append)startstopstepelemsids   &&&   r   rangeUnitDbl.range   sW    $ <1ell+DD Ay
  LLOFAr   c                    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   r6   funcs   &&&r   r3   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:   
__module____qualname____firstlineno____doc__r   rK   r   r"   r'   r+   r/   r7   	functoolspartialmethodoperatoreq__eq__ne__ne__lt__lt__le__le__gt__gt__ge__ge__r;   add__add__sub__sub__r?   mul__mul____rmul__rE   rH   rL   staticmethodrV   r3   __static_attributes____classdictcell__)__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`   rb   
matplotlibr   r    r   r   <module>r|      s       k3 k3r   