bg$dZddlZddlmZGddZdZddZd ddd d Ze d kr8e d eej de e de e deej dddde e deej dddde e deej dddd e e deej dddd e e deej ddddd e ded d d dSdS)z:Prints type-coercion tables for the built-in NumPy types N) namedtuplec@eZdZdZdZdZejdZdS) GenericObjectc||_dSN)v)selfrs v/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib64/python3.11/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 sL BHSMMEEEr rctdd|D]}t|dt|D]}t|d|D]y}tj||drd}nMtj||drd}n4tj||drd }ntj||d rd }nd}t|dztdS) NX endequiv#safe= same_kind~unsafe.)printrcan_cast)ntypescharrowcolcasts r print_cancast_tabler/s #3 d GGG cs ! !C{3W-- S#v.. S#{33 S#x00  $C  r FcTtdd|D]}t|dt|D]n}|dkrt}ntj|}t|d|D]&}|dkrt} ntj|} |r!tj||g|} n ||} | |} |r%tj| j| jj}nbtj| | } t| tj r | jj}n&tjt| j}n,#t$rd}Ynt$rd}Ynt$rd}YnwxYwt|d(tpdS) N+rrr)r!@r!)r(rr obj2sctypearray promote_typesrr+add isinstancendarraytype ValueError OverflowError TypeError) r*inputfirstvalueinputsecondvalue firstarrayuse_promote_typesr+r,rowtyper-coltyperowvaluecolvaluevalues r print_coercion_tablerG*s #3 d GGG!! #::#GGmC((G cs ! !Cczz'-,, 8!x)A)A(B'RRRHH&w77H"7#344$:+HNHNKKPDDF8X66E!%44:${/!xU 449            $C  C!!sCE F' F4 FFTr)legacyflagsc 0 ddlm}ddddddd}d d d d d dddd}tdgd}|ddd |}it |D]} |d |d|dvr i|d<|d} ||d}|drdnd}d}|dr|dz}|dr|dz}|dr|dz}||}||||| |d<t jdfd } t | ! d, fd# } |r6ttd$t| d"|r6ttd%t| d|r\tt|dd&|dd'|dd(|dd)t| d*d+Sd+S)-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}n#t $rtj}YnwxYw||jfSr)rrr:indexr+r;inf)xrindxtypess r sorterz$print_new_cast_table..sortersc   ;;uz**DD   6DDD ej!!s7AA)keyr)c tddD]/}ttj|jjd0tD]}ttj|jjd|i}D]5}tt |||d6tdS)Nrrr)r(rrr:r+getgetattr)fielddtfrom_dtr,to_dtdtypes no_cast_infotables r print_tablez)print_new_cast_table..print_tables cs 3 3B "(27##(c 2 2 2 2 2   G "(7<((-3 7 7 7 7))GR((C M Mgcgge\::EBBLLLLL GGGG   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_tablerySsFEEEEE       J e UuU K;(G(G(GHHI9S#s++L $ $ & &E E UUFWW 4<    4: r~sN""""""        *&&&&R&*%u]]]]]@ z E* U+,,, EGGG E VWWW EGGG E e,aE::: EGGG E    e,aU;;; EGGG E e,aD999 EGGG E e,aT::: EGGG E/e,aE4@@@ E '((($t4@@@@@@+r