§ y<ˆj8¾ã óê—ddlZddlZddlZddlZddlZddlmZmZmZddl m Z  d*d„Z Gd„d¦«Z Gd„d e ¦«Z Gd „d e ¦«ZGd „d e ¦«ZGd„de ¦«ZGd„de ¦«ZGd„de ¦«ZdZdZdZeezZee eeeededeeeiZej¦«D�]<\ZZerejndZe d¦«Zee¦«dkrdd  e¦«›d�ZnedZdZ!e"¦«Z#esde›d �Z!n.ejsde›d!�Z!n ej$s de›d"�e#d#<ej%s de›d$�e#d%<e ¦«D]�\Z&Z'e&D]…Z(e# )e(e!¦«Z*e'fZ+e"eee(e¬&¦«Z,e-d'e'j.›d(e›d(e›d(e(›�e+e,¦«Z/e*r$ej0 !e*¬)¦«e/¦«e/e1¦«e/j.<Œ†ŒŽ�Œ>dS)+éN)ÚtargetsÚclear_floatstatusÚget_floatstatus)Ú__cpu_baseline__Fcóœ—t¦«}|s|o|dzdk}||s|o|dzdkz}||s|o|dzdkz}||s|o|dzdkz}|S)Nérééé)r)Ú divbyzeroÚoverflowÚ underflowÚinvalidÚallÚerrÚrets ún/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib64/python3.11/site-packages/numpy/core/tests/test_simd.pyÚcheck_floatstatusr s}€õ Ñ Ô €CØ Ð �)Ð / #¨¡'¨a¢€C؈CˆO�8Ð / #¨¡'¨a¢Ñ/€C؈CÐ �9Ð 0 3¨¡7¨q¢.Ñ0€C؈CˆN�7Ð .  q¡¨Q¢Ñ.€CØ €Jócó|—eZdZdZdZdZd„Zd„Zdd„Zd„Z d„Z d„Z d „Z d „Z d „Zd „Zd „Zd„Zd„Zd„Zd„Zd„ZdS)Ú _Test_UtilityNcóB—t|j|dz|jz¦«S)zŽ To call NPV intrinsics without the attribute 'npyv' and auto suffixing intrinsics according to class attribute 'sfx' Ú_©ÚgetattrÚnpyvÚsfx)ÚselfÚattrs rÚ __getattr__z_Test_Utility.__getattr__s!€õ �t”y $¨¡*¨t¬xÑ"7Ñ8Ô8Ð8rcóB—t|j|›d|j›d�¦«S)NrÚx2r)rÚ intrin_names rÚ_x2z_Test_Utility._x2&s'€Ý�t”y [Ð"?Ð"?°4´8Ð"?Ð"?Ð"?Ñ@Ô@Ð@rFcó—|€d}|€|j}t|||z¦«}|rt|¦«}| ¦«r d„|D¦«St |¦«S)z[ Create list of consecutive numbers according to number of vector's lanes. Nrcó—g|]}|dz ‘ŒS)çð?©©Ú.0Úxs rú z'_Test_Utility._data..5s€Ð)Ð)Ð) �A˜‘GÐ)Ð)Ð)r)ÚnlanesÚrangeÚreversedÚ_is_fpÚlist)rÚstartÚcountÚreverseÚrngs rÚ_dataz_Test_Utility._data)sp€ð ˆ=؈EØ ˆ=Ø”KˆEÝ�E˜5 5™=Ñ)Ô)ˆØ ð ݘ3‘-”-ˆCØ �;Š;‰=Œ=ð *Ø)Ð) SÐ)Ñ)Ô)Ð )Ý�C‰yŒyÐrcó$—|jddkS)NrÚu©r©rs rÚ _is_unsignedz_Test_Utility._is_unsigned8ó€ØŒx˜Œ{˜cÒ!Ð!rcó$—|jddkS)NrÚsr9r:s rÚ _is_signedz_Test_Utility._is_signed;r<rcó$—|jddkS)NrÚfr9r:s rr0z_Test_Utility._is_fp>r<rcó:—t|jdd…¦«S)Nr)Úintrr:s rÚ _scalar_sizez_Test_Utility._scalar_sizeAs€Ý�4”8˜A˜B˜B”<Ñ Ô Ð rc󠇇—| ¦«r|S| ¦«Š| ¦«Šˆˆfd„|D¦«S)NcóL•—g|] }tt|‰¦«‰¦«‘Œ!Sr()ÚminÚmax)r*ÚvÚmax_intÚmin_ints €€rr,z+_Test_Utility._int_clip..Is+ø€Ð;Ð;Ð;°!••C˜˜7‘O”O WÑ-Ô-Ð;Ð;Ð;r)r0Ú_int_maxÚ_int_min)rÚseqrJrKs @@rÚ _int_clipz_Test_Utility._int_clipDsPøø€Ø �;Š;‰=Œ=ð ØˆJØ—-’-‘/”/ˆØ—-’-‘/”/ˆØ;Ð;Ð;Ð;Ð;°sÐ;Ñ;Ô;Ð;rcóÀ—| ¦«rdS| | d¦«¦«d}| ¦«r|dzS|S)Néÿÿÿÿrr )r0Ú _to_unsignedÚsetallr?)rÚmax_us rrLz_Test_Utility._int_maxKsZ€Ø �;Š;‰=Œ=ð Ø�4Ø×!Ò! $§+¢+¨b¡/¤/Ñ2Ô2°1Ô5ˆØ �?Š?Ñ Ô ð Ø˜A‘:Р؈ rcóŠ—| ¦«rdS| ¦«rdS| ¦«dz S)Nrr)r0r;rLr:s rrMz_Test_Utility._int_minSsF€Ø �;Š;‰=Œ=ð Ø�4Ø × Ò Ñ Ô ð Ø�1Ø—’‘” 1Ñ$Ð%Ð%rcón—t|jd|jdd…z¦«d¦«}|dS)NÚsetall_urrQrr)rÚ max_unsigs rÚ _true_maskz_Test_Utility._true_maskZs6€ØA•G˜DœI z°D´H¸Q¸R¸R´LÑ'@ÑAÔAÀ"ÑEÔEˆ ؘŒ|Ðrc ób—t|ttf¦«r.t|jd|jdd…z¦«|¦«S|j dd¦«}|ddkrd}nd}t|j| |dd…|¦«¦«|¦«S) NÚload_urÚnpyv_ÚrÚbz cvt_u{0}_b{0}zreinterpret_u{0}_{1}) Ú isinstancer1ÚtuplerrrÚ__name__ÚreplaceÚformat)rÚvectorrÚ cvt_intrins rrRz_Test_Utility._to_unsigned^s¨€Ý �f�t¥U˜mÑ ,Ô ,ð OØ>•7˜4œ9 h°´¸!¸"¸"´Ñ&=Ñ>Ô>¸vÑFÔFÐ Fà”/×)Ò)¨'°2Ñ6Ô6ˆCØ�1Œv˜Š}ˆ}Ø,� � à3� ØF•7˜4œ9 j×&7Ò&7¸¸A¸B¸B¼ÀÑ&EÔ&EÑFÔFÀvÑNÔNÐ Nrcó —td¦«S©NÚinf©Úfloatr:s rÚ _pinfinityz_Test_Utility._pinfinityió€Ý�U‰|Œ|Ðrcó"—td¦« Srgrir:s rÚ _ninfinityz_Test_Utility._ninfinityls€Ý�e‘ ” ˆ}Ðrcó —td¦«S)NÚnanrir:s rÚ_nanz_Test_Utility._nanorlrcó€—|j}|dkrt}n| d¦«}d |¦«S)NÚbaselineÚ__ú )Ú target_namerÚsplitÚjoin)rÚtargets rÚ _cpu_featuresz_Test_Utility._cpu_featuresrs?€ØÔ!ˆØ �ZÒ Ð Ý%ˆFˆFà—\’\ $Ñ'Ô'ˆFØ�xŠx˜ÑÔÐr©NNF)raÚ __module__Ú __qualname__rrrvr r$r6r;r?r0rDrOrLrMrYrRrkrnrqrzr(rrrrs€€€€€à €Dà €Cà€Kð9ð9ð9ðAðAðAð ð ð ð ð"ð"ð"ð"ð"ð"ð"ð"ð"ð!ð!ð!ð<ð<ð<ðððð&ð&ð&ðððð Oð Oð Oðððððððððð ð ð ð ð rrcóÚ—eZdZdZd„Zdd„Zd„Zd„Zd„Zd „Z e j   d d d g¦«e j   d ddgddgdgdgf¦«d„¦«¦«Z dS)Ú _SIMD_BOOLz2 To test all boolean vector types at once cóL—t|jd|jdd…z¦«S)NÚnlanes_urrr:s rÚ_nlanesz_SIMD_BOOL._nlanes~s#€Ý�t”y *¨t¬x¸¸¸¬|Ñ";Ñ<Ô<Ð.†s&ø€Ð7Ð7Ð7¨a˜Q ™UÐ)� � ¨Ð7Ð7Ð7r)rYr.r‚r/)rr2r3r4r5r…s @rr6z_SIMD_BOOL._data�sTø€Ø—O’OÑ%Ô%ˆ Ý�D—L’L‘N”NÑ#Ô#ˆØ ð ݘ3‘-”-ˆCØ7Ð7Ð7Ð7°3Ð7Ñ7Ô7Ð7rcó®—|jdd…}t|jd|z¦«}t|jd|›d|›�¦«}|||¦«¦«S)Nrr[Úcvt_bÚ_u)rrr)rÚdataÚlen_strÚloadÚcvts rÚ_load_bz_SIMD_BOOL._load_bˆs_€Ø”(˜1˜2˜2”,ˆÝ�t”y (¨WÑ"4Ñ5Ô5ˆÝ�d”iÐ!=¨Ð!=Ð!=°GÐ!=Ð!=Ñ>Ô>ˆØˆs�4�4˜‘:”:‰ŒÐrcóÖ—| ¦«}| d¬¦«}| |¦«}| |¦«}d„t||¦«D¦«}t|d¦«||¦«}||ksJ‚d„t||¦«D¦«}t|d¦«||¦«}||ksJ‚d„t||¦«D¦«} t|d¦«||¦«} | | ksJ‚t|d ¦«|¦«} | |ksJ‚|jd vrd Sd „t||¦«D¦«} t|d ¦«||¦«} | | ksJ‚d„t||¦«D¦«}t|d¦«||¦«}||ksJ‚d„t||¦«D¦«}t|d¦«||¦«}||ksJ‚d S)zÏ Logical operations for boolean types. Test intrinsics: npyv_xor_##SFX, npyv_and_##SFX, npyv_or_##SFX, npyv_not_##SFX, npyv_andc_b8, npvy_orc_b8, nvpy_xnor_b8 T©r4có—g|] \}}||z‘Œ Sr(r(©r*Úar^s rr,z5_SIMD_BOOL.test_operators_logical..šó €Ð:Ð:Ð:™d˜a �A˜‘EÐ:Ð:Ð:rÚandcó—g|] \}}||z‘Œ Sr(r(r‘s rr,z5_SIMD_BOOL.test_operators_logical..žs €Ð9Ð9Ð9™T˜Q �1�q‘5Ð9Ð9Ð9rÚorcó—g|] \}}||z ‘Œ Sr(r(r‘s rr,z5_SIMD_BOOL.test_operators_logical..¢r“rÚxorÚnotÚb8Ncó&—g|]\}}||zdz‘ŒS©éÿr(r‘s rr,z5_SIMD_BOOL.test_operators_logical..­s&€ÐEÐEÐE©¨¨A�a˜1˜"‘f ‘_ÐEÐEÐErÚandccó&—g|]\}}||zdz‘ŒSrœr(r‘s rr,z5_SIMD_BOOL.test_operators_logical..±s&€ÐDÐDÐD©¨¨1�Q˜!˜‘V˜t‘OÐDÐDÐDrÚorccó&—g|]\}}||z dz‘ŒSrœr(r‘s rr,z5_SIMD_BOOL.test_operators_logical..µs&€ÐEÐEÐE©¨¨A�q˜1‘u�X ‘_ÐEÐEÐErÚxnor)r6r�Úziprr)rÚdata_aÚdata_bÚvdata_aÚvdata_bÚdata_andÚvandÚdata_orÚvorÚdata_xorÚvxorÚvnotÚ data_andcÚvandcÚdata_orcÚvorcÚ data_xnorÚvxnors rÚtest_operators_logicalz!_SIMD_BOOL.test_operators_logicalŽs8€ð—’‘”ˆØ—’ D�Ñ)Ô)ˆØ—,’,˜vÑ&Ô&ˆØ—,’,˜vÑ&Ô&ˆà:Ð:¥c¨&°&Ñ&9Ô&9Ð:Ñ:Ô:ˆØ#�w�t˜UÑ#Ô# G¨WÑ5Ô5ˆØ�xÒÐÐÐà9Ð9¥S¨°Ñ%8Ô%8Ð9Ñ9Ô9ˆØ!�g�d˜DÑ!Ô! '¨7Ñ3Ô3ˆØ�gŠ~ˆ~ˆ~ˆ~à:Ð:¥c¨&°&Ñ&9Ô&9Ð:Ñ:Ô:ˆØ#�w�t˜UÑ#Ô# G¨WÑ5Ô5ˆØ�xÒÐÐÐà#�w�t˜UÑ#Ô# GÑ,Ô,ˆØ�vŠ~ˆ~ˆ~ˆ~ð Œ8˜DÐ !Ð !Ø ˆFàEÐEµ°V¸VÑ1DÔ1DÐEÑEÔEˆ Ø%•˜˜fÑ%Ô% g¨wÑ7Ô7ˆØ˜EÒ!Ð!Ð!Ð!àDÐDµ°F¸FÑ0CÔ0CÐDÑDÔDˆØ#�w�t˜UÑ#Ô# G¨WÑ5Ô5ˆØ˜4ÒÐÐÐàEÐEµ°V¸VÑ1DÔ1DÐEÑEÔEˆ Ø%•˜˜fÑ%Ô% g¨wÑ7Ô7ˆØ˜EÒ!Ð!Ð!Ð!Ð!Ð!rcó—d„}| ¦«| d¬¦«fD][}| |¦«}||¦«}| |¦«}t|¦«}|t|¦«ksJ‚Œ\dS)NcóP—td„t|d¦«D¦«¦«S)Ncó@—g|]\}}t|dk¦«|z‘ŒS)r©rC)r*Úir+s rr,z<_SIMD_BOOL.test_tobits....ºs+€Ð%VÐ%VÐ%V¹4¸1¸a¥c¨!¨qª&¡k¤k°QÑ&6Ð%VÐ%VÐ%Vrr)ÚsumÚ enumerate)r‰s rúz(_SIMD_BOOL.test_tobits..ºs(€¥Ð%VÐ%VÅ9ÈTÐSTÑCUÔCUÐ%VÑ%VÔ%VÑ!WÔ!W€rTr�)r6r�ÚtobitsÚbin)rÚ data2bitsr‰ÚvdataÚ data_bitsr¾Ú bin_tobitss rÚ test_tobitsz_SIMD_BOOL.test_tobits¹s’€ØWÐWˆ Ø—Z’Z‘\”\ 4§:¢:°d :Ñ#;Ô#;Ð<ð 0ð 0ˆDØ—L’L Ñ&Ô&ˆEØ!˜  $™œˆIØ—[’[ Ñ'Ô'ˆFݘV™œˆJØ¥ Y¡¤Ò/Ð/Ð/Ð/Ð/ð  0ð 0rc óº—|jdvrdS| ¦«}| d¬¦«}| |¦«}| |¦«}t|jd|j›�¦«}|jdkr6d„t |¦«t |¦«zD¦«}|||¦«}n•|jdkr>d „d t |¦«zd t |¦«zzD¦«}|||||¦«}nL|jd krAd „d t |¦«zd t |¦«zzD¦«}|||||||||¦«}||ksJ‚dS)z  Pack multiple vectors into one Test intrinsics: npyv_pack_b8_b16 npyv_pack_b8_b32 npyv_pack_b8_b64 )Úb16Úb32Úb64NTr�Úpack_b8_rÆcó—g|]}|dz‘ŒSrœr(©r*rºs rr,z(_SIMD_BOOL.test_pack..Ös€ÐDÐDÐD A�a˜$‘hÐDÐDÐDrrÇcó—g|]}|dz‘ŒSrœr(rËs rr,z(_SIMD_BOOL.test_pack..Ùó€ÐHÐHÐH A�a˜$‘hÐHÐHÐHrr rÈcó—g|]}|dz‘ŒSrœr(rËs rr,z(_SIMD_BOOL.test_pack..ÜrÍrr )rr6r�rrr1)rr‰ÚrdatarÁÚvrdataÚ pack_simdÚspackÚvpacks rÚ test_packz_SIMD_BOOL.test_packÂsw€ð Œ8Ð0Ð 0Ð 0Ø ˆFà�zŠz‰|Œ|ˆØ— ’  4� Ñ(Ô(ˆØ— ’ ˜TÑ"Ô"ˆØ—’˜eÑ$Ô$ˆÝ˜DœIÐ'<°$´(Ð'<Ð'<Ñ=Ô=ˆ ð Œ8�uÒ Ð ØDÐD­$¨u©+¬+½¸T¹ ¼ Ñ*BÐDÑDÔDˆEØ�I˜f eÑ,Ô,ˆEˆEØ ŒX˜Ò Ð ØHÐH¨!­D°©K¬K©-¸!½DÀ¹J¼J¹,Ñ*FÐHÑHÔHˆEØ�I˜f f¨e°UÑ;Ô;ˆEˆEØ ŒX˜Ò Ð ØHÐH¨!­D°©K¬K©-¸!½DÀ¹J¼J¹,Ñ*FÐHÑHÔHˆEØ�I˜f f¨f°fØ$ u¨u°uñ>ô>ˆEà˜Š~ˆ~ˆ~ˆ~ˆ~ˆ~rÚintrinÚanyrr‰rQrcóÔ—| || ¦«z¦«}t|¦«}t||¦«}||¦«}||¦«}||ksJ‚dS©zX Test intrinsics: npyv_any_##SFX npyv_all_##SFX N)r�r‚Úevalr©rrÕr‰r¤ÚfuncÚdesiredÚsimds rÚtest_operators_crosstestz#_SIMD_BOOL.test_operators_crosstestásh€ð—’˜d T§\¢\¡^¤^Ñ3Ñ4Ô4ˆÝ�F‰|Œ|ˆÝ˜˜vÑ&Ô&ˆØ�$�v‘,”,ˆØˆv�f‰~Œ~ˆØ˜w’��Ð&��rr{)rar|r}Ú__doc__r‚r6r�rµrÄrÔÚpytestÚmarkÚ parametrizerÞr(rrrrzs€€€ððð=ð=ð=ð8ð8ð8ð8ðððð )"ð)"ð)"ðV0ð0ð0ðððð> „[×Ò˜X¨¨u ~Ñ6Ô6Ø „[×Ò˜VØ ˆQˆØ ˆBˆØ ˆØ ˆð &ñôð 'ð 'ñ ôñ7Ô6ð 'ð 'ð 'rrcóp—eZdZdZd„Zd„Zd„Zej  dgd¢¦«d„¦«Z dS) Ú _SIMD_INTz2 To test all integer vector types at once có¬‡ —|jdvrdS| | ¦«|jz ¦«}| | ¦«d¬¦«}| |¦«| |¦«}}t | ¦«¦«D]€Š | ˆ fd„|D¦«¦«}| |‰ ¦«}||ksJ‚| ˆ fd„|D¦«¦«}|  |‰ ¦«}||ksJ‚Œ�t d| ¦«¦«D]€Š | ˆ fd„|D¦«¦«}|  |‰ ¦«} | |ksJ‚| ˆ fd„|D¦«¦«}|  |‰ ¦«} | |ksJ‚Œ�dS) N)Úu8Ús8Tr�có•—g|]}|‰z‘ŒSr(r(©r*r’r3s €rr,z2_SIMD_INT.test_operators_shift..óø€Ð#?Ð#?Ð#?°1 A¨¡JÐ#?Ð#?Ð#?rcó•—g|]}|‰z ‘ŒSr(r(rés €rr,z2_SIMD_INT.test_operators_shift..rêrrcó•—g|]}|‰z‘ŒSr(r(rés €rr,z2_SIMD_INT.test_operators_shift..rêrcó•—g|]}|‰z ‘ŒSr(r(rés €rr,z2_SIMD_INT.test_operators_shift..rêr) rr6rLr-rMr‹r.rDÚshlÚshrÚshliÚshri) rr¤r¥r¦r§Ú data_shl_arîÚ data_shr_arïrðrñr3s @rÚtest_operators_shiftz_SIMD_INT.test_operators_shiftùsõø€Ø Œ8�|Ð #Ð #Ø ˆFà—’˜DŸMšM™OœO¨d¬kÑ9Ñ:Ô:ˆØ—’˜DŸMšM™OœO°T�Ñ:Ô:ˆØŸ9š9 VÑ,Ô,¨d¯iªi¸Ñ.?Ô.?�ˆå˜4×,Ò,Ñ.Ô.Ñ/Ô/ð %ð %ˆEàŸšÐ#?Ð#?Ð#?Ð#?¸Ð#?Ñ#?Ô#?Ñ@Ô@ˆJà—(’(˜7 EÑ*Ô*ˆCؘ*Ò$Ð$Ð$Ð$àŸšÐ#?Ð#?Ð#?Ð#?¸Ð#?Ñ#?Ô#?Ñ@Ô@ˆJà—(’(˜7 EÑ*Ô*ˆCؘ*Ò$Ð$Ð$Ð$Ð$õ˜1˜d×/Ò/Ñ1Ô1Ñ2Ô2ð &ð &ˆEàŸšÐ#?Ð#?Ð#?Ð#?¸Ð#?Ñ#?Ô#?Ñ@Ô@ˆJà—9’9˜W eÑ,Ô,ˆDؘ:Ò%Ð%Ð%Ð%àŸšÐ#?Ð#?Ð#?Ð#?¸Ð#?Ñ#?Ô#?Ñ@Ô@ˆJà—9’9˜W eÑ,Ô,ˆDؘ:Ò%Ð%Ð%Ð%Ð%ð &ð &rcóL—|jdvrdS| | ¦«|jz ¦«}| | ¦«d¬¦«}| |¦«| |¦«}}| d„t||¦«D¦«¦«}| ||¦«}||ksJ‚| d„t||¦«D¦«¦«}|  ||¦«}||ksJ‚dS)N)Úu32Ús32Úu64Ús64Tr�có—g|] \}}||z‘Œ Sr(r(r‘s rr,z>_SIMD_INT.test_arithmetic_subadd_saturated.."ó €Ð#JÐ#JÐ#J©d¨a° A¨¡EÐ#JÐ#JÐ#Jrcó—g|] \}}||z ‘Œ Sr(r(r‘s rr,z>_SIMD_INT.test_arithmetic_subadd_saturated..&rûr) rr6rLr-rMr‹rOr£ÚaddsÚsubs) rr¤r¥r¦r§Ú data_addsrýÚ data_subsrþs rÚ test_arithmetic_subadd_saturatedz*_SIMD_INT.test_arithmetic_subadd_saturateds€Ø Œ8Ð3Ð 3Ð 3Ø ˆFà—’˜DŸMšM™OœO¨d¬kÑ9Ñ:Ô:ˆØ—’˜DŸMšM™OœO°T�Ñ:Ô:ˆØŸ9š9 VÑ,Ô,¨d¯iªi¸Ñ.?Ô.?�ˆà—N’NÐ#JÐ#Jµc¸&À&Ñ6IÔ6IÐ#JÑ#JÔ#JÑKÔKˆ Ø�yŠy˜ 'Ñ*Ô*ˆØ�yÒ Ð Ð Ð à—N’NÐ#JÐ#Jµc¸&À&Ñ6IÔ6IÐ#JÑ#JÔ#JÑKÔKˆ Ø�yŠy˜ 'Ñ*Ô*ˆØ�yÒ Ð Ð Ð Ð Ð rcó–—| ¦«}| |j¦«}| |¦«| |¦«}}d„t||¦«D¦«}| ||¦«}||ksJ‚d„t||¦«D¦«}| ||¦«}||ksJ‚dS)Ncó4—g|]\}}t||¦«‘ŒSr()rHr‘s rr,z/_SIMD_INT.test_math_max_min../ó$€Ð>Ð>Ð>¡$ ! Q•C˜˜1‘I”IÐ>Ð>Ð>rcó4—g|]\}}t||¦«‘ŒSr()rGr‘s rr,z/_SIMD_INT.test_math_max_min..3rr)r6r-r‹r£rHrG) rr¤r¥r¦r§Údata_maxÚsimd_maxÚdata_minÚsimd_mins rÚtest_math_max_minz_SIMD_INT.test_math_max_min*sˀؗ’‘”ˆØ—’˜DœKÑ(Ô(ˆØŸ9š9 VÑ,Ô,¨d¯iªi¸Ñ.?Ô.?�ˆà>Ð>­#¨f°fÑ*=Ô*=Ð>Ñ>Ô>ˆØ—8’8˜G WÑ-Ô-ˆØ˜8Ò#Ð#Ð#Ð#à>Ð>­#¨f°fÑ*=Ô*=Ð>Ñ>Ô>ˆØ—8’8˜G WÑ-Ô-ˆØ˜8Ò#Ð#Ð#Ð#Ð#Ð#rr2)iœÿÿÿiðØÿÿrédi'cóö—| | |¦«¦«}| |¦«t|¦«ksJ‚| |¦«t |¦«ksJ‚dS)zf Test intrinsics: npyv_reduce_max_##sfx npyv_reduce_min_##sfx N)r‹r6Ú reduce_maxrHÚ reduce_minrG)rr2r¦s rÚtest_reduce_max_minz_SIMD_INT.test_reduce_max_min7sm€ð—)’)˜DŸJšJ uÑ-Ô-Ñ.Ô.ˆØ�Š˜wÑ'Ô'­3¨w©<¬<Ò7Ð7Ð7Ð7Ø�Š˜wÑ'Ô'­3¨w©<¬<Ò7Ð7Ð7Ð7Ð7Ð7rN) rar|r}rßrôrr ràrárârr(rrräräõs‚€€€€€ððð&ð&ð&ðB!ð!ð!ð $ð $ð $ð „[×Ò˜WÐ&CÐ&CÐ&CÑDÔDð8ð8ñEÔDð8ð8ð8rräcó—eZdZdZd„ZdS)Ú _SIMD_FP32z' To only test single precision có~‡—| ¦«}|jjstjd|¦«rd„Šnt Š| | ¦«¦«}| ||  d¦«¦«}ˆfd„|D¦«}|  |¦«}||ksJ‚dS)úš Round to nearest even integer, assume CPU control register is set to rounding. Test intrinsics: npyv_round_s32_##SFX z.*(NEON|ASIMD)có6—t||dkrdndz¦«S)Nrçà?çà¿r¹)rIs rr½z-_SIMD_FP32.test_conversions..Qs€�s 1¨q°Aªv¨v¨¨¸4Ñ#@ÑAÔA€rrcó&•—g|] }‰|¦«‘ŒSr(r()r*r+Ú_rounds €rr,z/_SIMD_FP32.test_conversions..Vs!ø€Ð1Ð1Ð1 A�f�f˜Q‘i”iÐ1Ð1Ð1rN) rzrÚsimd_f64ÚreÚmatchÚroundr‹r6ÚsubrSÚ round_s32)rÚfeaturesr¦Ú data_roundÚvroundrs @rÚtest_conversionsz_SIMD_FP32.test_conversionsGsÂø€ð ×%Ò%Ñ'Ô'ˆØŒyÔ!ð ¥b¤hÐ/@À(Ñ&KÔ&Kð ðBÐAˆFˆFåˆFØ—)’)˜DŸJšJ™LœLÑ)Ô)ˆØ—(’(˜7 D§K¢K°Ñ$4Ô$4Ñ5Ô5ˆØ1Ð1Ð1Ð1¨Ð1Ñ1Ô1ˆ Ø—’ Ñ(Ô(ˆØ˜Ò#Ð#Ð#Ð#Ð#Ð#rN©rar|r}rßr"r(rrrrCs-€€€€€ððð$ð$ð$ð$ð$rrcó—eZdZdZd„ZdS)Ú _SIMD_FP64z' To only test double precision có†—| | ¦«¦«}| || d¦«¦«}| || d¦«¦«}d„t |¦«t |¦«zD¦«}| ||¦«}||ksJ‚dS)rrgø¿có,—g|]}t|¦«‘ŒSr()rr)s rr,z/_SIMD_FP64.test_conversions..gs€ÐFÐFÐF 1•e˜A‘h”hÐFÐFÐFrN)r‹r6rrSÚmulr1r)rr¦r§r r!s rr"z_SIMD_FP64.test_conversions^s©€ð —)’)˜DŸJšJ™LœLÑ)Ô)ˆØ—(’(˜7 D§K¢K°Ñ$4Ô$4Ñ5Ô5ˆØ—(’(˜7 D§K¢K°Ñ$5Ô$5Ñ6Ô6ˆØFÐF­¨W© ¬ ½¸W¹ ¼ Ñ(EÐFÑFÔFˆ Ø—’ ¨Ñ1Ô1ˆØ˜Ò#Ð#Ð#Ð#Ð#Ð#rNr#r(rrr%r%Zs-€€€€€ððð $ð $ð $ð $ð $rr%c ó—eZdZdZd„Zd„Zd„Zd„Zej   dde j fde j fd e jfd efg¦«d „¦«Zej   d gd ¢¦«d„¦«Zd„Zd„Zej   dgd¢¦«d„¦«Zej   dejdfejdfejdfejdfejdfejdfg¦«d„¦«Zej   d ddg¦«ej   ded¦«d gd ed¦«ged¦«d!gd!ed¦«ged¦«ed¦«gd"d#gd#d"gd$d#gf¦«d%„¦«¦«Zd&S)'Ú_SIMD_FPz0 To test all float vector types at once cór—| | ¦«¦«gdz\}}}| ||¦«}| d„t|||¦«D¦«¦«}| |||¦«}||ksJ‚| |||¦«}| ||¦«}||ksJ‚| |||¦«} | ||¦«} | | ksJ‚| |||¦«} |  ||  d¦«¦«} | | ksJ‚t|  |||¦«¦«} | ddd…t|¦«ddd…ksJ‚| ddd…t|¦«ddd…ksJ‚dS)Nécó&—g|]\}}}||z|z‘ŒSr(r()r*r’r^Úcs rr,z2_SIMD_FP.test_arithmetic_fused..ss&€ÐVÐVÐV©G¨A¨q°!˜a !™e a™iÐVÐVÐVrrQrr r) r‹r6Úaddr£ÚmuladdÚmulsubrÚnmuladdÚnmulsubr(rSr1Ú muladdsub)rr¦r§Úvdata_cÚ vdata_cx2Údata_fmaÚfmaÚfmsÚdata_fmsÚnfmaÚ data_nfmaÚnfmsÚ data_nfmsÚfmass rÚtest_arithmetic_fusedz_SIMD_FP.test_arithmetic_fusedos¹€Ø%)§Y¢Y¨t¯zªz©|¬|Ñ%<Ô%<Ð$=¸aÑ$?Ñ!ˆ�˜'Ø—H’H˜W gÑ.Ô.ˆ à—9’9ÐVÐVµs¸7ÀGÈWÑ7UÔ7UÐVÑVÔVÑWÔWˆØ�kŠk˜' 7¨GÑ4Ô4ˆØ�hŠˆˆˆà�kŠk˜' 7¨GÑ4Ô4ˆØ—8’8˜H iÑ0Ô0ˆØ�hŠˆˆˆà�|Š|˜G W¨gÑ6Ô6ˆØ—H’H˜Y¨Ñ1Ô1ˆ Ø�yÒ Ð Ð Ð à�|Š|˜G W¨gÑ6Ô6ˆØ—H’H˜X t§{¢{°2¡¤Ñ7Ô7ˆ Ø�yÒ Ð Ð Ð õ�D—N’N 7¨G°WÑ=Ô=Ñ>Ô>ˆØ�A�D�q�DŒz�T (™^œ^¨A¨D¨q¨DÔ1Ò1Ð1Ð1Ð1Ø�A�D�q�DŒz�T (™^œ^¨A¨D¨q¨DÔ1Ò1Ð1Ð1Ð1Ð1Ð1rcóB—| ¦«| ¦«| ¦«}}}| ¦«}| | ¦«¦«}d||f||f||ff}|D]T\}}|g|jz} | | |¦«¦«} | tj | d¬¦«ksJ‚ŒU| |  || d¦«¦«¦«} | |ksJ‚dS)N)rrT©Únan_okrQ) rkrnrqr6r‹r-ÚabsrSràÚapproxr() rÚpinfÚninfrpr‰rÁÚ abs_casesÚcaserÜÚdata_absÚvabss rÚtest_absz_SIMD_FP.test_absˆs€ØŸ/š/Ñ+Ô+¨T¯_ª_Ñ->Ô->ÀÇ Â Á Ä �CˆdˆØ�zŠz‰|Œ|ˆØ— ’ ˜$Ÿ*š*™,œ,Ñ'Ô'ˆà˜t T˜l¨T°4¨L¸3À¸*ÐEˆ Ø&ð @ð @‰MˆD�'Ø�y ¤Ñ,ˆHØ—8’8˜DŸKšK¨Ñ-Ô-Ñ.Ô.ˆDØ�6œ=¨¸$Ð?Ñ?Ô?Ò?Ð?Ð?Ð?Ð?à�xŠx˜Ÿš ¨¯ ª °B©¬Ñ8Ô8Ñ9Ô9ˆØ�tŠ|ˆ|ˆ|ˆ|ˆ|ˆ|rcó4—| ¦«| ¦«| ¦«}}}| ¦«}| | ¦«¦«}ddd|f||f||ff}|D]T\}}|g|jz} | | |¦«¦«} | tj | d¬¦«ksJ‚ŒU| d„|D¦«¦«} | |¦«} | | ksJ‚dS)N)ç€rN)çrOgð¿TrBcó6—g|]}tj|¦«‘ŒSr()ÚmathÚsqrtr)s rr,z&_SIMD_FP.test_sqrt..¡s €Ð:Ð:Ð:°�tœy¨™|œ|Ð:Ð:Ð:r) rkrnrqr6r‹r-rRrSràrE) rrFrGrpr‰rÁÚ sqrt_casesrIrÜÚ data_sqrtrRs rÚ test_sqrtz_SIMD_FP.test_sqrt–s€ØŸ/š/Ñ+Ô+¨T¯_ª_Ñ->Ô->ÀÇ Â Á Ä �CˆdˆØ�zŠz‰|Œ|ˆØ— ’ ˜$Ÿ*š*™,œ,Ñ'Ô'ˆà" J°°s° ¸dÀC¸[È4ÐQUÈ,ÐWˆ Ø'ð Að A‰MˆD�'Ø ˜  $¤+Ñ-ˆIØ—I’I˜dŸkšk¨$Ñ/Ô/Ñ0Ô0ˆDØ�6œ=¨¸4Ð@Ñ@Ô@Ò@Ð@Ð@Ð@Ð@à—I’IÐ:Ð:°TÐ:Ñ:Ô:Ñ;Ô;ˆ Ø�yŠy˜ÑÔˆØ�yÒ Ð Ð Ð Ð Ð rcó —| ¦«| ¦«| ¦«}}}| ¦«}| | ¦«¦«}||f||f||ff}|D]T\}}|g|jz} | | |¦«¦«} | tj | d¬¦«ksJ‚ŒUd„|D¦«} | |¦«} | | ksJ‚dS)NTrBcó—g|]}||z‘ŒSr(r(r)s rr,z(_SIMD_FP.test_square..°s€Ð)Ð)Ð)˜q�q˜‘sÐ)Ð)Ð)r) rkrnrqr6r‹r-ÚsquarerSràrE) rrFrGrpr‰rÁÚ square_casesrIrÜÚ data_squarerXs rÚ test_squarez_SIMD_FP.test_square¥s€ØŸ/š/Ñ+Ô+¨T¯_ª_Ñ->Ô->ÀÇ Â Á Ä �CˆdˆØ�zŠz‰|Œ|ˆØ— ’ ˜$Ÿ*š*™,œ,Ñ'Ô'ˆà˜c˜  T¨4 L°4¸°,Ð?ˆ Ø)ð Eð E‰MˆD�'Ø"˜) D¤KÑ/ˆKØ—k’k $§+¢+¨dÑ"3Ô"3Ñ4Ô4ˆFØ�Vœ]¨;¸tÐDÑDÔDÒDÐDÐDÐDÐDà)Ð) DÐ)Ñ)Ô)ˆ Ø—’˜UÑ#Ô#ˆØ˜Ò$Ð$Ð$Ð$Ð$Ð$rz intrin, funcÚceilÚtruncÚfloorÚrintc󌇇‡—|}t||¦«}| ¦«| ¦«| ¦«}}}||f||f||ff}|D]J\}} | g|jz} || |¦«¦«} | t j| d¬¦«ksJ‚ŒKtddd¦«D]\ŠdD]WŠ|  ˆˆfd„t|j¦«D¦«¦«} ˆfd„| D¦«} || ¦«} | | ksJ‚ŒXŒ]d D]8} | | ¦«Š|‰¦«}ˆfd „‰D¦«} || ksJ‚Œ9|d krd }nd }|D]cŠ|  || ‰¦«¦«¦«} |  | d¦«¦«} | | ksJ‚ŒddS)z“ Test intrinsics: npyv_rint_##SFX npyv_ceil_##SFX npyv_trunc_##SFX npyv_floor##SFX TrBrié)gÍÌÌÌÌÌð¿gš™™™™™ñ¿gffffffò¿gÍÌÌÌÌÌð?gš™™™™™ñ?gffffffò?có •—g|] }‰|z‰z‘Œ Sr(r()r*r’Úwr+s €€rr,z*_SIMD_FP.test_rounding..Ês!ø€Ð!FÐ!FÐ!F¨a 1 Q¡3¨¡'Ð!FÐ!FÐ!Frcó&•—g|] }‰|¦«‘ŒSr(r()r*r+rÛs €rr,z*_SIMD_FP.test_rounding..Ës!ø€Ð4Ð4Ð4¨!˜d˜d 1™gœgÐ4Ð4Ð4r)g/ ÿÿÿÿ¯Cg/ ÿÿÿÿÏCg ÿÿÿÿ?Dg ÿÿÿÿ_Dcó&•—g|] }‰|¦«‘ŒSr(r()r*ÚnrÛs €rr,z*_SIMD_FP.test_rounding..Ös!ø€Ð-Ð-Ð- a˜$˜$˜q™'œ'Ð-Ð-Ð-rr^)rN)rNgпg333333Ó¿gÍÌÌÌÌÌÜ¿rrNN) rrkrnrqr-rSràrEr.r‹rR)rrÕrÛr#rFrGrpÚ round_casesrIrÜr rr‰rºÚyÚ data_szerorcr+s ` @@rÚ test_roundingz_SIMD_FP.test_rounding´s<øøø€ðˆ ݘ˜vÑ&Ô&ˆØŸ/š/Ñ+Ô+¨T¯_ª_Ñ->Ô->ÀÇ Â Á Ä �Cˆdˆà˜S�z D¨$ <°$¸°Ð>ˆ Ø(ð Dð D‰MˆD�'Ø!˜ 4¤;Ñ.ˆJØ�V˜DŸKšK¨Ñ-Ô-Ñ.Ô.ˆFØ�Vœ]¨:¸dÐCÑCÔCÒCÐCÐCÐCÐCå�q˜% Ñ(Ô(ð ,ð ,ˆAØ<ð ,ð ,�Ø—y’yÐ!FÐ!FÐ!FÐ!FÐ!Fµ5¸¼Ñ3EÔ3EÐ!FÑ!FÔ!FÑGÔG�Ø4Ð4Ð4Ð4¨tÐ4Ñ4Ô4� ؘ ™œ�Ø Ò+Ð+Ð+Ð+Ð+ð  ,ð ð #ð #ˆAð— ’ ˜A‘”ˆAØ��q‘ ” ˆAØ-Ð-Ð-Ð-¨1Ð-Ñ-Ô-ˆJؘ ’?�?�?�?�?ð ˜'Ò !Ð !Ø ˆJˆJà:ˆJàð (ð (ˆAØ×&Ò& v v¨d¯kªk¸!©n¬nÑ'=Ô'=Ñ>Ô>ˆFØ×*Ò*¨4¯;ª;°tÑ+<Ô+<Ñ=Ô=ˆJؘZÒ'Ð'Ð'Ð'Ð'ð (ð (rrÕ)rHÚmaxpÚmaxnrGÚminpÚminncó@‡—| ¦«| ¦«| ¦«c}}Šdddddœ |dd…d¦«}t |dd…¦«}t |d|z¦«}t ||¦«}|jdz}d d gd d gfd d gd d gf|d gd |gfd |g|d gfd d gd d gfd d gd d gff}|D]s\} } | | |z¦«} | | |z¦«} || | ¦«} || | ¦«}|| ksJ‚|| ¦«} || ¦«}|| ksJ‚Œt|sdS|dkrd „}nˆfd„}‰d fd ‰f‰|f|‰f‰‰ff}|D]¯\} } | | | g|z¦«}|| | ¦«} ||¦«}|tj | d¬¦«ksJ‚|  | ¦«} |  | ¦«} | g|jz} || | ¦«}|tj | d¬¦«ksJ‚Œ°dS)a˜ Test intrinsics: npyv_max_##sfx npyv_maxp_##sfx npyv_maxn_##sfx npyv_min_##sfx npyv_minp_##sfx npyv_minn_##sfx npyv_reduce_max_##sfx npyv_reduce_maxp_##sfx npyv_reduce_maxn_##sfx npyv_reduce_min_##sfx npyv_reduce_minp_##sfx npyv_reduce_minn_##sfx rr )ÚxpÚnpÚnnÚxnéþÿÿÿNrr,Úreduce_rOrNé iöÿÿÿcó^—tj|¦«r|ntj|¦«r|n|S©N©rQÚisnan)r’r^s rr½z'_SIMD_FP.test_max_min..s,€Ý”Z ‘]”]ÐA��­T¬Z¸©]¬]Ð(A¨¨Àðrcó\•—tj|¦«stj|¦«r‰n|Srxry)r’r^rps €rr½z'_SIMD_FP.test_max_min..s)ø€Ý”z !‘}”}Ð<­¬ °1© ¬ Ð<��¸1ðrTrB) rkrnrqÚgetrÙrr-r‹ràrErS)rrÕrFrGÚchk_nanrÛÚ reduce_intrinÚ hf_nlanesÚcasesÚop1Úop2r¦r§r‰rÝÚtest_nanÚvdata_abrps @rÚ test_max_minz_SIMD_FP.test_max_minäsáø€ð&Ÿ/š/Ñ+Ô+¨T¯_ª_Ñ->Ô->ÀÇ Â Á Ä ˆˆˆd�CØ !¨1°AÐ6Ð6×:Ò:¸6À"À#À#¼;ÈÑJÔJˆÝ�F˜2˜A˜2”JÑԈݠ i°&Ñ&8Ñ9Ô9ˆ ݘ˜vÑ&Ô&ˆØ”K ‘Nˆ ð�4ˆ[˜4 ˜+Ð &Ø�#ˆY˜"˜c˜Ð #Ø�BˆZ˜"˜d˜Ð $Ø�$ˆZ˜$ ˜Ð $Ø�#ˆY˜˜S˜ Ð "Ø�2ˆY˜˜b˜ Ð "ð  ˆðð ð ‰HˆC�Ø—i’i  I¡ Ñ.Ô.ˆGØ—i’i  I¡ Ñ.Ô.ˆGØ�4˜ Ñ)Ô)ˆDØ�6˜' 7Ñ+Ô+ˆDؘ4’<�<�<�<Ø�4˜‘=”=ˆDØ �= Ñ)Ô)ˆDؘ4’<�<�<�<�<àð Ø ˆFØ �aŠ<ˆ<ððˆHˆHððððˆHð�"ˆIØ �ˆIØ �$ˆKØ �3ˆKØ �#ˆJð  ˆðð <ð <‰HˆC�Ø—y’y # s ¨IÑ!5Ñ6Ô6ˆHØ�8˜C Ñ%Ô%ˆDØ �= Ñ*Ô*ˆDØ�6œ=¨°dÐ;Ñ;Ô;Ò;Ð;Ð;Ð;Ø—k’k #Ñ&Ô&ˆGØ—k’k #Ñ&Ô&ˆGØ�6˜DœKÑ'ˆDØ�6˜' 7Ñ+Ô+ˆDØ�6œ=¨°dÐ;Ñ;Ô;Ò;Ð;Ð;Ð;Ð;ð <ð .7s€Ð2Ð2Ð2¨  !¡Ð2Ð2Ð2r) rkrnrqr6r‹r-ÚreciprSràrE) rrFrGrpr‰rÁÚ recip_casesrIrÜÚ data_reciprˆs rÚtest_reciprocalz_SIMD_FP.test_reciprocal,s!€ØŸ/š/Ñ+Ô+¨T¯_ª_Ñ->Ô->ÀÇ Â Á Ä �CˆdˆØ�zŠz‰|Œ|ˆØ— ’ ˜$Ÿ*š*™,œ,Ñ'Ô'ˆà˜S�z D¨# ;°°t° ¸sÀD¸kÈDÐRVÈ<ÐXˆ Ø(ð Cð C‰MˆD�'Ø!˜ 4¤;Ñ.ˆJØ—J’J˜tŸ{š{¨4Ñ0Ô0Ñ1Ô1ˆEØ�FœM¨*¸TÐBÑBÔBÒBÐBÐBÐBÐBà—Y’YÐ2Ð2¨TÐ2Ñ2Ô2Ñ3Ô3ˆ Ø— ’ ˜5Ñ!Ô!ˆØ˜ Ò"Ð"Ð"Ð"Ð"Ð"rcóœ—| | | ¦«¦«¦«}|dg|jzksJ‚dS)zQ Compare Not NaN. Test intrinsics: npyv_notnan_##SFX rN)ÚnotnanrSrqr-)rÚnnans rÚtest_special_casesz_SIMD_FP.test_special_cases;sH€ð �{Š{˜4Ÿ;š; t§y¢y¡{¤{Ñ3Ô3Ñ4Ô4ˆØ˜�s˜4œ;‘Ò&Ð&Ð&Ð&Ð&Ð&rr#)r_r]r\r^có—t||¦«}td¦«td¦«td¦« fD]F}| |¦«}t¦«||¦«t d¬¦«dksJ‚ŒGdS)NrprhT)rF)rrjrSrr)rr#rÕÚdrIs rÚtest_unary_invalid_fpexceptionz'_SIMD_FP.test_unary_invalid_fpexceptionCsŽ€õ˜˜{Ñ+Ô+ˆÝ˜‘,”,¥ e¡ ¤ ­u°U©|¬|¨mÐ<ð <ð <ˆAØ— ’ ˜A‘”ˆAÝ Ñ Ô Ð Ø ˆF�1‰IŒIˆIÝ$¨TÐ2Ñ2Ô2°eÒ;Ð;Ð;Ð;Ð;ð  <ð .to_bool..[óø€Ð9Ð9Ð9¨$�D˜IÒ%Ð9Ð9Ð9rr(©rdržs €rÚto_boolz2_SIMD_FP.test_comparison_with_nan..to_boolZ󸀨9Ð9Ð9Ð9°&Ð9Ñ9Ô9Ð 9rr)rNrOcó.•—g|]\}}‰||¦«‘ŒSr(r()r*r’r^Úpy_comps €rr,z5_SIMD_FP.test_comparison_with_nan..fs'ø€ÐFÐFÐF©$¨!¨Q˜˜  1™ œ ÐFÐFÐFr)rkrnrqrYrr-rSr£)rr¤Únp_comprFrGrpr¡rÕÚ cmp_casesÚ case_operand1Ú case_operand2r¤r¥r¦r§ÚvcmpÚdata_cmpržs ` @rÚtest_comparison_with_nanz!_SIMD_FP.test_comparison_with_nanNs?øø€ðŸ/š/Ñ+Ô+¨T¯_ª_Ñ->Ô->ÀÇ Â Á Ä �CˆdˆØ—O’OÑ%Ô%ˆ ð :ð :ð :ð :ð :õ˜˜wÑ'Ô'ˆØ˜�X  Q˜x¨#¨s¨°d¸C°[ؘC�[ ,ð0ˆ à,5ð $ð $Ñ (ˆM˜=Ø#�_ T¤[Ñ0ˆFØ#�_ T¤[Ñ0ˆFØ—k’k -Ñ0Ô0ˆGØ—k’k -Ñ0Ô0ˆGØ�7˜6˜6 '¨7Ñ3Ô3Ñ4Ô4ˆDØFÐFÐFÐFµ#°f¸fÑ2EÔ2EÐFÑFÔFˆHؘ8Ò#Ð#Ð#Ð#Ð#ð $ð $rrÖrr‰rprrrOrNr'cóº—| ||jz¦«}t|¦«}t||¦«}||¦«}||¦«}||ksJ‚dSrØ©r‹r-rÙrrÚs rrÞz!_SIMD_FP.test_operators_crosstestiób€ð"—’˜4 $¤+Ñ-Ñ.Ô.ˆÝ�F‰|Œ|ˆÝ˜˜vÑ&Ô&ˆØ�$�v‘,”,ˆØˆv�f‰~Œ~ˆØ˜w’��Ð&��rN)rar|r}rßr@rLrUr[ràrárârQr\r]r^rrjr…r‹r�r’ÚoperatorÚltÚleÚgtÚgeÚeqÚner«rjrÞr(rrr*r*ks–€€€€€ððð2ð2ð2ð2 ð ð ð !ð !ð !ð %ð %ð %ð „[×Ò˜^¨v°t´yÐ.AØ ˆdŒjИG T¤ZÐ0°6¸5°/ð.CñDôDð,(ð,(ñDôDð,(ð\ „[×Ò˜Xð(ð(ð(ñôðC<ðC<ñôðC<ðJ #ð #ð #ð'ð'ð'ð „[×Ò˜]ð-ð-ð-ñôð<ð<ñôð<ð „[×ÒÐ.Ø Œ�gÐØ Œ�gÐØ Œ�gÐØ Œ�gÐØ Œ�gÐØ Œ�hÐð 1ñôð$ð$ñôð$ð& „[×Ò˜X¨¨u ~Ñ6Ô6Ø „[×Ò˜VØ ˆˆu‰Œ�qÐØ ˆEˆE�%‰LŒLÐØ ˆˆu‰Œ�qÐØ ˆEˆE�%‰LŒLÐØ ˆˆu‰Œ�u�u˜U‘|”|Ð$Ø ˆdˆ Ø ˆsˆ Ø ˆdˆ ð &ñ ô ð 'ð 'ñ ô ñ7Ô6ð 'ð 'ð 'rr*c ó—eZdZdZd„Zd„Zej dddddgfd dd dd gfg¦«d „¦«Z ej d ddg¦«d„¦«Z ej d ddg¦«d„¦«Z ej dddddgfddd dd gfg¦«d„¦«Z ej d ddg¦«d„¦«Z ej d ddg¦«d„¦«Zej dddg¦«d „¦«Zd!„Zd"„Zd#„Zd$„Zej d%ejd&fejd'fejd(fejd)fejd*fg¦«d+„¦«Zd,„Zej d-d.d/g¦«ej d0gd1¢gd2¢gd3¢gd4¢gd5¢d6gdgd7gf¦«d8„¦«¦«Zd9„Zd:„Zd;„Zd<„Z d=„Z!d>„Z"d?„Z#d@„Z$dA„Z%dBS)CÚ _SIMD_ALLz* To test all vector types at once cóˆ—| ¦«}| |¦«}||ksJ‚| |¦«}||ksJ‚| |¦«}||ksJ‚| |¦«}t |¦«d|jdz…}|d|jdz…}||ksJ‚||ksJ‚dS)Nr )r6r‹ÚloadaÚloadsÚloadlr1r-)rr‰Ú load_dataÚ loada_dataÚ loads_datar»Ú loadl_halfÚ data_halfs rÚtest_memory_loadz_SIMD_ALL.test_memory_load…sÔ€Ø�zŠz‰|Œ|ˆà—I’I˜d‘O”Oˆ ؘDÒ Ð Ð Ð à—Z’Z Ñ%Ô%ˆ ؘTÒ!Ð!Ð!Ð!à—Z’Z Ñ%Ô%ˆ ؘTÒ!Ð!Ð!Ð!à— ’ ˜4Ñ Ô ˆÝ˜%‘[”[  $¤+¨q¡. Ô1ˆ ؘ˜$œ+ q™.˜Ô)ˆ ؘYÒ&Ð&Ð&Ð&ؘŠ}ˆ}ˆ}ˆ}ˆ}ˆ}rcó’—| ¦«}| |¦«}dg|jz}| ||¦«||ksJ‚dg|jz}| ||¦«||ksJ‚dg|jz}| ||¦«||ksJ‚dg|jz}| ||¦«|d|jdz…|d|jdz…ksJ‚||ksJ‚dg|jz}| ||¦«|d|jdz…||jdzd…ksJ‚||ksJ‚dS)Nrr )r6r‹r-ÚstoreÚstoreaÚstoresÚstorelÚstoreh)rr‰rÁrÃÚstore_aÚstore_sÚstore_lÚstore_hs rÚtest_memory_storez_SIMD_ALL.test_memory_store—su€Ø�zŠz‰|Œ|ˆØ— ’ ˜$‘”ˆà��d”kÑ!ˆØ � Š �5˜%Ñ Ô Ð Ø˜Š}ˆ}ˆ}ˆ}à�#˜œ Ñ#ˆØ � Š �G˜UÑ#Ô#Ð#ؘ$Šˆˆˆà�#˜œ Ñ#ˆØ � Š �G˜UÑ#Ô#Ð#ؘ$Šˆˆˆà�#˜œ Ñ#ˆØ � Š �G˜UÑ#Ô#Ð#Ø�˜œ  Q™�Ô'¨4°°´¸a±°Ô+@Ò@Ð@Ð@Ð@ؘ%ÒÐÐÐà�#˜œ Ñ#ˆØ � Š �G˜UÑ#Ô#Ð#Ø�˜œ  Q™�Ô'¨4°´ ¸Q±°°Ô+@Ò@Ð@Ð@Ð@ؘ%ÒÐÐÐÐÐrzintrin, elsizes, scale, fillzself.load_tillz, self.load_till©é é@riÿÿz!self.load2_tillz, self.load2_tillr éÿcó—| ¦«|vrdSt|¦«\}}| ¦«}tt d|jdz¦«¦«}||jdz|jdzgz }|D]a} ||| g|¢RŽ} ||| ¦«} | |z} |d| …||j| z |zzz} | | ksJ‚|d| …dg|j| z zz} | | ksJ‚ŒbdS)Nrr r r)rDrÙr6r1r.r-)rrÕÚelsizesÚscaleÚfillÚnpyv_load_tillzÚnpyv_load_tillr‰ÚlanesrfÚ load_tillÚ load_tillzÚ data_tillÚ data_tillzs rÚtest_memory_partial_loadz"_SIMD_ALL.test_memory_partial_load±s'€ð × Ò Ñ Ô  gÐ -Ð -Ø ˆFÝ*.¨v©,¬,Ñ'ˆ˜Ø�zŠz‰|Œ|ˆÝ•U˜1˜dœk¨A™oÑ.Ô.Ñ/Ô/ˆØ �$”+˜q‘. $¤+¨q¡.Ð1Ñ1ˆØð ,ð ,ˆAØ&˜ t¨QÐ6°Ð6Ð6Ð6ˆIØ(˜¨¨qÑ1Ô1ˆJØ �‰JˆAؘR˜a˜Rœ 4¨D¬K¸©M¸eÑ+CÑ#DÑDˆIØ  Ò)Ð)Ð)Ð)ؘb˜q˜bœ Q C¨4¬;°q©=Ñ$9Ñ9ˆJØ Ò+Ð+Ð+Ð+Ð+ð ,ð ,rzintrin, elsizes, scale)zself.store_tillrÍr)zself.store2_tillrÍr cóü—| ¦«|vrdSt|¦«}| ¦«}| d¬¦«}| |¦«}t t d|jdz¦«¦«}||jdz|jdzgz }|D]V} | ¦«} |d| |z…| d| |z…<| d¬¦«} || | |¦«| | ksJ‚ŒWdS)NTr�rr r ©rDrÙr6r‹r1r.r-Úcopy) rrÕrÒrÓÚnpyv_store_tillr‰Údata_revrÁr×rfrÚÚ store_tills rÚtest_memory_partial_storez#_SIMD_ALL.test_memory_partial_storeÅs€ð × Ò Ñ Ô  gÐ -Ð -Ø ˆFݘv™,œ,ˆØ�zŠz‰|Œ|ˆØ—:’: d�:Ñ+Ô+ˆØ— ’ ˜$‘”ˆÝ•U˜1˜dœk¨A™oÑ.Ô.Ñ/Ô/ˆØ �$”+˜q‘. $¤+¨q¡.Ð1Ñ1ˆØð +ð +ˆAØ Ÿ š ™œˆIØ"& x¨¨%© x¤.ˆI�h�q˜‘w�hÑ ØŸš¨D˜Ñ1Ô1ˆJØ ˆO˜J¨¨5Ñ 1Ô 1Ð 1Ø Ò*Ð*Ð*Ð*Ð*ð  +ð +r)z self.loadnrÍr)z self.loadn2rÍr c 󰇇—| ¦«|vrdSt|¦«}tdd¦«D�]Љdkr^| ‰‰ |jz¦«Št t jtˆˆfd„t|dd¦«D¦«ŽŽ¦«}nЉdkr*| ¦«Š‰d|…|j|zz}nZ| ‰|jz¬¦«Št t jtˆˆfd„t|¦«D¦«ŽŽ¦«}|  |¦«}|‰‰¦«}||ksJ‚�ŒdS)NéÀÿÿÿrÏrcó(•—g|]}‰| d‰…‘ŒSrxr(©r*rºr‰Ústrides €€rr,z6_SIMD_ALL.test_memory_noncont_load..åó&ø€ÐIÐIÐI°˜4     F  Ô+ÐIÐIÐIrrQ©r3có&•—g|] }‰|d‰…‘ŒSrxr(rçs €€rr,z6_SIMD_ALL.test_memory_noncont_load..íó#ø€ÐAÐAÐA¨q˜4    6  œ?ÐAÐAÐAr) rDrÙr.r6r-r1Ú itertoolsÚchainr£r‹) rrÕrÒrÓÚ npyv_loadnÚ data_strideÚloadnr‰rès @@rÚtest_memory_noncont_loadz"_SIMD_ALL.test_memory_noncont_loadÙs}øø€ð × Ò Ñ Ô  gÐ -Ð -Ø ˆFݘ&‘\”\ˆ ݘC ‘n”nð (ñ (ˆFؘŠzˆzØ—z’z &¨6¨'°$´+Ñ*=Ñ>Ô>�Ý"¥9¤?ÝÐIÐIÐIÐIÐIµU¸5À!ÀRÑ5HÔ5HÐIÑIÔIÐJð$ñô� � ð˜1’�Ø—z’z‘|”|�Ø" 1 U 7œm¨t¬{¸EÑ/AÑB� � à—z’z¨¨t¬{Ñ(:�zÑ;Ô;�Ý"¥9¤?ÝÐAÐAÐAÐAÐAµE¸%±L´LÐAÑAÔAÐBð$Dñô� ðŸ)š) KÑ0Ô0ˆKØ�J˜t VÑ,Ô,ˆEؘKÒ'Ð'Ð'Ð'Ñ'ð! (ð (rz!self.loadn_tillz, self.loadn_tillz#self.loadn2_tillz, self.loadn2_tillc óà‡‡—| ¦«|vrdSt|¦«\}}ttd|jdz¦«¦«}||jdz|jdzgz }tdd¦«D�]sЉdkr^| ‰‰ |jz¦«Štt jtˆˆfd„t|dd¦«D¦«ŽŽ¦«}nЉdkr*| ¦«Š‰d|…|j|zz}nZ| ‰|jz¬ ¦«Štt jtˆˆfd „t|¦«D¦«ŽŽ¦«}t|  |¦«¦«}|D]]} | |z} |j| z } |d| …|| |zzz} |‰‰| g|¢RŽ} | | ksJ‚|d| …dg| zz}|‰‰| ¦«}||ksJ‚Œ^�ŒudS) Nrr r rårÏrcó(•—g|]}‰| d‰…‘ŒSrxr(rçs €€rr,z>_SIMD_ALL.test_memory_noncont_partial_load..rérrQrêcó&•—g|] }‰|d‰…‘ŒSrxr(rçs €€rr,z>_SIMD_ALL.test_memory_noncont_partial_load.. rìr) rDrÙr1r.r-r6rírîr£r‹)rrÕrÒrÓrÔÚnpyv_loadn_tillzÚnpyv_loadn_tillr×rðrfÚnscaleÚllanesÚdata_stride_tillÚ loadn_tillÚdata_stride_tillzÚ loadn_tillzr‰rès @@rÚ test_memory_noncont_partial_loadz*_SIMD_ALL.test_memory_noncont_partial_loadósWøø€ð × Ò Ñ Ô  gÐ -Ð -Ø ˆFÝ,0°©L¬LÑ)И/Ý•U˜1˜dœk¨A™oÑ.Ô.Ñ/Ô/ˆØ �$”+˜q‘. $¤+¨q¡.Ð1Ñ1ˆÝ˜C ‘n”nð 8ñ 8ˆFؘŠzˆzØ—z’z &¨6¨'°$´+Ñ*=Ñ>Ô>�Ý"¥9¤?ÝÐIÐIÐIÐIÐIµU¸5À!ÀRÑ5HÔ5HÐIÑIÔIÐJð$ñô� � ð˜1’�Ø—z’z‘|”|�Ø" 1 U 7œm¨t¬{¸EÑ/AÑB� � à—z’z¨¨t¬{Ñ(:�zÑ;Ô;�Ý"¥9¤?ÝÐAÐAÐAÐAÐAµE¸%±L´LÐAÑAÔAÐBð$ñô� õ˜tŸyšy¨Ñ5Ô5Ñ6Ô6ˆKØð 8ð 8�ؘU™�Øœ vÑ-�à   Ô(¨4°6¸5±=Ñ+AÑAð!ð-˜_¨T°6¸1ÐD¸tÐDÐDÐD� Ø!Ð%5Ò5Ð5Ð5Ð5Ø$/°°°Ô$8¸A¸3À¹<Ñ$GÐ!Ø.Ð.¨t°V¸QÑ?Ô?� Ø"Ð&7Ò7Ð7Ð7Ð7Ð7ñ 8ð 8ð 8r)z self.storenrÍr)z self.storen2rÍr có¾—| ¦«|vrdSt|¦«}| ¦«}| |¦«}|j|z}t dd¦«D]Œ}dg|z|jz} t d||z|¦«D]} | |z|z} || | |z…| | | |z…<Œ dg|z|jz} | dgdzz } || ||¦«| dd…| ksJ‚| dd…dgdzksJ‚Œ�t dd¦«D]�}dg| z|jz} t d||z|¦«D]!} | |z|z} || | |z…| | |z | pd…<Œ"dgdz} | dg| z|jzz } || ||¦«| dd…| ksJ‚| dd…dgdzksJ‚Œ‘dg|jz} |  ¦«} || d…| d|…<|| d|¦«| | ksJ‚dS)NrrÏr�rérå)rDrÙr6r‹r-r.rß) rrÕrÒrÓÚ npyv_storenr‰rÁÚhlanesrèÚ data_storenr>rºÚstorens rÚtest_memory_noncont_storez#_SIMD_ALL.test_memory_noncont_stores’€ð × Ò Ñ Ô  gÐ -Ð -Ø ˆFݘ6‘l”lˆ Ø�zŠz‰|Œ|ˆØ— ’ ˜$‘”ˆØ” Ñ%ˆÝ˜A˜r‘l”lð -ð -ˆFؘ& 6™/¨D¬KÑ7ˆKݘ1˜f V™m¨VÑ4Ô4ð 9ð 9�ؘ‘Y Ñ%�Ø)-¨a°°%±¨i¬� ˜A˜a ™g˜IÑ&Ð&Ø�V˜f‘_ t¤{Ñ2ˆFØ �t�f˜R‘iÑ ˆFØ ˆK˜ ¨Ñ .Ô .Ð .ؘ$˜3˜$”< ;Ò.Ð.Ð.Ð.ؘ#˜$˜$”< D 6¨"¡9Ò,Ð,Ð,Ð,Ð,å˜C ‘m”mð ,ð ,ˆFؘ& F 7Ñ*¨T¬[Ñ8ˆKݘ1˜f V™m¨VÑ4Ô4ð Að A�ؘ‘Y Ñ%�Ø15°a¸¸%¹°i´� ˜A˜e™G A I¨Ð-Ñ.Ð.Ø�V˜B‘YˆFØ �t�f ˜wÑ&¨¬Ñ4Ñ 4ˆFØ ˆK˜ ¨Ñ .Ô .Ð .ؘ"˜#˜#”; +Ò-Ð-Ð-Ð-ؘ#˜2˜#”; 4 &¨¡)Ò+Ð+Ð+Ð+Ð+à�f˜tœ{Ñ*ˆ Ø×!Ò!Ñ#Ô#ˆØ# U F G Gœ}ˆ �A�e�GÑØˆ �F˜A˜uÑ%Ô%Ð%ؘÒ$Ð$Ð$Ð$Ð$Ð$r)zself.storen_tillrÍr)zself.storen2_tillrÍr có —| ¦«|vrdSt|¦«}| ¦«}| |¦«}t t d|jdz¦«¦«}||jdz|jdzgz }|j|z}t dd¦«D]¹} |D]´} dg| z|jz} |d| |z…dg|j| |zz zz} t d|| z| ¦«d| …D]} | | z|z}| |||z…| | | |z…<Œ dg| z|jz}|dgdzz }||| | |¦«|dd…| ksJ‚|dd…dgdzksJ‚ŒµŒºt dd¦«D]½} |D]¸} dg| z|jz} |d| |z…dg|j| |zz zz} t d|| z| ¦«d| …D]!} | | z|z}| |||z…| | |z | pd…<Œ"dgdz}|dg| z|jzz }||| | |¦«|dd…| ksJ‚|dd…dgdzksJ‚Œ¹Œ¾|D]R} dg|jz} |  ¦«}|d| |z…| d…| d|…<||d| |¦«|| ksJ‚ŒSdS) Nrr r rÏr�rrrårÞ)rrÕrÒrÓÚnpyv_storen_tillr‰rÁr×rrèrfrÚÚtdatar>rºÚ storen_tills rÚ!test_memory_noncont_partial_storez+_SIMD_ALL.test_memory_noncont_partial_store?s‰€ð × Ò Ñ Ô  gÐ -Ð -Ø ˆFÝ ™<œ<ÐØ�zŠz‰|Œ|ˆØ— ’ ˜$‘”ˆÝ•U˜1˜dœk¨A™oÑ.Ô.Ñ/Ô/ˆØ �$”+˜q‘. $¤+¨q¡.Ð1Ñ1ˆØ” Ñ%ˆÝ˜A˜r‘l”lð 6ð 6ˆFØð 6ð 6�Ø!˜F V™O¨d¬kÑ9� ؘX˜a ™g˜Xœ¨$¨°4´;¸qÀ¹wÑ3FÑ)GÑG�ݘq &¨¡-°Ñ8Ô8¸¸!¸Ô<ð<ð<�AؘF™ EÑ)�AØ+0°°1°U±7°Ô+;�I˜a  %¡˜iÑ(Ð(Ø#˜f v™o°´ Ñ;� Ø ˜v b™yÑ(� Ø Ð  ¨f°a¸Ñ?Ô?Ð?Ø" 4 C 4Ô(¨IÒ5Ð5Ð5Ð5Ø" 3 4 4Ô(¨T¨F°2©IÒ5Ð5Ð5Ð5Ð5ð 6õ˜C ‘m”mð 5ð 5ˆFØð 5ð 5�Ø!˜F f WÑ,¨t¬{Ñ:� ؘX˜a ™g˜Xœ¨$¨°4´;¸qÀ¹wÑ3FÑ)GÑG�ݘq &¨¡-°Ñ8Ô8¸¸!¸Ô<ðDðD�AؘF™ EÑ)�AØ38¸¸1¸U¹7¸Ô3C�I˜a ™g a i¨4Ð/Ñ0Ð0Ø#˜f R™i� Ø ˜v¨¨Ñ/°$´+Ñ=Ñ=� Ø Ð  ¨f°a¸Ñ?Ô?Ð?Ø" 2 3 3Ô'¨9Ò4Ð4Ð4Ð4Ø" 3 B 3Ô'¨D¨6°"©9Ò4Ð4Ð4Ð4Ð4ð 5ðð ,ð ,ˆAؘ ¤Ñ,ˆIØ#Ÿ.š.Ñ*Ô*ˆKØ!% h q¨¡w h¤°°°°Ô!8ˆI�a˜�gÑ Ø Ð ˜[¨!¨Q°Ñ 6Ô 6Ð 6Ø )Ò+Ð+Ð+Ð+Ð+ð  ,ð ,rzintrin, table_size, elsize)z self.lut32rÎrÎ)z self.lut16érÏcó—|| ¦«krdSt|¦«}t|jd|›�¦«}t d|¦«}|D]6}| |¦«}||¦«}|||¦«} | |ksJ‚Œ7dS)zi Test lookup table intrinsics: npyv_lut32_##sfx npyv_lut16_##sfx NrWr)rDrÙrrr.rS) rrÕÚ table_sizeÚelsizeÚ idx_itrinÚtablerºÚbroadiÚidxÚluts rÚtest_lutz_SIMD_ALL.test_lutns©€ð �T×&Ò&Ñ(Ô(Ò (Ð (Ø ˆFÝ�f‘”ˆÝ˜DœIÐ':°&Ð':Ð':Ñ;Ô;ˆ Ý�a˜Ñ$Ô$ˆØð !ð !ˆAØ—[’[ ‘^”^ˆFØ�)˜A‘,”,ˆCØ�&˜ Ñ$Ô$ˆCؘ&’=�=�=�=�=ð  !ð !rcóx—| ¦«}|dg|jzksJ‚tdd¦«D](}| |¦«}||g|jzksJ‚Œ)| ¦«| d¬¦«}}| |¦«| |¦«}}|j|Ž}||ksJ‚|jdg|¢RŽ} | |ksJ‚gd¢} |jj r|   d¦«|jj r|   d¦«| D].} t|d | z¦«|¦«j } | d | zksJ‚Œ/| | | ¦«| ¦«¦«||¦«} | |ksJ‚| | | ¦«| ¦«¦«||¦«}||ksJ‚| |¦«|dksJ‚|j ¦«dS) NrrrvTr�©rærçÚu16Ús16rör÷rørùÚf64Úf32Ú reinterpret_r\)Úzeror-r.rSr6r‹ÚsetÚsetfrrÚappendÚsimd_f32rraÚselectr—r˜Úextract0Úcleanup)rÚbroadcast_zerorºÚ broadcastir¤r¥r¦r§ÚvsetÚvsetfÚsfxesrÚvec_nameÚselect_aÚselect_bs rÚ test_miscz_SIMD_ALL.test_miscƒsN€ØŸš™œˆØ !  t¤{Ñ!2Ò2Ð2Ð2Ð2Ý�q˜"‘”ð 3ð 3ˆAØŸš Q™œˆJØ !  t¤{Ñ!2Ò2Ð2Ð2Ð2Ð2àŸš™œ t§z¢z¸$ zÑ'?Ô'?�ˆØŸ9š9 VÑ,Ô,¨d¯iªi¸Ñ.?Ô.?�ˆðˆtŒx˜Ð ˆØ�vŠ~ˆ~ˆ~ˆ~ð�” ˜"Ð&˜vÐ&Ð&Ð&ˆØ˜Šˆˆˆð GÐFÐFˆØ Œ9Ô ð Ø �LŠL˜Ñ Ô Ð Ø Œ9Ô ð Ø �LŠL˜Ñ Ô Ð Øð -ð -ˆCØ:•w˜t ^°cÑ%9Ñ:Ô:¸7ÑCÔCÔLˆHؘw¨™}Ò,Ð,Ð,Ð,Ð,ð—;’;˜tŸzšz¨$¯)ª)©+¬+°t·y²y±{´{ÑCÔCÀWÈgÑVÔVˆØ˜6Ò!Ð!Ð!Ð!Ø—;’;˜tŸ{š{¨4¯9ª9©;¬;¸¿ º ¹ ¼ ÑDÔDÀgÈwÑWÔWˆØ˜6Ò!Ð!Ð!Ð!ð�}Š}˜WÑ%Ô%¨°¬Ò3Ð3Ð3Ð3ð Œ ×ÒÑÔÐÐÐrcót—| ¦«| d¬¦«}}| |¦«| |¦«}}|d|jdz…}|d|jdz…}||jdzd…}||jdzd…}| ||¦«} | ||zksJ‚| ||¦«} | ||zksJ‚| ||¦«} | ||z||zfksJ‚| d„t ||¦«D¦«¦«} | d„t ||¦«D¦«¦«} | ||¦«}|| | fksJ‚dg|jzdz}| d¦«|||f¦«|t| ¦«t| ¦«zksJ‚|  | | ¦«}|||fksJ‚| d¦«t| ¦«t| ¦«z¦«}|||fksJ‚dS) NTr�r có—g|] }|D]}|‘ŒŒ Sr(r(©r*ÚprIs rr,z*_SIMD_ALL.test_reorder..Äó9€ð ð ð Ø¸!ð ð Ø56ˆAð ð ð ð rcó—g|] }|D]}|‘ŒŒ Sr(r(r/s rr,z*_SIMD_ALL.test_reorder..Çr1rrrÃr‹) r6r‹r-ÚcombinelÚcombinehÚcombiner£r$r1Úunzip)rr¤r¥r¦r§Ú data_a_loÚ data_b_loÚ data_a_hiÚ data_b_hir3r4r5Ú data_ziplÚ data_ziphÚvzipr6s rÚ test_reorderz_SIMD_ALL.test_reorder°s‚€ØŸ*š*™,œ,¨¯ ª ¸4¨ Ñ(@Ô(@�ˆØŸ9š9 VÑ,Ô,¨d¯iªi¸Ñ.?Ô.?�ˆà˜?˜DœK¨™N˜?Ô+ˆ ؘ?˜DœK¨™N˜?Ô+ˆ à˜4œ;¨™>˜?˜?Ô+ˆ ؘ4œ;¨™>˜?˜?Ô+ˆ à—=’= ¨'Ñ2Ô2ˆØ˜9 yÑ0Ò0Ð0Ð0Ð0à—=’= ¨'Ñ2Ô2ˆØ˜9 yÑ0Ò0Ð0Ð0Ð0à—,’,˜w¨Ñ0Ô0ˆØ˜9 yÑ0°)¸iÑ2GÐHÒHÐHÐHÐHð—I’Ið ð ݘ9 iÑ0Ô0ð ñ ô ñ ô ˆ ð—I’Ið ð ݘ9 iÑ0Ô0ð ñ ô ñ ô ˆ ð�xŠx˜ Ñ)Ô)ˆØ˜  9Ð-Ò-Ð-Ð-Ð-؈s�4”;‰˜qÑ ˆØˆ�Š�ÑÔ˜$ ¨'Ð 2Ñ3Ô3Ð3Ø•t˜I‘”­¨i©¬Ñ8Ò8Ð8Ð8Ð8ð— ’ ˜9 iÑ0Ô0ˆØ˜ Ð(Ò(Ð(Ð(Ð(Ø �—’˜Ñ Ô ¥ i¡¤µ4¸ ±?´?Ñ!BÑCÔCˆØ˜ Ð(Ò(Ð(Ð(Ð(Ð(Ð(rcó‡—| ¦«Š‰dkrdSˆfd„td|jd‰z¦«D¦«}| | t|j¦«¦«¦«}||ksJ‚dS)NrÏc ó`•—g|]*}tt||d‰zz¦«¦«D]}|‘ŒŒ+S)rÏ)r/r.)r*r+rhÚssizes €rr,z0_SIMD_ALL.test_reorder_rev64..ÛsXø€ð ð ð ØÝ¥ a¨¨R°©Y©Ñ 7Ô 7Ñ8Ô8ð ð àð ð ð ð ð rr)rDr.r-Úrev64r‹)rÚ data_rev64rBrAs @rÚtest_reorder_rev64z_SIMD_ALL.test_reorder_rev64Ösœø€à×!Ò!Ñ#Ô#ˆØ �BŠ;ˆ;Ø ˆFð ð ð ð ݘQ ¤ ¨R°©YÑ7Ô7ð ñ ô ˆ ð— ’ ˜4Ÿ9š9¥U¨4¬;Ñ%7Ô%7Ñ8Ô8Ñ9Ô9ˆØ˜ Ò"Ð"Ð"Ð"Ð"Ð"rc󄇇‡ ‡ —| ¦«}|dkrdS| | ¦«¦«Šd|zŠ ‰ dz Š |j‰ z}|dkrddgngd¢}t ‰ ¦«D]FŠˆˆ fd„|D¦«}|j‰g|¢RŽ}ˆˆ fd „t ||z¦«D¦«}||ksJ‚ŒGdS) z\ Test permuting elements for each 128-bit lane. npyv_permi128_##sfx rÎNé€rrÏr)rr r écó •—g|] }‰|z ‰z‘Œ Sr(r()r*ÚshfrºÚpermds €€rr,z3_SIMD_ALL.test_reorder_permi128..ðs"ø€Ð:Ð:Ð:¨c˜˜S™ EÑ)Ð:Ð:Ð:rcó4•—g|]\}}‰||‰ zz‘ŒSr(r()r*ÚeÚjr‰Úpermns €€rr,z3_SIMD_ALL.test_reorder_permi128..òs=ø€ðððá�A�qð�Q˜!˜u˜f™*Ñ%Ô&ðððr)rDr‹r6r-r.Úpermi128r¼) rrAÚnlane128ÚshflÚindicesÚvpermÚ data_vpermr‰rºrJrNs @@@@rÚtest_reorder_permi128z_SIMD_ALL.test_reorder_permi128âsøøøø€ð ×!Ò!Ñ#Ô#ˆØ �2Š:ˆ:Ø ˆFØ�yŠy˜Ÿš™œÑ&Ô&ˆØ�U‘ ˆØ�a‘ˆØ”; Ñ%ˆØ "š˜��1ˆvˆv¨,¨,¨,ˆÝ�u‘”ð 'ð 'ˆAØ:Ð:Ð:Ð:Ð:°TÐ:Ñ:Ô:ˆGØ!�D”M $Ð1¨Ð1Ð1Ð1ˆEðððððå% g¨hÑ&6Ñ7Ô7ðñôˆJð˜JÒ&Ð&Ð&Ð&Ð&ð 'ð 'rz func, intrinr“r”r•r–r—có$‡‡ —| ¦«r| ¦«}n/| | ¦«|jz ¦«}| | ¦«d¬¦«}| |¦«| |¦«}}t ||¦«}| ¦«Š ˆ fd„}ˆfd„t||¦«D¦«}||||¦«¦«} | |ksJ‚dS)NTr�có •—ˆfd„|D¦«S)Ncó•—g|]}|‰k‘Œ Sr(r(rœs €rr,zH_SIMD_ALL.test_operators_comparison..to_bool.. rŸrr(r s €rr¡z4_SIMD_ALL.test_operators_comparison..to_bool r¢rcó.•—g|]\}}‰||¦«‘ŒSr(r()r*r’r^rÛs €rr,z7_SIMD_ALL.test_operators_comparison.. s'ø€Ð?Ð?Ð?¡4 1 a�D�D˜˜A‘J”JÐ?Ð?Ð?r) r0r6rLr-rMr‹rrYr£) rrÛrÕr¤r¥r¦r§r¡rªÚcmpržs ` @rÚtest_operators_comparisonz#_SIMD_ALL.test_operators_comparisonøs øø€ð �;Š;‰=Œ=ð ?Ø—Z’Z‘\”\ˆFˆFà—Z’Z § ¢ ¡¤°$´+Ñ =Ñ>Ô>ˆFØ—’˜DŸMšM™OœO°T�Ñ:Ô:ˆØŸ9š9 VÑ,Ô,¨d¯iªi¸Ñ.?Ô.?�ˆÝ˜˜vÑ&Ô&ˆà—O’OÑ%Ô%ˆ ð :ð :ð :ð :ð :ð@Ð?Ð?Ð?­3¨v°vÑ+>Ô+>Ð?Ñ?Ô?ˆØˆg�f�f˜W gÑ.Ô.Ñ/Ô/ˆØ�hŠˆˆˆˆˆrcóü—| ¦«r| ¦«}n/| | ¦«|jz ¦«}| | ¦«d¬¦«}| |¦«| |¦«}}| ¦«r9| |¦«}| |¦«}|j|j}}n||}}d„|j}}|d„t||¦«D¦«¦«} || ||¦«¦«} | | ksJ‚|d„t||¦«D¦«¦«} |t|d¦«||¦«¦«} | | ksJ‚|d„t||¦«D¦«¦«} |t|d¦«||¦«¦«}|| ksJ‚|d „|D¦«¦«}|t|d ¦«|¦«¦«}||ksJ‚|j d vrdSd „t||¦«D¦«}|t|d ¦«||¦«¦«}||ksJ‚dS)NTr�có—|Srxr()r’s rr½z2_SIMD_ALL.test_operators_logical..s€¨€rcó—g|] \}}||z ‘Œ Sr(r(r‘s rr,z4_SIMD_ALL.test_operators_logical.. ó €ÐNÐNÐN©¨¨1˜a !™eÐNÐNÐNrcó—g|] \}}||z‘Œ Sr(r(r‘s rr,z4_SIMD_ALL.test_operators_logical..$r_rr–có—g|] \}}||z‘Œ Sr(r(r‘s rr,z4_SIMD_ALL.test_operators_logical..(r_rr”có—g|]}|‘ŒSr(r()r*r’s rr,z4_SIMD_ALL.test_operators_logical..,s€Ð6Ð6Ð6 Q˜q˜bÐ6Ð6Ð6rr™ræcó —g|] \}}||z‘Œ Sr(r(r‘s rr,z4_SIMD_ALL.test_operators_logical..2s"€ÐFÐFÐF¡  1�Q˜!˜‘VÐFÐFÐFrrž) r0r6rLr-rMr‹rRr£r˜rr)rr¤r¥r¦r§Ú data_cast_aÚ data_cast_bÚcastÚ cast_datar¬r­rªr«r¨r©Údata_notr®r¯r°s rrµz _SIMD_ALL.test_operators_logicals«€Ø �;Š;‰=Œ=ð ?Ø—Z’Z‘\”\ˆFˆFà—Z’Z § ¢ ¡¤°$´+Ñ =Ñ>Ô>ˆFØ—’˜DŸMšM™OœO°T�Ñ:Ô:ˆØŸ9š9 VÑ,Ô,¨d¯iªi¸Ñ.?Ô.?�ˆà �;Š;‰=Œ=ð 5Ø×+Ò+¨GÑ4Ô4ˆKØ×+Ò+¨GÑ4Ô4ˆKØ"Ô/°Ô1B�)ˆDˆDà'-¨v˜ˆKØ)˜k¨4¬9�)ˆDà�9ÐNÐNµ°KÀÑ0MÔ0MÐNÑNÔNÑOÔOˆØˆt�D—H’H˜W gÑ.Ô.Ñ/Ô/ˆØ�xÒÐÐÐà�9ÐNÐNµ°KÀÑ0MÔ0MÐNÑNÔNÑOÔOˆØˆtÐ'•G˜D $Ñ'Ô'¨°Ñ9Ô9Ñ:Ô:ˆØ�gŠ~ˆ~ˆ~ˆ~à�9ÐNÐNµ°KÀÑ0MÔ0MÐNÑNÔNÑOÔOˆØˆtÐ(•G˜D %Ñ(Ô(¨°'Ñ:Ô:Ñ;Ô;ˆØ�xÒÐÐÐà�9Ð6Ð6¨+Ð6Ñ6Ô6Ñ7Ô7ˆØˆtÐ(•G˜D %Ñ(Ô(¨Ñ1Ô1Ñ2Ô2ˆØ�xÒÐÐÐà Œ8˜DÐ !Ð !Ø ˆFØFÐF­¨K¸Ñ(EÔ(EÐFÑFÔFˆ Ø�Ð*•W˜T 6Ñ*Ô*¨7°GÑ<Ô<Ñ=Ô=ˆØ˜ Ò!Ð!Ð!Ð!Ð!Ð!rrÕrÖrr‰)rr r,r )rQrtéýÿÿÿéüÿÿÿ)rrr r,r )rrÐiÿÿÿlÿÿÿÿ)rrQrtrir rrQcóº—| ||jz¦«}t|¦«}t||¦«}||¦«}||¦«}||ksJ‚dSrØr­rÚs rrÞz"_SIMD_ALL.test_operators_crosstest6r®rcóª—d|jdd…z}t|jd|›d|j›�¦«}t|jd|j›d|›�¦«}|| d¦«¦«}| | d¦«| d¦«¦«}||ksJ‚||¦«}||¦«}||ksJ‚dS)Nr^rÚcvt_rr)rrrrSr—)rÚbsfxÚ to_booleanÚ from_booleanÚfalse_vbÚtrue_vbÚ false_vsfxÚ true_vsfxs rÚtest_conversion_booleanz!_SIMD_ALL.test_conversion_booleanNsÜ€Ø�T”X˜a˜b˜b”\Ñ!ˆÝ˜TœY˜Y°t°t°t¸T¼X¸XÐ(FÑGÔGˆ ݘtœy˜y¸¼¸¸À4À4Ð*HÑIÔIˆ à�:˜dŸkšk¨!™nœnÑ-Ô-ˆØ—:’:˜dŸkšk¨!™nœn¨d¯kªk¸!©n¬nÑ=Ô=ˆØ˜7Ò"Ð"Ð"Ð"à!�\ (Ñ+Ô+ˆ Ø �L Ñ)Ô)ˆ ؘYÒ&Ð&Ð&Ð&Ð&Ð&rcóÊ—|jdvrdS|jdtt|jdd…¦«dz¦«z}t|jd|›d|j›�¦«}| | ¦«|jz ¦«}| |¦«}||¦«}|d|jdz…}||jdzd…}|||fksJ‚dS)zh Test expand intrinsics: npyv_expand_u16_u8 npyv_expand_u32_u16 ©rærNrrr Úexpand_r) rÚstrrCrrr6rLr-r‹)rÚtotypeÚexpandr‰rÁÚedataÚdata_loÚdata_his rÚtest_conversion_expandz _SIMD_ALL.test_conversion_expand[sé€ð Œ8˜=Ð (Ð (Ø ˆFØ”˜!”�S¥ T¤X¨a¨b¨b¤\Ñ!2Ô!2°1Ñ!4Ñ5Ô5Ñ5ˆÝ˜œÐ$A¨fÐ$AÐ$A°t´xÐ$AÐ$AÑBÔBˆà— ’ ˜4Ÿ=š=™?œ?¨T¬[Ñ8Ñ9Ô9ˆØ— ’ ˜$‘”ˆØ��u‘ ” ˆà�˜œ  Q™�Ô'ˆà�t”{ A‘~��Ô'ˆØ˜ 'Ð*Ò*Ð*Ð*Ð*Ð*Ð*rcóˆ—| ¦«r| ¦«}n/| | ¦«|jz ¦«}| | ¦«d¬¦«}| |¦«| |¦«}}| d„t ||¦«D¦«¦«}| ||¦«}||ksJ‚| d„t ||¦«D¦«¦«}| ||¦«}||ksJ‚dS)NTr�có—g|] \}}||z‘Œ Sr(r(r‘s rr,z4_SIMD_ALL.test_arithmetic_subadd..xó €ÐDÐDÐD©¨¨1˜a !™eÐDÐDÐDrcó—g|] \}}||z ‘Œ Sr(r(r‘s rr,z4_SIMD_ALL.test_arithmetic_subadd..{s €ÐEÐEÐE©¨¨A˜q 1™uÐEÐEÐEr) r0r6rLr-rMr‹r£r/r) rr¤r¥r¦r§Údata_addr/Údata_subrs rÚtest_arithmetic_subaddz _SIMD_ALL.test_arithmetic_subaddos€Ø �;Š;‰=Œ=ð ?Ø—Z’Z‘\”\ˆFˆFà—Z’Z § ¢ ¡¤°$´+Ñ =Ñ>Ô>ˆFØ—’˜DŸMšM™OœO°T�Ñ:Ô:ˆØŸ9š9 VÑ,Ô,¨d¯iªi¸Ñ.?Ô.?�ˆð—9’9ÐDÐDµ°F¸FÑ0CÔ0CÐDÑDÔDÑEÔEˆØ�xŠx˜ Ñ)Ô)ˆØ�hŠˆˆˆØ—I’IÐEÐEµ°V¸VÑ1DÔ1DÐEÑEÔEÑFÔFˆØ�xŠx˜ Ñ)Ô)ˆØ�hŠˆˆˆˆˆrcó—|jdvrdS| ¦«r| ¦«}n/| | ¦«|jz ¦«}| | ¦«d¬¦«}| |¦«| |¦«}}| d„t||¦«D¦«¦«}| ||¦«}||ksJ‚dS)N)rørùTr�có—g|] \}}||z‘Œ Sr(r(r‘s rr,z1_SIMD_ALL.test_arithmetic_mul..Šr‚r) rr0r6rLr-rMr‹r£r()rr¤r¥r¦r§Údata_mulr(s rÚtest_arithmetic_mulz_SIMD_ALL.test_arithmetic_mulsß€Ø Œ8�~Ð %Ð %Ø ˆFà �;Š;‰=Œ=ð ?Ø—Z’Z‘\”\ˆFˆFà—Z’Z § ¢ ¡¤°$´+Ñ =Ñ>Ô>ˆFØ—’˜DŸMšM™OœO°T�Ñ:Ô:ˆØŸ9š9 VÑ,Ô,¨d¯iªi¸Ñ.?Ô.?�ˆà—9’9ÐDÐDµ°F¸FÑ0CÔ0CÐDÑDÔDÑEÔEˆØ�hŠh�w Ñ(Ô(ˆØ�hŠˆˆˆˆˆrcóp—| ¦«sdS| ¦«| d¬¦«}}| |¦«| |¦«}}| d„t||¦«D¦«¦«}| ||¦«}||ksJ‚dS)NTr�có—g|] \}}||z ‘Œ Sr(r(r‘s rr,z1_SIMD_ALL.test_arithmetic_div..–r‚r)r0r6r‹r£Údiv)rr¤r¥r¦r§Údata_divr�s rÚtest_arithmetic_divz_SIMD_ALL.test_arithmetic_divŽs§€Ø�{Š{‰}Œ}ð Ø ˆFàŸš™œ t§z¢z¸$ zÑ'?Ô'?�ˆØŸ9š9 VÑ,Ô,¨d¯iªi¸Ñ.?Ô.?�ˆð—9’9ÐDÐDµ°F¸FÑ0CÔ0CÐDÑDÔDÑEÔEˆØ�hŠh�w Ñ(Ô(ˆØ�hŠˆˆˆˆˆrcól‡‡‡ —| ¦«rdS| ¦«Šˆfd„Š d‰ g}|tddd¦«z }|tddd¦«z }| ¦«}|dkr(|tdd d ¦«z }|tdd d ¦«z }|d kr(|td d d¦«z }|td d d¦«z }|dkr(|td dd¦«z }|td dd¦«z }|d„|D¦«z }t j||¦«D]‘\}Š| ‰¦«dЉdkrŒ'| | |¦«¦«}ˆˆ fd„|D¦«}|  ‰¦«}|  ||¦«}||ksJ‚Œ’dS)zn Test integer division intrinsics: npyv_divisor_##sfx npyv_divc_##sfx Ncóv•—|dkr|‰kr|S|dk|dk}}|dks||kr||zS||z|z |zdzS)zŒ Divide towards zero works with large integers > 2^53, and wrap around overflow similar to what C does. rQrrr()r’r‘Úsign_aÚsign_dÚint_mins €rÚ trunc_divz3_SIMD_ALL.test_arithmetic_intdiv..trunc_div¤saø€ð �BŠwˆw˜1 š<˜<Ø�Ø šU A¨¢E�FˆFØ�AŠvˆv˜ 6Ò)Ð)ؘA‘v� ؘ‘J Ñ'¨AÑ-°Ñ1Ð 1rrrérÎér rai iÿr li iÿÿÿlllÿÿÿÿcó—g|]}| ‘ŒSr(r(r)s rr,z4_SIMD_ALL.test_arithmetic_intdiv..¾s€Ð"Ð"Ð"˜�!�Ð"Ð"Ð"rcó(•—g|]}‰|‰¦«‘ŒSr(r()r*r’Údivisorr•s €€rr,z4_SIMD_ALL.test_arithmetic_intdiv..Äs%ø€ÐAÐAÐA°1˜˜ 1 gÑ.Ô.ÐAÐAÐAr) r0rMr.rDríÚproductrSr‹r6ršÚdivc) rr‰ÚbsizeÚdividendÚ data_divcÚ divisor_parmsrœršr”r•s @@@rÚtest_arithmetic_intdivz _SIMD_ALL.test_arithmetic_intdivšsøøø€ð �;Š;‰=Œ=ð Ø ˆFà—-’-‘/”/ˆð 2ð 2ð 2ð 2ð 2ð�G�8ˆ}ˆØ •�a˜˜tÑ$Ô$Ñ$ˆØ •�a˜˜vÑ&Ô&Ñ&ˆØ×!Ò!Ñ#Ô#ˆØ �1Š9ˆ9Ø •E˜$  uÑ-Ô-Ñ -ˆDØ •E˜$  wÑ/Ô/Ñ /ˆDØ �2Š:ˆ:Ø •E˜% ¨Ñ.Ô.Ñ .ˆDØ •E˜% ¨Ñ0Ô0Ñ 0ˆDØ �2Š:ˆ:Ø •E˜% ¨Ñ.Ô.Ñ .ˆDØ •E˜% ¨Ñ0Ô0Ñ 0ˆDà Ð"Ð"˜TÐ"Ñ"Ô"Ñ"ˆÝ!*Ô!2°4¸Ñ!>Ô!>ð %ð %Ñ ˆH�gØ—k’k 'Ñ*Ô*¨1Ô-ˆGؘ!Š|ˆ|ØØ—y’y §¢¨HÑ!5Ô!5Ñ6Ô6ˆHØAÐAÐAÐAÐA¸ÐAÑAÔAˆIØ ŸLšL¨Ñ1Ô1ˆMØ—9’9˜X }Ñ5Ô5ˆDؘ9Ò$Ð$Ð$Ð$Ð$ð %ð %rcóÆ—|jdvrdS| ¦«}| |¦«}t|¦«}| |¦«}||ksJ‚dS)zH Test reduce sum intrinsics: npyv_sum_##sfx )rörørrN)rr6r‹r»)rr‰rÁÚdata_sumÚvsums rÚtest_arithmetic_reduce_sumz$_SIMD_ALL.test_arithmetic_reduce_sumÉsd€ð Œ8Ð7Ð 7Ð 7Ø ˆFà�zŠz‰|Œ|ˆØ— ’ ˜$‘”ˆå�t‘9”9ˆØ�xŠx˜‰ŒˆØ�xÒÐÐÐÐÐrcó@—|jdvrdSd|j| ¦«| ¦«|jz f}|D]X}| |¦«}| |¦«}t |¦«}| |¦«}||ksJ‚ŒYdS)zQ Test extend reduce sum intrinsics: npyv_sumup_##sfx rwNr)rr-rMrLr6r‹r»Úsumup)rrÏÚrr‰rÁr£r¤s rÚtest_arithmetic_reduce_sumupz&_SIMD_ALL.test_arithmetic_reduce_sumupØs¤€ð Œ8˜=Ð (Ð (Ø ˆFØ�D”K §¢¡¤°$·-²-±/´/À$Ä+Ñ2MÐNˆØð $ð $ˆAØ—:’:˜a‘=”=ˆDØ—I’I˜d‘O”OˆEݘ4‘y”yˆHØ—:’:˜eÑ$Ô$ˆDؘ8Ò#Ð#Ð#Ð#Ð#ð  $ð $rcó^—| | ¦«¦«}| | d¬¦«¦«}| | ¦«| ¦«¦«}| | ¦«| ¦«¦«}| ||¦«}| ||||¦«}||ksJ‚| ||||¦«}||ksJ‚| ||¦«}| ||||¦«}||ksJ‚| ||||¦«}||ksJ‚|  ¦«sdS|  ||¦«} |  ||||¦«} | | ksJ‚|  |||¦«} | | ksJ‚|  ||||¦«} | |ksJ‚|  |||¦«} | | ¦«ksJ‚dS)zœ Conditional addition and subtraction for all supported data types. Test intrinsics: npyv_ifadd_##SFX, npyv_ifsub_##SFX Tr�N) r‹r6r—rr˜rÚifsubr/Úifaddr0r�ÚifdivÚifdivz) rr¦r§r…Ú false_maskr…r«r„r¬rŽr­r®s rÚtest_mask_conditionalz_SIMD_ALL.test_mask_conditionalçs€ð —)’)˜DŸJšJ™LœLÑ)Ô)ˆØ—)’)˜DŸJšJ¨t˜JÑ4Ô4Ñ5Ô5ˆØ—Z’Z § ¢ ¡ ¤ ¨T¯YªY©[¬[Ñ9Ô9ˆ Ø—[’[ §¢¡¤¨d¯iªi©k¬kÑ:Ô:ˆ à—8’8˜G WÑ-Ô-ˆØ— ’ ˜9 g¨w¸Ñ@Ô@ˆØ˜Ò Ð Ð Ð Ø— ’ ˜: w°¸ÑAÔAˆØ˜ÒÐÐÐà—8’8˜G WÑ-Ô-ˆØ— ’ ˜9 g¨w¸Ñ@Ô@ˆØ˜Ò Ð Ð Ð Ø— ’ ˜: w°¸ÑAÔAˆØ˜ÒÐÐÐà�{Š{‰}Œ}ð Ø ˆFØ—8’8˜G WÑ-Ô-ˆØ— ’ ˜9 g¨w¸Ñ@Ô@ˆØ˜Ò Ð Ð Ð Ø—’˜Y¨°Ñ9Ô9ˆØ˜Ò!Ð!Ð!Ð!Ø— ’ ˜: w°¸ÑAÔAˆØ˜ÒÐÐÐØ—’˜Z¨°'Ñ:Ô:ˆØ˜Ÿš™œÒ$Ð$Ð$Ð$Ð$Ð$rN)&rar|r}rßrÁrÌràrárârÜrãròrþrr rr,r>rDrUr¯r°r±r²r³r´r[rµrÞrurr†rŠr�r¡r¥r©r°r(rrr·r·�sò€€€€€ðððððð$ ð ð ð4 „[×ÒÐ;Ø *¨H°a¸&¸ÐBØ ,¨h¸¸FÀFÐ;KÐLð>ñôð,ð,ñ ôð,ð  „[×ÒÐ5Ø(Ø)ð8ñôð+ð+ñ ôð+ð  „[×ÒÐ5Ø#Ø$ð8ñôð(ð(ñ ôð(ð, „[×ÒÐ;Ø ,¨h¸¸F¸8ÐDØ .°¸!¸fÀfÐ=MÐNð>ñôð8ð8ñ ôð8ðB „[×ÒÐ5Ø$Ø%ð8ñôð!%ð!%ñ ôð!%ðF „[×ÒÐ5Ø)Ø*ð8ñôð),ð),ñ ôð),ðV „[×ÒÐ9ØØð<ñôð!ð!ñ ôð!ð"+ð+ð+ðZ$)ð$)ð$)ðL #ð #ð #ð'ð'ð'ð, „[×Ò˜^Ø Œ�gÐØ Œ�gÐØ Œ�gÐØ Œ�gÐØ Œ�gÐð .ñôððñôðð"$"ð$"ð$"ðL „[×Ò˜X¨¨u ~Ñ6Ô6Ø „[×Ò˜V؈ ˆ ØÐÐØˆˆØ6Ð6Ð6ØÐÐØ ˆØ ˆØ ˆð &ñ ô ð 'ð 'ñ ô ñ7Ô6ð 'ð 'ð 'ð 'ð+ð+ð+ð(ððð ð ð ð ð ð ð-%ð-%ð-%ð^  ð  ð  ð $ð $ð $ð!%ð!%ð!%ð!%ð!%rr·)ršrÆrÇrÈr)rr)r)rr]rtrú(ruú)ztarget 'z$' isn't supported by current machinez' isn't supported by NPYVz"' doesn't support single-precisionrz!' doesn'tsupport double-precisionr)rrrvÚTestr)Úreason)FFFFF)2ràrQrrír¯Únumpy.core._simdrrrÚnumpy.core._multiarray_umathrrrrrärr%r*r·Úbool_sfxÚint_sfxÚfp_sfxÚall_sfxÚtests_registryÚitemsrvrrÝÚ simd_widthrwÚ pretty_nameÚlenrxÚskipÚdictÚskip_sfxr rr(Úclsrr|Úskip_mÚinhrrÚtyperaÚtclsráÚglobalsr(rrúrÉs#ððÐÐÐÐÐÐÐÐÐÐÐØÐÐÐØ€€€ØHÐHÐHÐHÐHÐHÐHÐHÐHÐHØ9Ð9Ð9Ð9Ð9Ð9à05Ø/4Øð ð ð ð ða ða ða ða ða ña ôa ða ðFy'ðy'ðy'ðy'ðy'�ñy'ôy'ðy'ðvK8ðK8ðK8ðK8ðK8� ñK8ôK8ðK8ð\$ð$ð$ð$ð$�ñ$ô$ð$ð.$ð$ð$ð$ð$�ñ$ô$ð$ð"T'ðT'ðT'ðT'ðT'ˆ}ñT'ôT'ðT'ðlG %ðG %ðG %ðG %ðG %� ñG %ôG %ðG %ðR '€Ø @€Ø €Ø �FÑ €à ˆjØ ˆiØ ˆhØ ˆjØ ˆjØ ˆið €ð'˜œ™œð,ñ,Ñ€K�Ø"Ð*�”�¨€JØ×#Ò# DÑ)Ô)€KØ €sˆ;ÑÔ˜!ÒÐà2˜#Ÿ(š( ;Ñ/Ô/Ð2Ð2Ð2ˆ ˆ à! !”nˆ à €D؈t‰vŒv€HØ ð :ØK˜+ÐKÐKÐKˆˆØ ŒYð:Ø@˜+Ð@Ð@Ð@ˆˆàŒ}ð BðB¨ðBðBðBˆH�U‰OàŒ}ð :ð:¨ð:ð:ð:ˆH�U‰Oð%×*Ò*Ñ,Ô,ð,ð,‰ ˆˆsØð ,ð ,ˆCØ—\’\ # tÑ,Ô,ˆFØ�6ˆDØ�4˜W [Ô1°sÈ ÐTÑTÔTˆDØ�4ÐN˜sœ|ÐNÐN¨jÐNÐN¸;ÐNÐNÈÐNÐNÐPTÐVZÑ[Ô[ˆDØð 6Ø/�” × Ò ¨Ð Ñ/Ô/°Ñ5Ô5Ð5Ø'+ˆGˆG‰IŒI�d”mÑ $Ð $ð ,ñ,ð/,ð,r