§
    ÇÁ³gO  ã                   óà  — 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    �r8 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
¬¦  «         dS dS )z:Prints type-coercion tables for the built-in NumPy types

é    N)Ú
obj2sctype)Ú
namedtuplec                   ó@   — e Zd Zd„ Zd„ Zd„ Z ej        d¦  «        ZdS )ÚGenericObjectc                 ó   — || _         d S ©N)Úv)Úselfr	   s     úa/var/www/html/mpstechhub/venv/lib/python3.11/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   
   sL   € € € € € ðð ð ðð ð ðð ð ð ˆBŒH�S‰MŒM€E€E€Er   r   c                 ó°  — t          dd¬¦  «         | D ]}t          |d¬¦  «         Œt          ¦   «          | D ]�}t          |d¬¦  «         | D ]y}t          j        ||d¦  «        rd}nMt          j        ||d¦  «        rd}n4t          j        ||d¦  «        rd	}nt          j        ||d
¦  «        rd}nd}t          |d¬¦  «         Œzt          ¦   «          Œžd S )NÚXú ©ÚendÚequivú#Úsafeú=Ú	same_kindú~Úunsafeú.)Úprintr   Úcan_cast)ÚntypesÚcharÚrowÚcolÚcasts        r   Úprint_cancast_tabler0      s  € Ý	ˆ#�3ÐÑÔÐØð ð ˆÝˆd˜ÐÑÔÐÐÝ	�G„G€GØð ð ˆÝˆc�sÐÑÔÐØð 	!ð 	!ˆCÝŒ{˜3  WÑ-Ô-ð 	Ø��Ý”˜S # vÑ.Ô.ð Ø��Ý”˜S # {Ñ3Ô3ð Ø��Ý”˜S # xÑ0Ô0ð Ø��à�Ý�$˜CÐ Ñ Ô Ð Ð Ý‰Œˆˆðð r   Fc                 ó@  — t          dd¬¦  «         | D ]}t          |d¬¦  «         Œt          ¦   «          | D �]d}|dk    rt          }nt          |¦  «        }t          |d¬¦  «         | D �]!}|dk    rt          }	nt          |¦  «        }		 |r!t          j         ||¦  «        g|¬¦  «        }
n ||¦  «        }
 |	|¦  «        }|r%t          j        |
