K ipdZddlmZddlZddlmZGddZdZ dd Z d ddd d Z e d k(re deejde e de e de ejdddde e de ejdddde e de ejdddd e e de ejdddd e e de ejddddd e de d d d yy)z:Prints type-coercion tables for the built-in NumPy types ) namedtupleN) obj2sctypecBeZdZdZdZdZejdZy) GenericObjectc||_yN)v)selfr s i/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/numpy/testing/print_coercion_tables.py__init__zGenericObject.__init__ s c|Srr others r __add__zGenericObject.__add__ r c|Srrrs r __radd__zGenericObject.__radd__rr ON)__name__ __module__ __qualname__r rrnpdtyperr r rr s" BHHSMEr rctdd|D]}t|dt|D]}t|d|D]y}tj||drd}nPtj||drd}n6tj||drd }ntj||d rd }nd}t|d{ty) NX endequiv#safe= same_kind~unsafe.)printrcan_cast)ntypescharrowcolcasts r print_cancast_tabler0s #3 d G cs !C{{3W-S#v.S#{3S#x0 $C  ! r Fc"tdd|D]}t|dt|D]5}|dk(rt}n t|}t|d|D]}|dk(rt} n t|} |rtj||g|} n||} | |} |r5tj | j | j j}notj| | } t| tjr| j j}n(tj t| j}t|dt8y#t$rd}Y+t$rd}Y7t$rd}YCwxYw) N+rrr)r!@r")r)rrrarray promote_typesrr,add isinstancendarraytype ValueError OverflowError TypeError) r+inputfirstvalueinputsecondvalue firstarrayuse_promote_typesr,r-rowtyper.coltyperowvaluecolvaluevalues r print_coercion_tablerG-s] #3 d G! #:#G oG cs !Ccz'$S/ !xx)A(B'RH&7H"#34$++HNNHNNKPPDFF8X6E!%4${{//!xxU 499 $C 3 !4 C!4     s3CE(( F5 F F FTr*legacyflagsc 2 ddlm}ddddddd}d d d d d dddd}tdgd}|ddd |}it |D]} j |d j |d|dvri|d<|d} ||d}|drdnd}d}|dr|dz}|dr|dz}|dr|dz}||}||||| |d<t j dfd } t | ! d, fd# } |r'ttd$t| d"|r'ttd%t| d|r@tt|dd&|dd'|dd(|dd)t| d*y+y+)-z[Prints new casts, the values given are default "can-cast" values, not actual ones. r)get_all_cast_informationrr"r$r&r()ru▗u█u▚u▐u▄u▜u▙u▟)rrNrOrQrP cast_inforHfromtocastingrILrequires_pyapirNsupports_unalignedrOno_floatingpoint_errorsrQAllctj|j} j|j}||jfS#t $rtj }Y)wxYwr)rrr:indexr,r;inf)xrindxtypess r sorterz$print_new_cast_table..sortersY  ;;uzz*Dejj!! 66D sA A'&A')keyr*c tddD]6}ttj|jjd8tD]}ttj|jjdj |i}D])}tt |j ||d+ty)Nrrr)r)rrr:r,getgetattr)fielddtfrom_dtr-to_dtdtypes no_cast_infotables r print_tablez)print_new_cast_table..print_tables cs 3B "((277#((c 2 3  G "((7<<(--3 7))GR(C Mgcgge\:EBL 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-errorsrJN)r*) numpy._core._multiarray_testsrLrsetr7r typecodessortedr))r*rIrJrL cast_table flags_tablerUcastsr/to_dictrdrprmrnrorcs @@@@r print_new_cast_tableryWsG       J U UuU K;(GHIS#s+L $ &E E UFW 4<  4: rsD#/  ,,1'T&*%u`F z * U+, G VW G e,aE: G  e,aU; G e,aD9 G e,aT: G /e,aE4@ '($t4@+r