Ë
    ¡ehO  ã                   ón  — d Z ddlZddlmZ ddlmZ  G d„ d«      Zd„ Zdd	„Z	d
dddœd„Z
edk(  �r ed«        eej                  d   «        e«         ed«        e«         ed«        e	ej                  d   ddd«        e«         ed«        e	ej                  d   ddd«        e«         ed«        e	ej                  d   ddd
«        e«         ed«        e	ej                  d   ddd
«        e«         ed«        e	ej                  d   dddd
«        ed«        e
d
d
d
¬«       yy)z:Prints type-coercion tables for the built-in NumPy types

é    N)Ú
obj2sctype)Ú
namedtuplec                   óB   — e Zd Zd„ Zd„ Zd„ Z ej                  d«      Zy)ÚGenericObjectc                 ó   — || _         y ©N)Úv)Úselfr	   s     úa/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/numpy/testing/print_coercion_tables.pyÚ__init__zGenericObject.__init__   s	   € Øˆ�ó    c                 ó   — | S r   © ©r
   Úothers     r   Ú__add__zGenericObject.__add__   ó   € Øˆr   c                 ó   — | S r   r   r   s     r   Ú__radd__zGenericObject.__radd__   r   r   ÚON)Ú__name__Ú
__module__Ú__qualname__r   r   r   ÚnpÚdtyper   r   r   r   r   
   s"   „ òòòð ˆB�H‰H�S‹M�Er   r   c                 ó’  — t        dd¬«       | D ]  }t        |d¬«       Œ t        «        | D ]—  }t        |d¬«       | D ]y  }t        j                  ||d«      rd}nPt        j                  ||d«      rd}n6t        j                  ||d«      rd	}nt        j                  ||d
«      rd}nd}t        |d¬«       Œ{ t        «        Œ™ y )NÚXú ©ÚendÚequivú#Úsafeú=Ú	same_kindú~Úunsafeú.)Úprintr   Úcan_cast)ÚntypesÚcharÚrowÚcolÚcasts        r   Úprint_cancast_tabler0      s¼   € Ü	ˆ#�3ÕØò ˆÜˆd˜Öðä	„GØò ˆÜˆc�sÕØò 	!ˆCÜ�{‰{˜3  WÔ-Ø‘Ü—‘˜S # vÔ.Ø‘Ü—‘˜S # {Ô3Ø‘Ü—‘˜S # xÔ0Ø‘à�Ü�$˜CÖ ð	!ô 	�ñr   Fc                 ó"  — t        dd¬«       | D ]  }t        |d¬«       Œ t        «        | D �]5  }|dk(  rt        }nt        |«      }t        |d¬«       | D ]ÿ  }|dk(  rt        }	nt        |«      }		 |rt        j                   ||«      g|¬«      }
n ||«      }
 |	|«      }|r5t        j
                  |
j                  |j                  «      j                  }not        j                  |
|«      }t        |t        j                  «      r|j                  j                  }n(t        j                  t        |«      «      j                  }t        |d¬«       �Œ t        «        �Œ8 y # t        $ r d}Y Œ+t        $ r d}Y Œ7t        $ r d}Y ŒCw xY w)	Nú+r   r   r   )r   ú!ú@r"   )r)   r   r   r   ÚarrayÚpromote_typesr   r,   ÚaddÚ
isinstanceÚndarrayÚtypeÚ
ValueErrorÚOverflowErrorÚ	TypeError)r+   ÚinputfirstvalueÚinputsecondvalueÚ
firstarrayÚuse_promote_typesr,   r-   Úrowtyper.   ÚcoltypeÚrowvalueÚcolvalueÚvalues                r   Úprint_coercion_tablerG   +   s]  € Ü	ˆ#�3ÕØò ˆÜˆd˜Öðä	„GØó !ˆØ�#Š:Ü#‰Gä  “oˆGäˆc�sÕØò 	!ˆCØ�cŠzÜ'‘ä$ S›/�ðÙÜ!Ÿx™x©°Ó)AÐ(BÈ'ÔR‘Há& Ó7�HÙ"Ð#3Ó4�Ù$Ü×+Ñ+¨H¯N©N¸H¿N¹NÓK×PÑP‘DäŸF™F 8¨XÓ6�EÜ! %¬¯©Ô4Ø$Ÿ{™{×/Ñ/™ä!Ÿx™x¬¨U«Ó4×9Ñ9˜ô �$˜C× ð3	!ô4 	ŽñC!øô4 ò Ø’Ü ò Ø’Üò Ø’ðús   Á3CE(Å(FÅ5
FÆ
FÆFT©r*   ÚlegacyÚflagsc           
      ó2  ‡‡‡‡— ddl m} dddddddœ}d	d
dddddddœ}t        dg d¢«      } |ddd«      Š |«       }i Št        «       Š|D ]ˆ  }‰j	                  |d   «       ‰j	                  |d   «       |d   ‰vri ‰|d   <   ‰|d      }	||d      } |d   rdnd}d}|d   r|dz  }|d   r|dz  }|d   r|dz  }||   } || ||¬«      |	|d   <   ŒŠ t
        j                  d   Šˆfd „}
