
    \cg                     j    d Z ddlZddlmZmZ ddlmc mZ dgZ	ddZ
 G d dej                        Zy)z:UnitDblConverter module containing class UnitDblConverter.    N)cbookunitsUnitDblConverterc                     t        | t        j                  z  dz  dz         }|dk(  rt        |       S |dk(  ry|dk(  ry|dz  dk(  r	d|dz   d	S d| d
S )zRadian function formatter.g       @g      ?r      z$\pi/2$   z$\pi$$z\pi$z\pi/2$)intnppistr)xposns      h/var/www/html/bid-api/venv/lib/python3.12/site-packages/matplotlib/testing/jpl_units/UnitDblConverter.pyrad_fnr      sm    QY#$%AAv1v	
a	
a	
Q!AqD6A3f~    c                   L    e Zd ZdZddddZed        Zed        Zed        Zy	)
r   zS
    Provides Matplotlib conversion functionality for the Monte UnitDbl class.
    kmdegsec)distanceangletimec                 D   dd l mc m} | r#t        | t              r| n| j                         }nd }|dk(  rCt        |j                  t        j                        rt        j                  j                         }n|j                  d      }t        j                  ||      S )Nr   r   F)	useOffset)majfmtlabel)matplotlib.testing.jpl_unitstesting	jpl_units
isinstancer   r   axespolar	PolarAxesThetaFormatterUnitDblFormatterr   AxisInfo)unitaxisUr   r   s        r   axisinfozUnitDblConverter.axisinfo(   sx    
 	10
 &tS1Dtzz|EEE>jEOOD__335F''%'8F~~V599r   c                 b   t        j                  |       s%| D cg c]  }t        j                  |||       c}S |t        j	                  | |      }t        |j                  t        j                        r$| j                         dk(  r| j                  d      S | j                  |      S c c}w )Nr   rad)
r   is_scalar_or_stringr   convertdefault_unitsr"   r#   r$   r%   type)valuer)   r*   r   s       r   r0   zUnitDblConverter.convert?   s     ((/EJKU$,,Qd;UKK<#11%>Ddii1ejjlg6M==''}}T"" Ls   B,c                     t        j                  |       r!t        j                  | j	                            S t        j                  | d   |      S )Nr   )r   r/   r   defaultsr2   r1   )r3   r*   s     r   r1   zUnitDblConverter.default_unitsM   s@    
 $$U+#,,UZZ\::#11%(DAAr   N)	__name__
__module____qualname____doc__r5   staticmethodr,   r0   r1    r   r   r   r      sW    
 	H : :, # # B Br   )N)r9   numpyr   
matplotlibr   r   matplotlib.projections.polarprojectionsr$   __all__r   ConversionInterfacer   r;   r   r   <module>rB      s5    @  # , ,
8Bu00 8Br   