§ y<ˆj¢^ãón—ddlZddlZddlZddlmZmZmZmZddlm Z m Z m Z m Z d„Z Gd„d¦«ZdS)éN)Úuint16Úfloat16Úfloat32Úfloat64)Úassert_Ú assert_equalÚ_OLD_PROMOTIONÚIS_WASMcóÜ— ||i|¤Žtdd|z¦«dS#t$rB}tt|¦« |¦«dkd|z¦«Yd}~dSd}~wwxYw)NFz%Did not raise floating point %s errorr)rÚFloatingPointErrorÚstrÚfind)ÚstrmatchÚcallableÚargsÚkwargsÚexcs ún/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib64/python3.11/site-packages/numpy/core/tests/test_half.pyÚassert_raises_fper sÉ€ðD؈�$Ð!˜&Ð!Ð!Ð!õ �Ø7¸(ÑBñ Dô Dð Dð Dð Døõ ðDðDðDÝ•�C‘”— ’ ˜hÑ'Ô'¨1Ò,Ø7¸(ÑBñ Dô Dð Dð Dð Dð Dð Dð Dð DøøøøðDøøøs‚Ÿ A+©7A&Á&A+cób—eZdZd„Zd„Zej dddg¦«d„¦«Zej dddg¦«d„¦«Z ej dgd ¢¦«ej d gd ¢¦«ej d e j e j g¦«e j ¦«d „¦«¦«¦«¦«Zej gd ¢e j e jdfe j e jdfg¦«d„¦«Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Ze j ¦«d„¦«Zej ej¦«dkd¬¦«ej ed¬¦«d„¦«¦«Zd„Z d S)!ÚTestHalfc óÌ—tjdt¬¦«|_t|j_tj|jt¬¦«|_tj|jt¬¦«|_ tj tjdddt¬¦«tjdddt¬¦«f¦«|_ t|j _tj|j t¬¦«|_ tj|j t¬¦«|_|j dd…|_|j dd…|_|jdd…|_dS) Ni©Údtypeéüiÿéÿÿÿÿri|é)ÚnpÚarangerÚall_f16rrÚarrayrÚall_f32rÚall_f64Ú concatenateÚ nonan_f16Ú nonan_f32Ú nonan_f64Ú finite_f16Ú finite_f32Ú finite_f64)Úselfs rÚ setup_methodzTestHalf.setup_methods€å”y µÐ7Ñ7Ô7ˆŒ Ý$ˆŒ ÔÝ”x ¤ µGÐ<Ñ<Ô<ˆŒ Ý”x ¤ µGÐ<Ñ<Ô<ˆŒ õœÝ!#¤¨6°6¸2ÅVÐ!LÑ!LÔ!LÝ!#¤¨6°6¸1ÅFÐ!KÑ!KÔ!Kð!MñNôNˆŒõ 'ˆŒÔÝœ $¤.½Ð@Ñ@Ô@ˆŒÝœ $¤.½Ð@Ñ@Ô@ˆŒðœ.¨¨2¨Ô.ˆŒØœ.¨¨2¨Ô.ˆŒØœ.¨¨2¨Ô.ˆŒˆˆócóf—tj|jt¬¦«}t |j t¬¦«| t¬¦«¦«tj|jt¬¦«}t |j t¬¦«| t¬¦«¦«tj|j tj ¬¦«}tj|t¬¦«}t |j  t¬¦«| t¬¦«¦«tj dd¦«}tj|t¬¦«}tj|t¬¦«}t ||¦«dS)z[Checks that all 16-bit values survive conversion to/from 32-bit and 64-bit floatriøÿÿiN) rr!r"rrr Úviewrr#r%Ú longdoublerÚint)r+ÚbÚa_ldÚi_intÚi_f16Újs rÚtest_half_conversionszTestHalf.test_half_conversions(sY€õ ŒH�T”\­Ð 1Ñ 1Ô 1ˆÝ�T”\×&Ò&­VÐ&Ñ4Ô4Ø—V’V¥&�VÑ)Ô)ñ +ô +ð +õ ŒH�T”\­Ð 1Ñ 1Ô 1ˆÝ�T”\×&Ò&­VÐ&Ñ4Ô4Ø—V’V¥&�VÑ)Ô)ñ +ô +ð +õ Œx˜œ­b¬mÐ<Ñ<Ô<ˆÝ ŒH�T¥Ð )Ñ )Ô )ˆÝ�T”^×(Ò(­vÐ(Ñ6Ô6Ø—V’V¥&�VÑ)Ô)ñ +ô +ð +õ” ˜% Ñ&Ô&ˆÝ”˜¥gÐ.Ñ.Ô.ˆÝ ŒH�U¥#Ð &Ñ &Ô &ˆÝ�U˜AÑÔÐÐÐr-Ú string_dtÚSÚUcóH—tj|›d�¦«}tjtj|¦«|ksJ‚tj|tj¦«|ksJ‚tjdtj¬¦« |¦«}|j|ksJ‚dS)NÚ32ér)rrÚ promote_typesrÚonesÚastype)r+r8Ú expected_dtÚarrs rÚtest_half_conversion_to_stringz'TestHalf.test_half_conversion_to_stringFs™€õ”h )Ð/Ð/Ð/Ñ0Ô0ˆ ÝÔ¥¤ ¨IÑ6Ô6¸+ÒEÐEÐEÐEÝÔ  ­2¬:Ñ6Ô6¸+ÒEÐEÐEÐEåŒg�a�rœzÐ*Ñ*Ô*×1Ò1°)Ñ<Ô<ˆØŒy˜KÒ'Ð'Ð'Ð'Ð'Ð'r-có¸—tjd|¬¦«}| tj¦«tjdtj¬¦«ksJ‚dS)Nz3.1416rg§èH.ÿ! @)rr!r@r)r+r8Ústrings rÚ test_half_conversion_from_stringz)TestHalf.test_half_conversion_from_stringPsL€å”˜(¨)Ð4Ñ4Ô4ˆØ�}Š}�RœZÑ(Ô(­B¬H°VÅ2Ä:Ð,NÑ,NÔ,NÒNÐNÐNÐNÐNÐNr-Úoffset)NÚupÚdownÚshiftÚfloat_tcóž—tjtjtj¦«j¦« tj¦«}tjd|dztj¬¦«}| tj¦« |¦«}|dkr!d|dd…|dd…zdd…z}n1|dkr!d|dd…|dd…zdd…z}n |dd…}|dkr)tj||tj ¦«¦«}n/|dkr)tj||tj ¦«¦«}| tj¦« tj¦«}|dd…  ¦«}|dkr |dkrd} n|dkr |dkrd} nd} |€7|ddd… tj ¦«d xx| z cc<n-| tj ¦«d xx| z cc<t||¦«dS) NrrrrHçà?rrIé.) rrÚfinfoÚmaxr/rrr@Ú nextafterÚinfÚcopyÚint16r) r+rKrJrGÚ max_patternÚ f16s_patternsÚ f16s_floatÚ res_patternsÚ cmp_patternsÚ shift_patterns rÚtest_half_conversion_roundingz&TestHalf.test_half_conversion_roundingUs:€õ ”j¥¤­"¬*Ñ!5Ô!5Ô!9Ñ:Ô:×?Ò?ÅÄ ÑJÔJˆ õœ  ! [°¡]½"¼)ÐDÑDÔDˆ Ø"×'Ò'­¬ Ñ3Ô3×:Ò:¸7ÑCÔCˆ ð �DŠ=ˆ=Ø  ¨3¨B¨3¤°*¸Q¸R¸R´.Ñ @À!À"À"ÔEÑEˆJˆJØ �fŠ_ˆ_Ø  ¨3¨B¨3¤°*¸Q¸R¸R´.Ñ @À#À2À#ÔFÑFˆJˆJà# A b DÔ)ˆJð �TŠ>ˆ>Ýœ j°'°'½"¼&±/´/ÑBÔBˆJˆJØ �vÒ Ð Ýœ j°'°'½2¼6¸'Ñ2BÔ2BÑCÔCˆJð"×(Ò(­¬Ñ4Ô4×9Ò9½"¼)ÑDÔDˆ ð% Q r TÔ*×/Ò/Ñ1Ô1ˆ à �FŠ?ˆ?˜v¨š~˜~؈MˆMØ �dŠ]ˆ]˜v¨Ò/Ð/؈MˆMðˆMð ˆ>à ˜˜˜A˜Ô × #Ò #¥B¤HÑ -Ô -¨cÐ 2Ð 2Ô 2°mÑ CÐ 2Ð 2Ñ 2Ð 2à × Ò �bœhÑ 'Ô '¨Ð ,Ð ,Ô ,° Ñ =Ð ,Ð ,Ñ ,å�\ <Ñ0Ô0Ð0Ð0Ð0r-)rKÚuint_tÚbitséé4cóä—tjd¦« tj¦« |¦«}|dksJ‚||d¦«z }| tj¦«dksJ‚t |¦«D]`}| |¦«|d|z¦«z}| |¦«}| tj¦«|ksJ‚ŒadS)Nrçp>rNr)rrr/rr@Úrange) r+rKr\r]Úsmallest_valueÚrounded_to_zeroÚiÚlarger_patternÚ larger_values rÚ(test_half_conversion_denormal_round_evenz1TestHalf.test_half_conversion_denormal_round_evenŽsõ€õœ 1™œ×*Ò*­2¬:Ñ6Ô6×=Ò=¸gÑFÔFˆØ Ò'Ð'Ð'Ð'ð)¨7¨7°1©:¬:Ñ5ˆØ×%Ò%¥b¤jÑ1Ô1°QÒ6Ð6Ð6Ð6õ�t‘”ð Eð EˆAà,×1Ò1°&Ñ9Ô9¸F¸FÀ1ÈÁ6¹N¼NÑJˆNØ)×.Ò.¨wÑ7Ô7ˆLØ×&Ò&¥r¤zÑ2Ô2°nÒDÐDÐDÐDÐDð  Eð Er-cóú—tjd¬¦«5ttj|j¦«tj|j¦«¦«ttj|j¦«tj|j¦«¦«ttj|j¦«tj|j¦«¦«ttj|j¦«tj|j¦«¦«ttj td¦«¦«tj ¦«ttj ¦«}t|j|k ¦« ¦«t||jk ¦« ¦«t|j|k ¦«¦«t||jk ¦«¦«t|j|k ¦« ¦«t||jk ¦« ¦«t|j|k ¦« ¦«t||jk ¦« ¦«t|j|k ¦« ¦«t||jk ¦« ¦«t|j|k ¦« ¦«t||jk ¦« ¦«ddd¦«dS#1swxYwYdS)NÚignore©Úalléàÿ)rÚerrstaterÚisnanr r"ÚisinfÚisfiniteÚsignbitÚspacingrrRÚnanrÚanyrl)r+rts rÚtest_nans_infszTestHalf.test_nans_infs¥sô€Ý Œ[˜XÐ &Ñ &Ô &ð 5ð 5å �œ $¤,Ñ/Ô/µ´¸$¼,Ñ1GÔ1GÑ HÔ HÐ HÝ �œ $¤,Ñ/Ô/µ´¸$¼,Ñ1GÔ1GÑ HÔ HÐ HÝ �œ T¤\Ñ2Ô2µB´KÀÄ Ñ4MÔ4MÑ NÔ NÐ NÝ �œ D¤LÑ1Ô1µ2´:¸d¼lÑ3KÔ3KÑ LÔ LÐ LÝ �œ¥G¨E¡N¤NÑ3Ô3µR´VÑ <Ô <Ð <õ�"œ&‘/”/ˆCå ˜œ¨Ò,×1Ò1Ñ3Ô3Ð3Ñ 4Ô 4Ð 4Ý ˜ ¤ Ò,×1Ò1Ñ3Ô3Ð3Ñ 4Ô 4Ð 4å �T”\ SÒ(×-Ò-Ñ/Ô/Ñ 0Ô 0Ð 0Ý �S˜DœLÒ(×-Ò-Ñ/Ô/Ñ 0Ô 0Ð 0å ˜œ¨Ò+×0Ò0Ñ2Ô2Ð2Ñ 3Ô 3Ð 3Ý ˜˜tœ|Ò+×0Ò0Ñ2Ô2Ð2Ñ 3Ô 3Ð 3å ˜œ¨Ò,×1Ò1Ñ3Ô3Ð3Ñ 4Ô 4Ð 4Ý ˜ ¤ Ò,×1Ò1Ñ3Ô3Ð3Ñ 4Ô 4Ð 4å ˜œ¨Ò+×0Ò0Ñ2Ô2Ð2Ñ 3Ô 3Ð 3Ý ˜˜tœ|Ò+×0Ò0Ñ2Ô2Ð2Ñ 3Ô 3Ð 3å ˜œ¨Ò,×1Ò1Ñ3Ô3Ð3Ñ 4Ô 4Ð 4Ý ˜ ¤ Ò,×1Ò1Ñ3Ô3Ð3Ñ 4Ô 4Ð 4ð7 5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5s–M M0Í0M4Í7M4cóê—tjddddddddd d d d d dtjtj g¦«}tjgd¢t¬¦«}t|_t ||¦«dS)z,Confirms a small number of known half valuesçð?çð¿ç@gÀg˜¹?çTÕ?rmé ÿÿç?ç¿ragp¾rg€)i<i¼i@iÀif.iU5iÿ{iÿûéi„ri€ré€é|rrN)rr!rRrrrr©r+Úar2s rÚtest_half_valueszTestHalf.test_half_valuesÃs�€å ŒH�c˜4ؘ4Ø% ~ؘVØ  +Ø  +ؘݔf�rœv˜gð'ñ (ô (ˆõ ŒHð&ð&ð&õ.4ð 5ñ 5ô 5ˆõˆŒÝ�Q˜ÑÔÐÐÐr-cóþ—tjgd¢t¬¦«}dddddddtjg}tjd¬ ¦«5tj|t ¬¦«}d d d ¦«n #1swxYwYt ||¦«tj|t¬¦«}tjd¬ ¦«5tj|t ¬¦«}d d d ¦«n #1swxYwYt ||¦«d S) z7Checks that rounding when converting to half is correct)g`>g`>gP>gð?gð?gð?iïÿiðÿrraggð?rxrmrj)ÚoverN)rr!rrRrnrrr)r+rƒÚroundedr2s rÚtest_half_roundingzTestHalf.test_half_roundingØs…€å ŒHðððõ$ð %ñ %ô %ˆðØØØ!ØØØÝ”6ðˆõŒ[˜hÐ 'Ñ 'Ô 'ð +ð +Ý”˜¥'Ð*Ñ*Ô*ˆAð +ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +å�Q˜Ñ Ô Ð õ ŒH�Q�gÐ &Ñ &Ô &ˆÝ Œ[˜hÐ 'Ñ 'Ô 'ð +ð +Ý”˜¥'Ð*Ñ*Ô*ˆAð +ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +å�Q˜Ñ Ô Ð Ð Ð s$ÁA/Á/A3Á6A3Â:C"Ã"C&Ã)C&c óê—|j t¬¦«}d|dzdz z}tj|dzdz tj¬¦«dz }|dzdz}||d kxxd z cc<d ||d k<||zd |zz}tj|j|k¦«d }t|¦«d kr@|d }t|j|d|j||j|||fz¦«tj|j |k¦«d }t|¦«d krB|d }t|j |d|j||j |||fz¦«dSdS)z_Take every finite float16, and check the casting functions with a manual conversion.rryr€ér�é iÿgP?iñÿÿÿriòÿÿÿrzrz,First non-equal is half value %x -> %g != %gN) r(r/rrr!Úint32Únonzeror)Úlenrr*) r+Úa_bitsÚa_sgnÚa_expÚa_manÚa_manualÚa32_failÚ bad_indexÚa64_fails rÚtest_half_correctnesszTestHalf.test_half_correctness÷s£€ð ”×%Ò%­FÐ%Ñ3Ô3ˆð˜& 6™/¨bÑ0Ñ1ˆÝ”˜& 6™/¨bÑ0½¼ÐAÑAÔAÀBÑFˆØ˜&‘ JÑ.ˆà ˆe�sŠlÐÐÔ˜qÑ ÐÐÑà!ˆˆe�sŠlÑà˜5‘= 3¨¡:Ñ-ˆå”:˜dœo°Ò9Ñ:Ô:¸1Ô=ˆÝ ˆx‰=Œ=˜AÒ Ð Ø  œ ˆIÝ ˜œ¨(Ø?Ø!œ_¨YÔ7Ø!œ_¨YÔ7Ø% iÔ0ð2ñ2ñ 3ô 3ð 3õ ”:˜dœo°Ò9Ñ:Ô:¸1Ô=ˆÝ ˆx‰=Œ=˜AÒ Ð Ø  œ ˆIÝ ˜œ¨(Ø?Ø!œ_¨YÔ7Ø!œ_¨YÔ7Ø% iÔ0ð2ñ2ñ 3ô 3ð 3ð 3ð 3ð Ð r-cóÀ—|jddd… ¦«}tj|t¬¦«}| ¦«| ¦«t ||¦«t|dd…|dd…k ¦«¦«t|dd…|dd…k  ¦« ¦«t|dd…|dd…k ¦«¦«t|dd…|dd…k  ¦« ¦«t tj |dd…|dd…k¦«dj |j dz ¦«t tj |dd…|dd…k¦«dj |j dz ¦«dS)z'Make sure comparisons are working rightNrrrrrN) r%rSrr!rÚsortrrrlrur�Úsizer‚s rÚtest_half_orderingzTestHalf.test_half_orderings¢€ð ŒN˜4˜4˜R˜4Ô × %Ò %Ñ 'Ô 'ˆõ ŒH�Q�gÐ &Ñ &Ô &ˆð �ЉŒˆØ �ЉŒˆÝ�Q˜ÑÔÐõ ��3�B�3”˜1˜Q˜R˜Rœ5’×%Ò%Ñ'Ô'Ñ(Ô(Ð(Ý�Q�s˜�s”V˜a   œe’^×(Ò(Ñ*Ô*Ð*Ñ+Ô+Ð+Ý��1�2�2”˜!˜C˜R˜Cœ&’×%Ò%Ñ'Ô'Ñ(Ô(Ð(Ý�Q�q�r�r”U˜Q˜s ˜sœV’^×(Ò(Ñ*Ô*Ð*Ñ+Ô+Ð+å•R”Z  # 2 #¤¨¨1¨2¨2¬¢Ñ/Ô/°Ô2Ô7¸¼À¹ÑBÔBÐBÝ•R”Z  ! " "¤¨¨#¨2¨#¬¢Ñ/Ô/°Ô2Ô7¸¼À¹ÑBÔBÐBÐBÐBr-c ó(—ttjdt¬¦«tjdt¬¦«¦«tjdt¬¦«}| d¦«t|tjdt¬¦«¦«tjgd¢t¬¦«}t|  ¦«dgd¢¦«|  ¦«  ¦«}t|  ¦«dgd¢¦«tjdddt¬¦«}tjd t¬¦«}ttj ||¦«d ¦«tjdtj d dd d ddgt¬¦«}t| ¦«d¦«tjdtj d tj d tjddgt¬¦«}t| ¦«d¦«tjdt¬¦«}t!d¦«D]%}t| |¦«|¦«Œ&dS)zTest the various ArrFuncsr‹r)ér)rrrg#B’ ¡œÇ»rrag‹ÖT�“ÿß>r)rNr�érM)éé_éþÿÿÿgš™™™™)@g333333@gÍÌÌÌÌÌ@gÍÌÌÌÌÌ(@ér�N)rrrrrÚzerosÚfillr?r!r�ÚbyteswapÚ newbyteorderÚdotrRÚargmaxrtrbÚitem)r+rƒr2res rÚtest_half_funcszTestHalf.test_half_funcs2s8€õ •R”Y˜r­Ð1Ñ1Ô1Ý”Y˜r­Ð1Ñ1Ô1ñ 3ô 3ð 3õ ŒH�T¥Ð )Ñ )Ô )ˆØ �Šˆq‰ Œ ˆ Ý�Q�œ ­GÐ4Ñ4Ô4Ñ5Ô5Ð5õ ŒHÐ?Ð?Ð?ÅwÐ OÑ OÔ OˆÝ�Q—Y’Y‘[”[ ”^Ø�Y�Yñ ô ð à �JŠJ‰LŒL× %Ò %Ñ 'Ô 'ˆÝ�Q—Y’Y‘[”[ ”^Ø�Y�Yñ ô ð õ ŒI�a˜˜S­Ð 0Ñ 0Ô 0ˆÝ ŒG�E¥Ð )Ñ )Ô )ˆÝ•R”V˜A˜q‘\”\Øñ ô ð õ ŒH�a�"œ&˜ " c¨5°#°s¸DÐAÍÐ QÑ QÔ QˆÝ�Q—X’X‘Z”ZØñ ô ð å ŒH�a�"œ&˜ "¥b¤f¨eµR´V¸SÀ$ÐGÍwÐ WÑ WÔ WˆÝ�Q—X’X‘Z”ZØñ ô ð õ ŒI�b¥Ð (Ñ (Ô (ˆÝ�r‘”ð 'ð 'ˆAÝ ˜Ÿš ™œ AÑ &Ô &Ð &Ð &ð 'ð 'r-cóŒ —tjdt¬¦«}tjtjft ¬¦«}tjtjft ¬¦«}| t ¬¦«}ttj |dd…¦«|dd…|dd…z ¦«ttj |dd…|¦«|dd…¦«ttj |d| ¦«|d ¦«ttj |dd…| ¦«|dd…¦«ttj ||¦«|d¦«ttj | |¦«|d ¦«ttj ||¦«|¦«ttj || ¦«|d¦«ttj | |¦«|d ¦«ttj | | ¦«| ¦«ttj ||¦«|d¦«ttj ||¦«|d¦«ttj ||¦«|¦«ttj ||¦«|¦«ttj ||¦«|¦«|dz}ttj |d¦«tj |d¦«¦«ttj |dd…¦«|dd…|dd…z ¦«ttj |d|¦«|d ¦«ttj |dd…|¦«|dd…¦«ttj |dd…| ¦«|dd…¦«ttj ||¦«|d ¦«ttj | |¦«|d¦«ttj ||¦«|d¦«ttj ||¦«|d¦«dS)z Test np.spacing and np.nextafterr�rNrrrr€) rrrr!rRrrtr/rrsrQ)r+rƒÚhinfÚhnanÚa_f16s rÚtest_spacing_nextafterzTestHalf.test_spacing_nextafterYsè€õ ŒI�f¥FÐ +Ñ +Ô +ˆÝŒx�œ˜ ­Ð1Ñ1Ô1ˆÝŒx�œ˜ ­Ð1Ñ1Ô1ˆØ—’�W�Ñ%Ô%ˆå•R”Z  c r c¤ Ñ+Ô+¨U°1°2°2¬Y°u¸S¸b¸S´zÑ-AÑBÔBÐBå•R”\ %¨¨¨¤*¨dÑ3Ô3°U¸1¸2¸2´YÑ?Ô?Ð?Ý•R”\ %¨¤(¨T¨EÑ2Ô2°U¸1´X°IÑ>Ô>Ð>Ý•R”\ %¨¨¨¤)¨d¨UÑ3Ô3°U¸3¸B¸3´ZÑ@Ô@Ð@å•R”\ $¨Ñ.Ô.°°b´ Ñ:Ô:Ð:Ý•R”\ 4 %¨Ñ/Ô/°%¸´)°Ñ<Ô<Ð<å•R”\ $¨Ñ-Ô-¨tÑ4Ô4Ð4Ý•R”\ $¨¨Ñ.Ô.°°b´ Ñ:Ô:Ð:Ý•R”\ 4 %¨Ñ.Ô.°°r´° Ñ;Ô;Ð;Ý•R”\ 4 %¨$¨Ñ/Ô/°$°Ñ7Ô7Ð7å•R”\ %¨Ñ.Ô.°°Q´Ñ8Ô8Ð8Ý•R”\ $¨Ñ.Ô.°°Q´Ñ8Ô8Ð8å•R”\ $¨Ñ-Ô-¨tÑ4Ô4Ð4Ý•R”\ $¨Ñ-Ô-¨tÑ4Ô4Ð4Ý•R”\ $¨Ñ-Ô-¨tÑ4Ô4Ð4ð ˆV‰ ˆå•R”Z  a¤Ñ)Ô)­2¬:°e¸A´hÑ+?Ô+?Ñ@Ô@Ð@Ý•R”Z  a b b¤ Ñ*Ô*¨E°#°2°#¬J°u¸Q¸R¸R´yÑ,@ÑAÔAÐAå•R”\ %¨¤(¨DÑ1Ô1°E¸!´H°9Ñ=Ô=Ð=Ý•R”\ %¨¨¨¤)¨TÑ2Ô2°E¸#¸2¸#´JÑ?Ô?Ð?Ý•R”\ %¨¨¨¤*¨t¨eÑ4Ô4°e¸A¸B¸B´iÑ@Ô@Ð@å•R”\ $¨Ñ.Ô.°°r´° Ñ;Ô;Ð;Ý•R”\ 4 %¨Ñ/Ô/°°r´Ñ;Ô;Ð;å•R”\ %¨Ñ.Ô.°°Q´Ñ8Ô8Ð8Ý•R”\ $¨Ñ.Ô.°°Q´Ñ8Ô8Ð8Ð8Ð8r-có  —tjgd¢t¬¦«}tjgd¢t¬¦«}tjddtj tjdgt¬¦«}t tj||¦«gd¢¦«t tj||¦«gd¢¦«t tj||¦«gd ¢¦«t tj ||¦«gd ¢¦«t tj ||¦«gd ¢¦«t tj ||¦«gd ¢¦«t tj ||¦«gd ¢¦«t tj ||¦«gd¢¦«t tj||¦«gd¢¦«t tj||¦«gd¢¦«t tj||¦«gd¢¦«t tj||¦«gd¢¦«t tj||¦«gd¢¦«t tj|¦«gd¢¦«t tj|¦«gd ¢¦«t tj|¦«gd¢¦«t tj|¦«gd¢¦«t tj|¦«gd¢¦«t tj||¦«gd¢¦«t tj||¦«gd¢¦«tj||¦«}t5tj|d¦«¦«d|d<t |gd¢¦«t tj||¦«gd¢¦«tj||¦«}t5tj|d¦«¦«d|d<t |ddtj ddg¦«t tj||¦«gd¢¦«t tj||¦«gd¢¦«t tj||¦«gd¢¦«t tj||¦«ddtj ddg¦«t tj||¦«gd¢¦«t tj||¦«gd¢¦«t tj ||¦«gd¢gd¢f¦«t tj!|¦«gd ¢¦«t tj"|¦«gd!¢¦«t tj#|¦«gd"¢¦«t tj$|¦«|¦«t tj%|¦«gd¢¦«t tj&|¦«gd#¢¦«t tj'|¦«|¦«t tj(|¦«gd$¢¦«t tj)|¦«gd%¢|f¦«t tj*|¦«gd&¢gd'¢f¦«t tj+|gd¢¦«gd(¢¦«d)S)*zTest the various ufuncs)rrrNr¢rNr)r¡r�rr¢r=rrrž)r¡ržr=ér�)rNéüÿÿÿrrr)rr�rNérž)rç˜É?rNrgTå?)FFFTF)TTTFT)FTFFT)FTFTT)TFTFF)TFTTF)FTTTT)TTTTT)TFFFF)FFTFF)TTFFT)rNr�rr¢r=)rr�rNr¢r=r=)rr�rrrž)r¡rrr¢rNr¡)rr�rr¢ržr¢)rrrNrr)rrrrrN)r¢érr³é )çà¿r´rgÐ?r{)rrrrr)rNéûÿÿÿrr²éýÿÿÿ)rrrrr)rrrrr)r·gä?rMrMgè?)rNr=rr=rN)r¡r‹r¢é@é N),rr!rrRrtrÚaddÚsubtractÚmultiplyÚdivideÚequalÚ not_equalÚlessÚ less_equalÚgreaterÚ greater_equalÚ logical_andÚ logical_orÚ logical_xorÚ logical_notrorprqrrÚcopysignÚmaximumrÚminimumÚfmaxÚfminÚ floor_divideÚ remainderÚdivmodÚsquareÚ reciprocalÚ ones_likeÚ conjugateÚabsoluteÚnegativeÚpositiveÚsignÚmodfÚfrexpÚldexp)r+rƒr2ÚcÚxs rÚtest_half_ufuncszTestHalf.test_half_ufuncs†s€õ ŒH�_�_�_­GÐ 4Ñ 4Ô 4ˆÝ ŒHÐ%Ð%Ð%­WÐ 5Ñ 5Ô 5ˆÝ ŒH�a˜�bœf˜W¥b¤f¨aÐ0½Ð @Ñ @Ô @ˆå•R”V˜A˜q‘\”\Ð#3Ð#3Ð#3Ñ4Ô4Ð4Ý•R”[  AÑ&Ô&Ð(9Ð(9Ð(9Ñ:Ô:Ð:Ý•R”[  AÑ&Ô&Ð(8Ð(8Ð(8Ñ9Ô9Ð9Ý•R”Y˜q !‘_”_Ð&NÐ&NÐ&NÑOÔOÐOå•R”X˜a ‘^”^Ð%GÐ%GÐ%GÑHÔHÐHÝ•R”\ ! QÑ'Ô'Ð)HÐ)HÐ)HÑIÔIÐIÝ•R”W˜Q ‘]”]Ð$EÐ$EÐ$EÑFÔFÐFÝ•R”] 1 aÑ(Ô(Ð*JÐ*JÐ*JÑKÔKÐKÝ•R”Z  1Ñ%Ô%Ð'HÐ'HÐ'HÑIÔIÐIÝ•RÔ% a¨Ñ+Ô+Ð-MÐ-MÐ-MÑNÔNÐNÝ•R”^ A qÑ)Ô)Ð+JÐ+JÐ+JÑKÔKÐKÝ•R”] 1 aÑ(Ô(Ð*HÐ*HÐ*HÑIÔIÐIÝ•R”^ A qÑ)Ô)Ð+MÐ+MÐ+MÑNÔNÐNÝ•R”^ AÑ&Ô&Ð(JÐ(JÐ(JÑKÔKÐKå•R”X˜a‘[”[Ð"DÐ"DÐ"DÑEÔEÐEÝ•R”X˜a‘[”[Ð"DÐ"DÐ"DÑEÔEÐEÝ•R”[ ‘^”^Ð%EÐ%EÐ%EÑFÔFÐFÝ•R”Z ‘]”]Ð$FÐ$FÐ$FÑGÔGÐGå•R”[  AÑ&Ô&¨¨¨Ñ8Ô8Ð8å•R”Z  1Ñ%Ô%   Ñ7Ô7Ð7å ŒJ�q˜!Ñ Ô ˆÝ•”˜˜1œ‘”ÑÔÐØˆˆ!‰Ý�Q˜˜˜Ñ(Ô(Ð(å•R”Z  1Ñ%Ô%Ð'7Ð'7Ð'7Ñ8Ô8Ð8å ŒJ�q˜!Ñ Ô ˆÝ•”˜˜1œ‘”ÑÔÐØˆˆ!‰Ý�Q˜˜R¥"¤& ¨!¨QÐ/Ñ0Ô0Ð0å•R”W˜Q ‘]”] O O OÑ4Ô4Ð4Ý•R”W˜Q ‘]”] O O OÑ4Ô4Ð4Ý•R”W˜Q ‘]”]Ð$4Ð$4Ð$4Ñ5Ô5Ð5Ý•R”W˜Q ‘]”] R¨­b¬f¨W°a¸Ð$;Ñ<Ô<Ð<å•R”_ Q¨Ñ*Ô*¨O¨O¨OÑ<Ô<Ð<Ý•R”\ ! QÑ'Ô'¨¨¨Ñ9Ô9Ð9Ý•R”Y˜q !‘_”_   ¸¸¸Ð&HÑIÔIÐIÝ•R”Y˜q‘\”\Ð#4Ð#4Ð#4Ñ5Ô5Ð5Ý•R”] 1Ñ%Ô%Ð'VÐ'VÐ'VÑWÔWÐWÝ•R”\ !‘_”_ o o oÑ6Ô6Ð6Ý•R”\ !‘_”_ aÑ(Ô(Ð(Ý•R”[ ‘^”^ _ _ _Ñ5Ô5Ð5Ý•R”[ ‘^”^Ð%8Ð%8Ð%8Ñ9Ô9Ð9Ý•R”[ ‘^”^ QÑ'Ô'Ð'Ý•R”W˜Q‘Z”ZÐ!1Ð!1Ð!1Ñ2Ô2Ð2Ý•R”W˜Q‘Z”Z / / /°1Ð!5Ñ6Ô6Ð6Ý•R”X˜a‘[”[Ð#@Ð#@Ð#@À/À/À/Ð"RÑSÔSÐSÝ•R”X˜a   Ñ1Ô1Ð3FÐ3FÐ3FÑGÔGÐGÐGÐGr-có¦—tjdt¬¦«}tjdt¬¦«}td¦«}td¦«}tj|d¦«jtksJ‚tj|d¦«jtksJ‚tj||¦«jtksJ‚|rtnt}tj||¦«j|ksJ‚tj||¦«jtksJ‚tj||¦«jtksJ‚|rtnt }tj|d¦«j|ksJ‚tj|d¦«j|ksJ‚tj||¦«jsJt¦«‚tj||¦«jsJt¦«‚tj||¦«jsJt¦«‚tj||¦«jsJt¦«‚tj||¦«jtksJ‚tj||¦«jtksJ‚|rtnt}tj||¦«j|ksJ‚tj||¦«jtksJ‚dS)z9Test that half gets coerced properly with the other types©rrrrNrzN)rr!rrÚpowerrr)r+Úweak_promotionÚa16Úa32Úb16Úb32rAs rÚtest_half_coercionzTestHalf.test_half_coercionÆs~€õŒh�t¥7Ð+Ñ+Ô+ˆÝŒh�t¥7Ð+Ñ+Ô+ˆÝ�a‰jŒjˆÝ�a‰jŒjˆåŒx˜˜QÑÔÔ%­Ò0Ð0Ð0Ð0ÝŒx˜˜SÑ!Ô!Ô'­7Ò2Ð2Ð2Ð2ÝŒx˜˜SÑ!Ô!Ô'­7Ò2Ð2Ð2Ð2Ø!/Ð<•g�gµWˆ ÝŒx˜˜SÑ!Ô!Ô'¨;Ò6Ð6Ð6Ð6ÝŒx˜˜SÑ!Ô!Ô'­7Ò2Ð2Ð2Ð2ÝŒx˜˜SÑ!Ô!Ô'­7Ò2Ð2Ð2Ð2à!/Ð<•g�gµWˆ ÝŒx˜˜QÑÔÔ%¨Ò4Ð4Ð4Ð4ÝŒx˜˜SÑ!Ô!Ô'¨;Ò6Ð6Ð6Ð6ÝŒx˜˜SÑ!Ô!Ô'Ð0Ð0­Ñ0Ô0Ð'ÝŒx˜˜SÑ!Ô!Ô'Ð0Ð0­Ñ0Ô0Ð'ÝŒx˜˜SÑ!Ô!Ô'Ð0Ð0­Ñ0Ô0Ð'ÝŒx˜˜SÑ!Ô!Ô'Ð0Ð0­Ñ0Ô0Ð'åŒx˜˜SÑ!Ô!Ô'­7Ò2Ð2Ð2Ð2ÝŒx˜˜SÑ!Ô!Ô'­7Ò2Ð2Ð2Ð2Ø!/Ð<•g�gµWˆ ÝŒx˜˜SÑ!Ô!Ô'¨;Ò6Ð6Ð6Ð6ÝŒx˜˜SÑ!Ô!Ô'­7Ò2Ð2Ð2Ð2Ð2Ð2r-Úarmv5telz See gh-413.)Úreasonz!fp exceptions don't work in wasm.c ó2 —tjd¬¦«5tjdt¬¦«}tjdt¬¦«}td¦«}td¦«}t dd „||¦«t dd „||¦«t dd „||¦«t dd „||¦«t dd „||¦«t dd„||¦«t dd„||¦«t dd„||¦«t dd„td¦«td¦«¦«t dd„td¦«td¦«¦«t dd„td¦«td¦«¦«t dd„td¦«td¦«¦«t dd„td¦«td¦«¦«t dd„||¦«t dd „||¦«t dd!„||¦«t dd"„||¦«t dd#„||¦«t dd$„||¦«t dd%„||¦«t dd&„||¦«t dd'„td(¦«td)¦«¦«t dd*„td+¦«td)¦«¦«t dtjtd(¦«ttj¦«¦«t dtjtd+¦«ttj ¦«¦«t dtjtd(¦«¦«t d,tjttj¦«ttj¦«¦«t d,tjttj¦«¦«t d,tjttj ¦«¦«td-¦«td.¦«ztd/¦«td¦«z td¦«td0¦«z tjtd+¦«¦«tjtd(¦«ttj ¦«¦«tjtd+¦«ttj¦«¦«tjttj¦«td1¦«¦«tjttj ¦«td1¦«¦«tjtd1¦«ttj ¦«¦«tjttj ¦«td1¦«¦«td¦«td0¦«z td¦«td0¦«z td¦«td¦«z td2¦«td¦«z ddd¦«dS#1swxYwYdS)3NÚraiserk)ç-Cëâ6?r)çˆÃ@rírîÚ underflowcó —||zS©N©©rƒr2s rúz(TestHalf.test_half_fpe..ðó €°q¸±s€r-có —||zSrñròrós rrôz(TestHalf.test_half_fpe..ñrõr-có —||zSrñròrós rrôz(TestHalf.test_half_fpe..òrõr-có —||zSrñròrós rrôz(TestHalf.test_half_fpe..órõr-có —||z Srñròrós rrôz(TestHalf.test_half_fpe..ôrõr-có —||z Srñròrós rrôz(TestHalf.test_half_fpe..õrõr-có —||z Srñròrós rrôz(TestHalf.test_half_fpe..örõr-có —||z Srñròrós rrôz(TestHalf.test_half_fpe..÷rõr-có —||z Srñròrós rrôz(TestHalf.test_half_fpe..ørõr-r}icó —||z Srñròrós rrôz(TestHalf.test_half_fpe..úrõr-r~có —||z Srñròrós rrôz(TestHalf.test_half_fpe..ürõr-g?rNcó —||z Srñròrós rrôz(TestHalf.test_half_fpe..þrõr-g¿có —||z Srñròrós rrôz(TestHalf.test_half_fpe..rõr-g?r¢Úoverflowcó —||zSrñròrós rrôz(TestHalf.test_half_fpe..ó €°a¸±c€r-có —||zSrñròrós rrôz(TestHalf.test_half_fpe..rr-có —||zSrñròrós rrôz(TestHalf.test_half_fpe..rr-có —||zSrñròrós rrôz(TestHalf.test_half_fpe..rr-có —||z Srñròrós rrôz(TestHalf.test_half_fpe..rr-có —||z Srñròrós rrôz(TestHalf.test_half_fpe.. rr-có —||z Srñròrós rrôz(TestHalf.test_half_fpe.. rr-có —||z Srñròrós rrôz(TestHalf.test_half_fpe.. rr-có —||zSrñròrós rrôz(TestHalf.test_half_fpe.. rr-rmécó —||z Srñròrós rrôz(TestHalf.test_half_fpe..rr-r|ÚinvalidiÀÿé g ?rrg¿) rrnr!rrrQrRrsr¿rt)r+Úsx16Úbx16Úsy16Úby16s rÚ test_half_fpezTestHalf.test_half_fpeäs®€õ Œ[˜WÐ %Ñ %Ô %ð> /ð> /Ý”8˜G­7Ð3Ñ3Ô3ˆDÝ”8˜F­'Ð2Ñ2Ô2ˆDݘ4‘=”=ˆDݘ3‘<”<ˆDõ ˜k¨?¨?¸DÀ$Ñ GÔ GÐ GÝ ˜k¨?¨?¸DÀ$Ñ GÔ GÐ GÝ ˜k¨?¨?¸DÀ$Ñ GÔ GÐ GÝ ˜k¨?¨?¸DÀ$Ñ GÔ GÐ GÝ ˜k¨?¨?¸DÀ$Ñ GÔ GÐ GÝ ˜k¨?¨?¸DÀ$Ñ GÔ GÐ GÝ ˜k¨?¨?¸DÀ$Ñ GÔ GÐ GÝ ˜k¨?¨?¸DÀ$Ñ GÔ GÐ GÝ ˜k¨?¨?Ý-4°WÑ-=Ô-=½wÀu¹~¼~ñ Oô Oð Oå ˜k¨?¨?Ý-4°XÑ->Ô->ÅÈÁÄñ Pô Pð På ˜k¨?¨?Ý-4°^Ñ-DÔ-DÅgÈaÁjÄjñ Rô Rð Rå ˜k¨?¨?Ý-4°_Ñ-EÔ-EÅwÈqÁzÄzñ Sô Sð Så ˜k¨?¨?Ý-4°^Ñ-DÔ-DÅgÈaÁjÄjñ Rô Rð Rõ ˜j¨/¨/¸4ÀÑ FÔ FÐ FÝ ˜j¨/¨/¸4ÀÑ FÔ FÐ FÝ ˜j¨/¨/¸4ÀÑ FÔ FÐ FÝ ˜j¨/¨/¸4ÀÑ FÔ FÐ FÝ ˜j¨/¨/¸4ÀÑ FÔ FÐ FÝ ˜j¨/¨/¸4ÀÑ FÔ FÐ FÝ ˜j¨/¨/¸4ÀÑ FÔ FÐ FÝ ˜j¨/¨/¸4ÀÑ FÔ FÐ FÝ ˜j¨/¨/Ý-4°U©^¬^½WÀR¹[¼[ñ Jô Jð Jå ˜j¨/¨/Ý-4°V©_¬_½gÀb¹k¼kñ Kô Kð Kå ˜j­"¬,½À¹¼ÍÕPRÔPVÉÌÑ XÔ XÐ XÝ ˜j­"¬,½À¹¼ÍÕRTÔRXÐQXÑIYÔIYÑ ZÔ ZÐ ZÝ ˜j­"¬*µg¸e±n´nÑ EÔ EÐ Eõ ˜i­¬µG½B¼F±O´OÅWÍRÌVÁ_Ä_Ñ UÔ UÐ UÝ ˜i­¬µW½R¼V±_´_Ñ EÔ EÐ EÝ ˜i­¬µW½R¼V±_´_Ñ EÔ EÐ Eõ �E‰NŒN�7 2™;œ;Ñ &Ð &Ý �F‰OŒO�G A™JœJÑ &Ð &Ý �F‰OŒO�G E™NœNÑ *Ð *Ý ŒJ•w˜v‘”Ñ 'Ô 'Ð 'Ý ŒL� ™œ­µ"´&°Ñ)9Ô)9Ñ :Ô :Ð :Ý ŒL� ™œ­'µ"´&©/¬/Ñ :Ô :Ð :Ý ŒL�¥¤™œ­'°!©*¬*Ñ 5Ô 5Ð 5Ý ŒL�¥"¤& Ñ)Ô)­7°1©:¬:Ñ 6Ô 6Ð 6Ý ŒL� ™œ¥W­R¬V¡_¤_Ñ 5Ô 5Ð 5Ý ŒL�¥¤™œ­'°!©*¬*Ñ 5Ô 5Ð 5Ý �F‰OŒO�G E™NœNÑ *Ð *Ý �GÑ Ô �W U™^œ^Ñ +Ð +Ý �MÑ "Ô "¥7¨1¡:¤:Ñ -Ð -Ý �NÑ #Ô #¥G¨A¡J¤JÑ .Ð .ð}> /ð> /ð> /ñ> /ô> /ð> /ð> /ð> /ð> /ð> /ð> /ð> /øøøð> /ð> /ð> /ð> /ð> /ð> /s–Y)Z Ú ZÚZcó—Gd„d¦«}tjdt¬¦«}|¦«}|j|_tj|¦«}t |jtk¦«t||¦«dS)z5Test that half is compatible with __array_interface__có—eZdZdS)ú1TestHalf.test_half_array_interface..DummyN)Ú__name__Ú __module__Ú __qualname__ròr-rÚDummyr+s€€€€€Ø ˆDr-rrárN)rr?rÚ__array_interface__r!rrr)r+rrƒr2rÝs rÚtest_half_array_interfacez"TestHalf.test_half_array_interface)sŽ€ð ð ð ð ð ñ ô ð õ ŒG�D¥Ð (Ñ (Ô (ˆØ ˆE‰GŒGˆØ !Ô 5ˆÔÝ ŒH�Q‰KŒKˆÝ�”�7Ò"Ñ#Ô#Ð#Ý�Q˜ÑÔÐÐÐr-N)!rrrr,r7ÚpytestÚmarkÚ parametrizerCrFrrrÚ_no_nep50_warningr[Úuint32Úuint64rhrvr„rˆr—r›rªr¯rßrèÚskipifÚplatformÚmachiner rrròr-rrrs¾€€€€€ð/ð/ð/ð(ððð< „[×Ò˜[¨3°¨*Ñ5Ô5ð(ð(ñ6Ô5ð(ð „[×Ò˜[¨3°¨*Ñ5Ô5ðOðOñ6Ô5ðOð „[×Ò˜XÐ';Ð';Ð';Ñ<Ô<Ø „[×Ò˜WÐ&:Ð&:Ð&:Ñ;Ô;Ø „[×Ò˜Y¨¬°R´ZÐ(@ÑAÔAØ€RÔÑÔð31ð31ñÔñBÔAñ<Ô;ñ=Ô<ð31ðj „[×ÒÐ:Ð:Ð:Ø!œz¨2¬9°bÐ9Ø!œz¨2¬9°bÐ9ð;ñ<ô<ðEðEñ<ô<ðEð(5ð5ð5ð<ððð*!ð!ð!ð>"3ð"3ð"3ðHCðCðCð.%'ð%'ð%'ðN+9ð+9ð+9ðZ>Hð>Hð>Hð@€RÔÑÔð3ð3ñÔð3ð: „[×ÒÐ(˜Ô(Ñ*Ô*¨jÒ8Ø,ðñ.ô.à „[×Ò˜ØBðñDôDð?/ð?/ñDôDñ.ô.ð?/ðB ð ð ð ð r-r)r&rÚnumpyrrrrrÚ numpy.testingrrr r rrròr-rúr*s¹ðØ€€€Ø € € € àÐÐÐØ3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3ØHÐHÐHÐHÐHÐHÐHÐHÐHÐHÐHÐHðDðDðDð`ð`ð`ð`ð`ñ`ô`ð`ð`ð`r-