t        ‰|
¬!«      Šd,ˆˆˆfd#„	}| r't        «        t        d$«       t        «         |d"«       |r't        «        t        d%«       t        «         |d«       |r@t        «        t        |d   › d&|d   › d'|d   › d(|d   › d)�«       t        «         |d*«       y+y+)-z[Prints new casts, the values given are default "can-cast" values, not
    actual ones.
    r   )Úget_all_cast_informationr   r"   r$   r&   r(   )éÿÿÿÿr   é   é   é   é   u   â–—u   â–ˆu   â–šu   â–�u   â–„u   â–œu   â–™u   â–Ÿ)r   é   rN   rO   rQ   rP   é   é   Ú	cast_inforH   ÚfromÚtoÚcastingrI   ÚLÚrequires_pyapirN   Úsupports_unalignedrO   Úno_floatingpoint_errorsrQ   ÚAllc                 óÔ   •— t        j                  | j                  «      }	 ‰j                  |j                  «      }||j                  fS # t
        $ r t         j                  }Y Œ)w xY wr   )r   r   r:   Úindexr,   r;   Úinf)Úxr   ÚindxÚtypess      €r   Úsorterz$print_new_cast_table.<locals>.sorter‡   sY   ø€ ô —‘˜Ÿ™Ó ˆð	Ø—;‘;˜uŸz™zÓ*ˆDð �e—j‘jÐ!Ð!øô ò 	Ü—6‘6ŠDð	ús   ¢A ÁA'Á&A')Úkeyr*   c           
      ó´  •— t        dd¬«       ‰D ]6  }t        t        j                  |j                  «      j                  d¬«       Œ8 t        «        ‰D ]€  }t        t        j                  |j                  «      j                  d¬«       ‰j                  |i «      }‰D ])  }t        t        |j                  |‰«      | «      d¬«       Œ+ t        «        Œ‚ y )Nr   r   r   )r)   r   r   r:   r,   ÚgetÚgetattr)ÚfieldÚdtÚfrom_dtr-   Úto_dtÚdtypesÚno_cast_infoÚtables        €€€r   Úprint_tablez)print_new_cast_table.<locals>.print_table“   s¬   ø€ Üˆc�sÕØò 	3ˆBÜ”"—(‘(˜2Ÿ7™7Ó#×(Ñ(¨cÖ2ð	3äŒØò 	ˆGÜ”"—(‘(˜7Ÿ<™<Ó(×-Ñ-°3Õ7Ø—)‘)˜G RÓ(ˆCØò M�Ü”g˜cŸg™g e¨\Ó:¸EÓBÈÖLðMä�Gñ	r   zDCasting: # is equivalent, = is safe, ~ is same-kind, and . is unsafez+L denotes a legacy cast . a non-legacy one.z: no flags, z	: PyAPI, z: supports unaligned, z: no-float-errorsrJ   N)r*   )	Únumpy._core._multiarray_testsrL   r   Úsetr7   r   Ú	typecodesÚsortedr)   )r*   rI   rJ   rL   Ú
cast_tableÚflags_tablerU   Úcastsr/   Úto_dictrd   rp   rm   rn   ro   rc   s               @@@@r   Úprint_new_cast_tablery   T   s  û€ õ Gð ØØØØØñ€Jð �eØ�U˜uØ˜UØ ñ	€Kô ˜;Ò(GÓH€IÙ˜S # sÓ+€Lá$Ó&€EØ€EÜ‹U€FØò WˆØ�
‰
�4˜‘<Ô Ø�
‰
�4˜‘:Ôà�‰<˜uÑ$Ø"$ˆE�$�v‘,ÑØ˜˜V™Ñ%ˆà˜d 9™oÑ.ˆØ˜Xš‘¨CˆØˆØÐ Ò!Ø�Q‰JˆEØÐ$Ò%Ø�Q‰JˆEØÐ)Ò*Ø�Q‰JˆEà˜EÑ"ˆÙ'°À&ÐPUÔVˆ��T‘
Òð'Wô. �L‰L˜Ñ€Eô"ô �F Ô'€F÷
ñ äŒÜÐTÔUÜŒÙ�JÔáÜŒÜÐ;Ô<ÜŒÙ�HÔáÜŒÜ�˜Q‘Ð  ¨[¸©^Ð,<¸IØ˜Q‘Ð Ð 6°{À1±~Ð6FÐFWðYô 	ZäŒÙ�GÕð r   Ú__main__zcan castr]   zJIn these tables, ValueError is '!', OverflowError is '@', TypeError is '#'zscalar + scalarzscalar + neg scalarrM   zarray + scalarzarray + neg scalarr6   zNew casting type promotion:)F)Ú__doc__Únumpyr   Únumpy._core.numerictypesr   Úcollectionsr   r   r0   rG   ry   r   r)   rs   r   r   r   ú<module>r      s?  ðñó Ý /Ý "÷
ñ 
òó*&ðR &*°%¸uô ]ð@ ˆzÓÙ	ˆ*ÔÙ˜Ÿ™ UÑ+Ô,Ù	„GÙ	Ð
VÔWÙ	„GÙ	Ð
ÔÙ˜Ÿ™ eÑ,¨a°°EÔ:Ù	„GÙ	Ð
Ô Ù˜Ÿ™ eÑ,¨a°°UÔ;Ù	„GÙ	Ð
ÔÙ˜Ÿ™ eÑ,¨a°°DÔ9Ù	„GÙ	Ð
ÔÙ˜Ÿ™ eÑ,¨a°°TÔ:Ù	„GÙ	ˆ/ÔÙ˜Ÿ™ eÑ,¨a°°E¸4Ô@Ù	Ð
'Ô(Ù $¨t¸4Ö@ð+ r   