gR& @ddlZddlZddlZddlZddlZddlmcmZ ddl m Z m Z ej ejjZej ejjZdZddzdz Ze ZdZded Dd ed Dzd ed d Dzd ed d Dzded d DzeeddzZded Dded Dzded d Dzded d Dzded d DzeeddzdgzZdeDZejdZdZdZdZ dZ!dZ"dZ#dZ$d Z%d!Z&d"Z'ej(j)d#Z*d$Z+d%Z,dS)&N) assert_raises assert_equalllc"g|] }t|z S) INT64_MIN.0js s/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib64/python3.11/site-packages/numpy/core/tests/test_extint128.py r&&&qY]&&&c"g|] }t|z  Sr ) INT64_MAXr s rrrrrc"g|] }t|z Sr  INT64_MIDr s rrrs+++qY]+++ric(g|]}dtz|zSrrr s rrrs ---Qy[1_---rc(g|]}tdz|zSrrr s rrrs!...!Y\A...riFc"g|] }t|z Sr ) INT128_MINr s rrr'''Z!^'''rc"g|] }t|z  Sr ) INT128_MAXr s rrr rrc"g|] }t|z Sr  INT128_MIDr s rrr!s,,,Z!^,,,rc(g|]}dtz|zSrr"r s rrr"s!...!Qz\A...rc(g|]}tdz|zSrr"r s rrr#s!///1Z]Q///rFcg|] }|dk| S)rr )r xs rrr(s555!q1uuAuuurc'Kdgfd} |VdS#t$rAddl}dtdd|}t |wxYw)z} Iterate over Cartesian product of *args, and if an exception is raised, add information of the current iterate. Nc3@KtjD] }|d<|V dSNr) itertoolsproduct)vargsvalues riteratezexc_iter..iterate4s<"D)  AE!HGGGG  rrzAt:  ) Exception tracebackrepr format_excAssertionError)r.r0r3msgr/s` @rexc_iterr8+sFE "gii """"58nnnn'224446S!!! "s A A(c tjdftjdftjdfg}t |t t 5}|D]\}}}|\}}|||}t |cxkr tks%ntttj |||Stj |||}||krt|| ddddS#1swxYwYdS)Nrr) operatoraddsubmulr8 INT64_VALUESr rr OverflowErrormtextint_safe_binopr) opsitxopabpyopopcds rtest_safe_binoprLBs9 q q q C #|\ 2 2 'b ' 'ICAHD"Q A////i////mR-A1aLLLL(Ar2266 A&&& ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 'sBCCCctt5}|D].\}tj|}||krt ||/ ddddS#1swxYwYdSN)r8r?rA extint_to_128rrDrFrGs r test_to_128rQYs ,  #2 # #BA ##AAvvQ""" ###################s2AAAc8tt5}|D]h\}t|cxkr tks#nt t t j|>t j|}||krt||i ddddS#1swxYwYdSrN) r8 INT128_VALUESr rrr@rA extint_to_64rrPs r test_to_64rUas - 'B ' 'BA////i////mR_a@@@@OA&&66 A&&&  '''''''''''''''''''sA,BBBcttt5}|D]5\}}||z}tj||}||krt ||6 ddddS#1swxYwYdSrN)r8r?rAextint_mul_64_64rrDrFrGrJrKs rtest_mul_64_64rYls , - -# # #DAqAA#Aq))AAvvQ"""  ###################9A""A&)A&cTttt5}|D]p\}}||z}t|cxkr tks$nt t t j||Et j||}||krt||q ddddS#1swxYwYdSrN) r8rSrr rr@rAextint_add_128rrXs r test_add_128r]u - / /'2 ' 'DAqAA!1111z1111mR->1EEEE%a++66 A&&& '''''''''''''''''''A4BB!$B!cTttt5}|D]p\}}||z }t|cxkr tks$nt t t j||Et j||}||krt||q ddddS#1swxYwYdSrN) r8rSrr rr@rAextint_sub_128rrXs r test_sub_128rbr^r_ctt5}|D]1\}| }tj|}||krt ||2 ddddS#1swxYwYdSrN)r8rSrAextint_neg_128rrDrFrGrJs r test_neg_128rfs - #B # #BAA!!$$AAvvQ"""  ###################s5AAActt5}|D]S\}|dkr| dzddzdz z }n|dzddzdz z}tj|}||krt ||T ddddS#1swxYwYdS)Nrrrr)r8rSrAextint_shl_128rres r test_shl_128ris - #B # #BA1uuqyQVAX./!V3q)!!$$AAvvQ""" ###################sAA::A>A>ctt5}|D]A\}|dkr| dz }n|dz }tj|}||krt ||B ddddS#1swxYwYdS)Nrr)r8rSrAextint_shr_128rres r test_shr_128rls - #B # #BA1uuraiLF!!$$AAvvQ""" ###################sAA((A,/A,cttt5}|D]6\}}||k}tj||}||krt ||7 ddddS#1swxYwYdSrN)r8rSrA extint_gt_128rrXs r test_gt_128ros - / /#2 # #DAqAA A&&AAvvQ"""  ###################s:A##A'*A'cttt5}|D]\}}|dkrt||\}}nt| |\}}| }| }t j||\}}||ks||ks ||z|z|kr6t ||t ||t ||z|z| ddddS#1swxYwYdSr*)r8rSINT64_POS_VALUESdivmodrAextint_divmod_128_64r)rDrFrGrJcrrKdrs rtest_divmod_128_64rvs9 -!1 2 2*b * *DAqAvvq! 22r1 2BS+Aq11EArAvvbAaC"HMMQ"""R$$$QqS2Xq))) *******************sB#C  CCcttt5}|D]5\}}||z}tj||}||krt ||6 ddddS#1swxYwYdSrN)r8rSrqrAextint_floordiv_128_64rrXs rtest_floordiv_128_64rys -!1 2 2#b # #DAqQA)!Q//AAvvQ"""  ###################rZcttt5}|D];\}}||zdz |z}tj||}||krt ||< ddddS#1swxYwYdS)Nr)r8rSrqrAextint_ceildiv_128_64rrXs rtest_ceildiv_128_64r|s -!1 2 2#b # #DAqQq A(A..AAvvQ"""  ###################s?A((A,/A,)-r+ contextlibr;pytestnumpynpnumpy.core._multiarray_testscore_multiarray_testsrA numpy.testingrriinfoint64maxrminr rr rr#rangelistr?rSrqcontextmanagerr8rLrQrUrYr]rbrfrirlromarkslowrvryr|r rrrs\ )))))))))55555555 BHRX   " BHRX   "  VaZ [  '&EE"II&&&&&EE"II&&&'++EE#rNN+++,.-eeCnn---./.uuS"~~... /  DsB  ('UU2YY'''''UU2YY'''(,,UU3^^,,,-/.uuS"~~.../0/c2/// 0  DsB   G  65|555 """,'''.###'''### ' ' ' ' ' '### # # # # # ####***$########r