ó
    �œ‘h]  ã                   óp  • S r SSKJr  SSKrSSKJr   " S S5      rS r SS	 jr	S
SSS.S jr
\S:X  Ga  \" S5        \" \R                  S   5        \" 5         \" S5        \" 5         \" S5        \	" \R                  S   SSS5        \" 5         \" S5        \	" \R                  S   SSS5        \" 5         \" S5        \	" \R                  S   SSS
5        \" 5         \" S5        \	" \R                  S   SSS
5        \" 5         \" S5        \	" \R                  S   SSSS
5        \" S5        \
" S
S
S
S9  gg)z:Prints type-coercion tables for the built-in NumPy types

é    )Ú
namedtupleN)Ú
obj2sctypec                   óJ   • \ rS rSrS rS rS r\R                  " S5      rSr	g)ÚGenericObjecté   c                 ó   • Xl         g ©N©Úv)Úselfr   s     ÚgC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\numpy/testing/print_coercion_tables.pyÚ__init__ÚGenericObject.__init__   s   € Ø�ó    c                 ó   • U $ r	   © ©r   Úothers     r   Ú__add__ÚGenericObject.__add__   ó   € Øˆr   c                 ó   • U $ r	   r   r   s     r   Ú__radd__ÚGenericObject.__radd__   r   r   ÚOr
   N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   ÚnpÚdtypeÚ__static_attributes__r   r   r   r   r      s    † òòòð �HŠH�S‹MƒEr   r   c                 ó®  • [        SSS9  U  H  n[        USS9  M     [        5         U  H¨  n[        USS9  U  H‹  n[        R                  " X#S5      (       a  SnO_[        R                  " X#S5      (       a  SnO@[        R                  " X#S5      (       a  S	nO![        R                  " X#S
5      (       a  SnOSn[        USS9  M�     [        5         Mª     g )NÚXÚ ©ÚendÚequivÚ#ÚsafeÚ=Ú	same_kindÚ~ÚunsafeÚ.)Úprintr    Úcan_cast)ÚntypesÚcharÚrowÚcolÚcasts        r   Úprint_cancast_tabler7      s±   € Ü	ˆ#�3ÒÛˆÜˆd˜Ôñ ä	„GÛˆÜˆc�sÒÛˆCÜ�{Š{˜3 W×-Ñ-Ø‘Ü—’˜S v×.Ñ.Ø‘Ü—’˜S {×3Ñ3Ø‘Ü—’˜S x×0Ñ0Ø‘à�Ü�$˜CÔ ñ ô 	Žò r   Fc                 óB  • [        SSS9  U  H  n[        USS9  M     [        5         U  GHE  nUS:X  a  [        nO[        U5      n[        USS9  U  GH  nUS:X  a  [        n	O[        U5      n	 U(       a  [        R                  " U" U5      /US9n
OU" U5      n
U	" U5      nU(       a6  [        R
                  " U
R                  UR                  5      R                  nOv[        R                  " X«5      n[        U[        R                  5      (       a  UR                  R                  nO*[        R                  " [        U5      5      R                  n [        USS9  GM     [        5         GMH     g ! [         a    Sn N-[         a    Sn N:[         a    Sn NGf = f)	NÚ+r%   r&   r   )r!   Ú!Ú@r)   )r0   r   r   r    ÚarrayÚpromote_typesr!   r3   ÚaddÚ
isinstanceÚndarrayÚtypeÚ
ValueErrorÚOverflowErrorÚ	TypeError)r2   ÚinputfirstvalueÚinputsecondvalueÚ
firstarrayÚuse_promote_typesr3   r4   Úrowtyper5   ÚcoltypeÚrowvalueÚcolvalueÚvalues                r   Úprint_coercion_tablerN   -   sO  € ä	ˆ#�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Ó6�EÜ! %¬¯©×4Ñ4Ø$Ÿ{™{×/Ñ/™ä!Ÿxšx¬¨U«Ó4×9Ñ9™ô �$˜CÕ ñ3 ô4 	�òC øô4 ó Ø’Ü ó Ø’Üó Ø’ðús,   Á/A0E5Ã AE5Ä,)E5Å5FÆFÆFÆFT©r1   ÚlegacyÚflagsc           
      ór  ^^^^• SSK Jn  SSSSSSS.nS	S
SSSSSSS.n[        S/ SQ5      nU" SSS5      mU" 5       n0 m[        5       mU H˜  nTR	                  US   5        TR	                  US   5        US   T;  a  0 TUS   '   TUS      n	XHS      n US   (       a  SOSnSnUS   (       a  US-  nUS   (       a  US-  nUS   (       a  US-  nXR   nU" XUS9X˜S   '   Mš     [
        R                  S   mU4S  jn
[        TU
S!9mS,UUU4S# jjnU (       a'  [        5         [        S$5        [        5         U" S"5        U(       a'  [        5         [        S%5        [        5         U" S5        U(       a@  [        5         [        US    S&US    S'US    S(US    S)35        [        5         U" S*5        g+g+)-zSPrints 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   é   rU   rV   rX   rW   é   é   Ú	cast_inforO   ÚfromÚtoÚcastingrP   ÚLÚrequires_pyapirU   Úsupports_unalignedrV   Úno_floatingpoint_errorsrX   ÚAllc                 óÖ   >• [         R                  " U R                  5      n TR                  UR                  5      nX!R                  4$ ! [
         a    [         R                  n N)f = fr	   )r    r!   rA   Úindexr3   rB   Úinf)Úxr!   ÚindxÚtypess      €r   ÚsorterÚ$print_new_cast_table.<locals>.sorter‹   sW   ø€ ô —’˜Ÿ™Ó ˆð	Ø—;‘;˜uŸz™zÓ*ˆDð —j‘jÐ!Ð!øô ó 	Ü—6‘6ŠDð	ús   £A ÁA(Á'A()Úkeyr1   c           
      ó¬  >• [        SSS9  T H5  n[        [        R                  " UR                  5      R                  SS9  M7     [        5         T H~  n[        [        R                  " UR                  5      R                  SS9  TR                  U0 5      nT H'  n[        [        UR                  UT5      U 5      SS9  M)     [        5         M€     g )Nr$   r%   r&   )r0   r    r!   rA   r3   ÚgetÚgetattr)ÚfieldÚdtÚfrom_dtr4   Úto_dtÚdtypesÚno_cast_infoÚtables        €€€r   Úprint_tableÚ)print_new_cast_table.<locals>.print_table—   s›   ø€ Üˆc�sÒÛˆBÜ”"—(’(˜2Ÿ7™7Ó#×(Ñ(¨cÔ2ñ äŒÛˆGÜ”"—(’(˜7Ÿ<™<Ó(×-Ñ-°3Ò7Ø—)‘)˜G RÓ(ˆCÛ�Ü”g˜cŸg™g e¨\Ó:¸EÓBÈÔLñ  äŽ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-errorsrQ   N)r1   )	Únumpy._core._multiarray_testsrS   r   Úsetr>   r    Ú	typecodesÚsortedr0   )r1   rP   rQ   rS   Ú
cast_tableÚflags_tabler\   Úcastsr6   Úto_dictrk   rx   ru   rv   rw   rj   s               @@@@r   Úprint_new_cast_tabler‚   W   sù  û€ õ Gð ØØØØØñ€Jð �UØ�U˜uØ˜UØ ñ	€Kô ˜;Ò(GÓH€IÙ˜S # sÓ+€Lá$Ó&€EØ€EÜ‹U€FÛˆØ�
‰
�4˜‘<Ô Ø�
‰
�4˜‘:Ôà�‰<˜uÓ$Ø"$ˆE�$�v‘,ÑØ˜˜V™Ñ%ˆà 9™oÑ.ˆØ˜XŸ‘¨CˆØˆØÐ ×!Ø�Q‰JˆEØÐ$×%Ø�Q‰JˆEØÐ)×*Ø�Q‰JˆEàÑ"ˆÙ'°ÐPUÑVˆ�T‘
Óñ' ô. �L‰L˜Ñ€Eõ"ô �F Ñ'€F÷
ñ 
ö äŒÜÐTÔUÜŒÙ�JÔæÜŒÜÐ;Ô<ÜŒÙ�HÔæÜŒÜ�˜Q‘Ð  Ø˜Q‘Ð  	Ø˜Q‘Ð Ð 6Ø˜Q‘Ð Ð 1ð3ô 	4ô 	ŒÙ�GÕð r   Ú__main__zcan castrd   zJIn these tables, ValueError is '!', OverflowError is '@', TypeError is '#'zscalar + scalarzscalar + neg scalarrT   zarray + scalarzarray + neg scalarr=   zNew casting type promotion:)F)Ú__doc__Úcollectionsr   Únumpyr    Únumpy._core.numerictypesr   r   r7   rN   r‚   r   r0   r|   r   r   r   Ú<module>rˆ      sD  ðñõ #ã Ý /÷
ñ 
òð, ,1ô'ðT &*°%¸uõ `ðF ˆ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   