Ë
    ›2Úi$  ã                   ób  — d Z ddl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)Ú
namedtuplec                   óB   — e Zd Zd„ Zd„ Zd„ Z ej                  d«      Zy)ÚGenericObjectc                 ó   — || _         y ©N)Úv)Úselfr   s     úZ/var/www/html/acx/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_tabler/      s¼   € Ü	ˆ#�3ÕØò ˆÜˆd˜Öðä	„GØò ˆÜˆc�sÕØò 	!ˆCÜ�{‰{˜3  WÔ-Ø‘Ü—‘˜S # vÔ.Ø‘Ü—‘˜S # {Ô3Ø‘Ü—‘˜S # xÔ0Ø‘à�Ü�$˜CÖ ð	!ô 	�ñr   Fc                 óL  — t        dd¬«       | D ]  }t        |d¬«       Œ t        «        | D �]J  }|dk(  rt        }nt        j                  |«      }t        |d¬«       | D �]	  }|dk(  rt        }	nt        j                  |«      }		 |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        «        �ŒM 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   Ú
obj2sctypeÚ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   *   sg  € Ü	ˆ#�3ÕØò ˆÜˆd˜Öðä	„GØó !ˆØ�#Š:Ü#‰Gä—m‘m CÓ(ˆGäˆc�sÕØó 	!ˆCØ�cŠzÜ'‘äŸ-™-¨Ó,�ðÙÜ!Ÿ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   ÂCE=Å=F#Æ

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   S   s  û€ õ Fð ØØØØØñ€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   Úcollectionsr   r   r/   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   