j        |j        ¦  «        j        }nbt          j        |
|¦  «        }t          |t          j
        ¦  «        r|j        j        }n&t          j        t          |¦  «        ¦  «        j        }n,# t          $ r d}Y nt          $ r d}Y nt          $ r d}Y nw xY wt          |d¬¦  «         �Œ#t          ¦   «          �Œfd S )	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€GØð !ñ !ˆØ�#Š:ˆ:Ý#ˆGˆGå  ‘o”oˆGåˆc�sÐÑÔÐØð 	!ñ 	!ˆCØ�cŠzˆzÝ'��å$ S™/œ/�ðØð 8Ý!œx¨¨°Ñ)AÔ)AÐ(BÈ'ÐRÑRÔR�H�Hà&˜w Ñ7Ô7�HØ"˜7Ð#3Ñ4Ô4�Ø$ð :ÝÔ+¨H¬N¸H¼NÑKÔKÔP�D�DåœF 8¨XÑ6Ô6�EÝ! %­¬Ñ4Ô4ð :Ø$œ{Ô/˜˜å!œx­¨U©¬Ñ4Ô4Ô9˜øøÝð ð ð Ø���Ý ð ð ð Ø���Ýð ð ð Ø���ðøøøå�$˜CÐ Ñ Ô Ð Ñ Ý‰Œˆ‰ðC!ð !s   ÂCEÅE8ÅE8Å*E8Å7E8T©r*   ÚlegacyÚflagsc           
      ó0  ‡‡‡‡— 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 ]½}‰                     |d         ¦  «         ‰                     |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#„	}| r6t          ¦   «          t          d$¦  «         t          ¦   «           |d"¦  «         |r6t          ¦   «          t          d%¦  «         t          ¦   «           |d¦  «         |r\t          ¦   «          t          |d         › d&|d         › d'|d         › d(|d         › d)�¦  «         t          ¦   «           |d*¦  «         d+S d+S )-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        ¦  «        }n# t
          $ r t           j        }Y nw xY w||j        fS r   )r   r   r:   Úindexr,   r;   Úinf)Úxr   ÚindxÚtypess      €r   Úsorterz$print_new_cast_table.<locals>.sorter‡   sc   ø€ õ ”˜œÑ Ô ˆð	Ø—;’;˜uœzÑ*Ô*ˆDˆDøÝð 	ð 	ð 	Ý”6ˆDˆDˆDð	øøøà�e”jÐ!Ð!s   œ7 ·AÁA)Úkeyr*   c           
      óÆ  •— t          dd¬¦  «         ‰D ]/}t          t          j        |j        ¦  «        j        d¬¦  «         Œ0t          ¦   «          ‰D ]‹}t          t          j        |j        ¦  «        j        d¬¦  «         ‰                     |i ¦  «        }‰D ]5}t          t          |                     |‰¦  «        | ¦  «        d¬¦  «         Œ6t          ¦   «          ŒŒd S )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ð 	3ˆBÝ•"”(˜2œ7Ñ#Ô#Ô(¨cÐ2Ñ2Ô2Ð2Ð2Ý‰ŒˆØð 	ð 	ˆGÝ•"”(˜7œ<Ñ(Ô(Ô-°3Ð7Ñ7Ô7Ð7Ø—)’)˜G RÑ(Ô(ˆCØð Mð M�Ý•g˜cŸgšg e¨\Ñ:Ô:¸EÑBÔBÈÐLÑLÔLÐLÐLÝ‰GŒGˆGˆ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ÐFÐFÐFÐFÐFð ØØØØØðð €Jð �eØ�U˜uØ˜UØ ð	ð €Kõ ˜;Ð(GÐ(GÐ(GÑHÔH€IØ�9˜S # sÑ+Ô+€Là$Ð$Ñ&Ô&€EØ€EÝ‰UŒU€FØð Wð WˆØ�
Š
�4˜”<Ñ Ô Ð Ø�
Š
�4˜”:ÑÔÐà�Œ<˜uÐ$Ð$Ø"$ˆE�$�v”,ÑØ˜˜VœÔ%ˆà˜d 9œoÔ.ˆØ˜XœÐ/��¨CˆØˆØÐ Ô!ð 	Ø�Q‰JˆEØÐ$Ô%ð 	Ø�Q‰JˆEØÐ)Ô*ð 	Ø�Q‰JˆEà˜EÔ"ˆØ'˜i°À&ÐPUÐVÑVÔVˆ��T”
ÑÐõ ŒL˜Ô€Eð"ð "ð "ð "ð "õ �F Ð'Ñ'Ô'€Fð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð ð  å‰ŒˆÝÐTÑUÔUÐUÝ‰ŒˆØˆ�JÑÔÐàð Ý‰ŒˆÝÐ;Ñ<Ô<Ð<Ý‰ŒˆØˆ�HÑÔÐàð Ý‰ŒˆÝ�˜Q”ð Yð Y¨[¸¬^ð Yð YØ˜Q”ðYð YØ7BÀ1´~ðYð Yð Yñ 	Zô 	Zð 	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ÒÑØ	€Eˆ*ÑÔÐØÐ˜œ UÔ+Ñ,Ô,Ð,Ø	€E�G„G€GØ	€EÐ
VÑWÔWÐWØ	€E�G„G€GØ	€EÐ
ÑÔÐØÐ˜œ eÔ,¨a°°EÑ:Ô:Ð:Ø	€E�G„G€GØ	€EÐ
Ñ Ô Ð ØÐ˜œ eÔ,¨a°°UÑ;Ô;Ð;Ø	€E�G„G€GØ	€EÐ
ÑÔÐØÐ˜œ eÔ,¨a°°DÑ9Ô9Ð9Ø	€E�G„G€GØ	€EÐ
ÑÔÐØÐ˜œ eÔ,¨a°°TÑ:Ô:Ð:Ø	€E�G„G€GØ	€Eˆ/ÑÔÐØÐ˜œ eÔ,¨a°°E¸4Ñ@Ô@Ð@Ø	€EÐ
'Ñ(Ô(Ð(ØÐ $¨t¸4Ð@Ñ@Ô@Ð@Ð@Ð@ð+ Ðr   