+
    ;ix=                     0   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t	H
t
 ^ RIHt ^ RIHtHtHt ^ RIt]P$                  ! ]P&                  R4      t^R^R^R/t^R	^R	^R
/tRRRR
/t/ R]P0                  ] P0                  .bR]P2                  ] P2                  .bR. bR]P4                  ] P4                  .bR]P6                  ] P6                  .bR] P8                  .bR] P:                  .bR] P<                  .bR] P>                  .bR. bR] P@                  .bR] PB                  .bR. bR. bR. bR. bR. b/ R]PD                  ] PD                  .bR] PF                  .bR ] PH                  .bR!. bR". bR#. bR$. bR%]PJ                  ] PJ                  .bR&. bR'. bR(. bR). bR*]PL                  ] PL                  .bR+]PN                  ] PN                  .bR,. bR-. bR.. bCR/. R0. R1. R2]PP                  ] PP                  .R3]PR                  ] PR                  .R4]PT                  ] PT                  .R5. /Ct+. RCOt,]+P[                  4        U Uu/ uF  w  r].! V4      ^ 8  g   K  WbK  	  upp t+]+P[                  4        UUUu. uF<  w  r!R6V Uu. uF!  p]/! V4      Pa                  R74      ^ ,          NK#  	  up9   g   K:  VNK>  	  upppt1]+P[                  4        UUUu. uF<  w  r!R8V Uu. uF!  p]/! V4      Pa                  R74      ^ ,          NK#  	  up9   g   K:  VNK>  	  upppt2RDR9 lt3R: t4R; t5] ! R< R=]4      4       t6]6Po                  4        R> t8R? t9] ! R@ RA]4      4       t:];RB8X  d   ]Px                  ! 4        R# R# u upp i u upi u upppi u upi u upppi )E    N)njitprange)config)TestCasetagoverride_env_configz"SVML tests need SVML to be presentnehalemhaswellzskylake-avx512 z-prefer-256-bitNUMBA_CPU_NAMENUMBA_CPU_FEATURESsincospowexplogacosacoshasinasinhatan2atanatanhcbrtcdfnorm
cdfnorminvceilcosdcosherferfcerfcinverfinvexp10exp2expm1floorfmodhypotinvsqrtlog10log1plog2logb	nearbyintrintroundsindsinhtantanhtruncz<ufunc z	<built-inc                Z   VR8X  d:   RP                  V Uu. uF  qR,           NK  	  up4      p	V: V: RV : RV	: R2p
MVR8X  dJ   V: V: RV : RRP                  V4      : R	2p
YP                  R
4      '       d
   RV,          MR,          p
MQVR8X  g
   VR8X  g   Q hRP                  V Uu. uF  qR,           NK  	  up4      p	RP                  ! R/ \        4       B p
VR8H  ;'       g    VR8H  pV'       d
   V R,           MT pV'       d
   V^,          MTpV'       d   RMRp\        P
                  '       d
   RV,           MRV,           pRWV3,          pVR8X  d	   V.pRV.pM6V.p. pV^8w  d+   V'       g   VR8X  d   VRRW^,          V3,          .,          pV
VV3# u upi u upi )zw
For a given function and its usage modes,
returns python code and assembly patterns it should and should not generate
scalar,z[0]z[0] += math.(z)
numpyz += np.)intz.astype(np.%s)

ranger   z[i]zP{pad}for i in {mode}({res}.size):
{pad}{pad}{res}[i] += math.{func}({arg_list})
float32	complex64fr   _haz$_$z__svml_%s%d%s,__svml_int32z%zmm )join
startswithformatlocalsr   IS_OSX)funcargsresdtypemodevlenfastmathpadaarg_listbodyis_f32rC   v	prec_suffscalar_func	svml_funccontainsavoidss   &&&&&&&&           S/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/tests/test_svml.pyfunc_patternsra   ]   s    x88d3duWWd34-0#tXF	&)3chhtnE.>.>u.E.E"U*4Ow$("22288d3duWWd34Av "" i775K#7FSAQdAEI"MMM$q&s1uK A)#44Ix=Y';19&EW$4v/1c92EEFFF6!!A 4 4s   F#0F(c                    V  RV V RV 2# )z+Returns pretty name for given set of modes _rH   )rQ   rR   rS   names   &&&&r`   usecase_namere      s     WAdVD64&))    c           
         \        WW$4      pRP                  ! R/ \        4       B p\        VR8X  d   \        M\
        4      pV P                  R4      '       d   VP                  \        4      p\        4       p\        4       pV F@  p	\        V	R.RWW#4      w  rpVP                  V4       WZ,          pVP                  V4       KB  	  VR,          p/ p\        V\        4       V4       W]V,          n        W,          Wx3# )z>Combine multiple function calls under single umbrella usecase z\def {name}(n):
        x   = np.empty(n*8, dtype=np.{dtype})
        ret = np.empty_like(x)
r<   complexxretrH   z        return ret)re   rK   rL   setnumpy_funcsother_funcsrJ   
differencecomplex_funcs_excludera   updateexecglobals__doc__)rQ   rR   rS   rT   rd   rX   funcsr^   r_   rC   bcrV   ldicts   &&&&&         r`   combo_svml_usecaserx      s     T0D$$*F+ 7-3X7D twK@E	""  !67uHUFC5%dMaa		 
 	  DEwy% $K;((rf   c                      a  ] tR t^t o RtRt]P                  ! RP                  R.]	! ]
4      ,           4      4      t]R 4       t]R 4       t]R 4       tRtV tR	# )
TestSVMLGenerationz:Tests all SVML-generating functions produce desired calls F|z\$[a-z_]\w+,c                    \        W4      p V! 4       w  rEVP	                  RVRV/4       R#   \         d    \        P                  ! 4       pR p L;i ; i)FstatusmsgN)getattr	Exception	traceback
format_excput)clstestnameoutqueuemethodokr~   s   &&&   r`   	mp_runnerTestSVMLGeneration.mp_runner   sU    '	hGB 	hE3/0  	&&(CB	s   	- "AAc                  a aaaaa	a
 SP                  R 4      '       d
   SR8w  d   R# SP                  R4      ;'       d    S^8H  p\        P                  3o	\        V VVVV	V3R l4       p\	        SSSSR,          4      pRV 2o
\        S S
V4       \        P                  ! V'       * R4      V
3R l4       p\        S R	V 2V4       R# )
rh   r<   Nr>   c            
        < \        SSSSR ,          SR,          4      w  rp\        R\        S,          4      ;_uu_ 4        \        R\        S,          4      ;_uu_ 4         \	        SSR ,          SR,          R7      ! V 4      p RRR4       RRR4       XP                  S4      pT Uu. uF  qUT9   d   K  TNK  	  ppT Uu. uF  qUT9   g   K  TNK  	  ppT'       * ;'       d    T'       * pRP                  TP                  R4       U	u. uF1  p	SP                  P                  T	4      '       g   K&  R	T	9   d   K/  T	NK3  	  up	4      p
R
T RT RT
 RT P                   2pY3#   \
         d    \        RT P                  ,           4      hi ; i  + '       g   i     EL; i  + '       g   i     EL ; iu upi u upi u up	i )rT   rd   r   r   error_modelrT   r   zraised while compiling Nr?   "zWhile expecting z	 and not z,
it contains:
z
when compiling )rx   r   vlen2cpuvlen2cpu_featuresr   r   rs   inspect_asmrI   split
asm_filtersearch)fnr^   r_   	jitted_fnasmpatternmissedfoundr   linedetailr~   r   rQ   flagsrR   sigrS   s               r`   run_template5TestSVMLGeneration._inject_test.<locals>.run_template   s   #5eT46;J6G6;Fm$E B& %%5x~FF$%9;LT;RSSJ $S53D16}1E!HHJ!LI T G '',C-5LX'^ggXFL,2EFnWWFEE))E	BYY"%))D/ E/$NN))$/ 8;t / EFF #6()E7 ;!!' )""$**/ 
 7N ! J#$=bjj$HIIJ TSS GFF MEEs`    F%!F	#"E&F%+F98F9F>F>#G5G>G&(FF	F"	F%%F6	rd   run_zNot implementedc                   < \         P                  ! R 4      pVP                  4       pVP                  \	        V 4      P
                  S	V.R7      pVP                  4        VP                  ^R7      pVP                  pVf4   Vf   V P                  R4       MV^ 8  d   V P                  RV)  R24       V P                  V^ RR7       VP                  4       pVR	,          pVR
,          pV P                  WxR7       R# )spawn)targetrO   )timeoutNzProcess timed out.zProcess terminated with signal .zprocess ended unexpectedly)r~   r}   r~   )mpget_contextQueueProcesstyper   startrI   exitcodefailassertEqualget
assertTrue)
selfctxqpterm_or_timeoutr   outr}   r~   r   s
   &        r`   test_runner4TestSVMLGeneration._inject_test.<locals>.test_runner   s    ..)C		A4:#7#7xmLAGGI  ffRf0OzzH&#II23\II ?	{!LMXq.JK%%'C]Fe*COOFO,rf   test_)rJ   numbaint64staticmethodre   setattrunittest
skipUnless)r   rQ   rR   rS   r   skippedr   postfixr   r   r   s   fffff    @@r`   _inject_testTestSVMLGeneration._inject_test   s     I&&47?""5)77dai{{n		 	 
	6 udD%-@'#X|,			[*;	<	- 
=	-* 	uWI&4rf   c                   R RRRRR/R RRRRR/.pR
 F>  p\          F1  pV F(  pR F  pV P                  W%V\        V4      4       K!  	  K*  	  K3  	  K@  	  R F'  p\        W\	        R4      ! \        W4      4      4       K)  	  R	# )rT   Fr   r<   rd   usecaseTfastmath_usecase	importantN)rB   float64rA   rG   )r9   r@   r   r<   )test_int32_range4_usecase)r   r   dictr   r   r   )r   	flag_listrQ   rS   r   rR   ns   &      r`   autogenerateTestSVMLGeneration.autogenerate   s     gI' }W.02	
 DE &E D((dDKH !E ' ! DACC,WS_=>rf   rH   N)__name__
__module____qualname____firstlineno__rs   _numba_parallel_test_recompilerI   list
svml_funcsr   classmethodr   r   r   __static_attributes____classdictcell____classdict__s   @r`   rz   rz      so     E "CHHo%6tJ7G%GHIJ1 1 >5 >5@ ? ?rf   rz   c                 .    \         P                  ! V 4      # N)mathr   )ri   s   &r`   math_sin_scalarr     s    88A;rf   c                     \         P                  ! V \         P                  R 7      p\        V 4       F/  p\        P
                  ! \         P                  ! V4      4      W&   K1  	  V# rQ   npemptyr   r@   r   r   r   rj   ri   s   &  r`   math_sin_loopr     sA    
((1BJJ
'C1X"**Q-( Jrf   c                     a  ] tR tRt o RtRtR tR tR tR t	RR	/R
 lt
R t]P                  ! ]R7      R 4       tR t]P                  ! ]R7      R 4       tR t]P                  ! RR/]CR7      R 4       tR tRtV tR# )TestSVMLi  zTests SVML behaves as expected Fc                   V'       d   Q h\        V Uu. uF  p\        P                  ! V4      NK  	  up4      p\        V4      ! V4      p\        VR R7      ! V4      pVP                  V,          VP                  V,          3# u upi )TrT   )tupler   typeofr   	overloads)r   rN   rO   kwargsri   r   stdfasts   &&*,    r`   r   TestSVML.compile#  sk    zd3dU\\!_d343ioC$'-}}S!4>>##666 4s   Bc                   V'       g   \        4       # . pV F  p\        V\        P                  4      '       d#   VP	                  VP                  R 4      4       KE  \        V\        P                  4      '       d"   VP	                  VP                  4       4       K  \        V\        P                  4      '       d   VP	                  V4       K  \        R4      h	  \        V4      # )kz%Unsupported argument type encountered)
r   
isinstancer   ndarrayappendcopynumbernumbersNumber
ValueError)r   rO   new_argsri   s   &*  r`   	copy_argsTestSVML.copy_args,  s    7NA!RZZ((s,Aryy)))Aw~~.." !HII  Xrf   c                V   V P                   ! V.VO5!  w  rEV! V P                  ! V!  !  pVP                  ! V P                  ! V!  !  pVP                  ! V P                  ! V!  !  p\        P                  P
                  ! Wv3/ VB  \        P                  P
                  ! W3/ VB  R # r   )r   r  entry_pointr   testingassert_almost_equal)	r   pyfuncrO   r   jitstdjitfastpy_expectedjitstd_resultjitfast_results	   &&*,     r`   check_resultTestSVML.check_result;  s    ,,v55 dnnd34 **DNND,AB !,,dnnd.CD 	

&&}LVL


&&~MfMrf   c                    VP                  R R4      pVP                  RR4      pV P                  ! V.VO5!  w  rgV'       d   V P                  Wd4       V'       d   V P                  Wu4       R# R# )std_patternNfast_pattern)popr   check_svml_presence)r   r  rO   r   r  r  r  r	  s   &&*,    r`   	check_asmTestSVML.check_asmK  s`    jj5zz.$7 ,,v55$$V9$$W; rf   whatbothc                   VR9   g   Q hVR 8X  g   VR8X  d   V P                   ! V.VO5/ VB  VR 8X  g   VR8X  d   V P                  ! V.VO5/ VB  R# R# )r  resultr   N)r  r  r   )r  r  )r   r  r  rO   r   s   &&$*,r`   checkTestSVML.checkW  s_    00006>TX-f6t6v66>TU]NN63D3F3 +rf   c                \    VP                   P                  4       pV P                  W#4       R # r   )libraryget_asm_strassertIn)r   rN   r   r   s   &&& r`   r  TestSVML.check_svml_presence^  s     ll&&(g#rf   )envvarsc                    \         P                  '       d   R MRpV P                  \        RRVR7       V P                  \        RRVR7       R# )z$_sinz$sin      @r   )r  r  )r  r  N)r   rM   r  r   )r   pats   & r`   test_scalar_context_asm TestSVML.test_scalar_context_asmb  s;      gF

?BU
D

?BU
Erf   c                6    V P                  \        R RR7       R# )r#  r  r  N)r  r   r   s   &r`   test_scalar_context_result#TestSVML.test_scalar_context_resulti  s    

?BX
6rf   c                B    R pRpV P                  \        ^
RVVR7       R# )z__svml_sin8_ha,z__svml_sin8,r   )r  r  r  Nr  r   )r   r   r   s   &  r`   test_svml_asmTestSVML.test_svml_asmm  s*      

="5c $ 	 	&rf   c                6    V P                  \        ^
RR7       R# )
   r  r(  Nr-  r)  s   &r`   test_svml_resultTestSVML.test_svml_resultv  s    

="8
4rf   NUMBA_DISABLE_INTEL_SVML1c                ,   R  p\         P                  3p\        V4      ! V4      p\        VRR7      ! V4      pVP                  V,          VP                  V,          3pV F/  pVP                  P                  4       pV P                  RV4       K1  	  R# )c                     \         P                  ! V \         P                  R 7      p\        V 4       F/  p\        P
                  ! \         P                  ! V4      4      W&   K1  	  V# r   r   r   s   &  r`   r   2TestSVML.test_svml_disabled.<locals>.math_sin_loop~  sA    ((1BJJ/C1X"**Q-0 Jrf   Tr   
__svml_sinN)r   rG   r   r   r  r  assertNotIn)r   r   r   r   r   fnsr   r   s   &       r`   test_svml_disabledTestSVML.test_svml_disabledz  s}    	 {{n3i&C$'6mmC $.."55 B**((*C\3/ rf   c                    \        R 0RR7      R 4       pV! ^4       V P                  RVP                  VP                  ^ ,          4      9   4       R# )r   r<   r   c                     \         P                  ! V ^,          \         P                  R7      p\         P                  ! V4      p\	        VP
                  4       F1  pW#;;,          \        P                  ! W,          4      ,          uu&   K3  	  V# )   r   )r   r   r   
empty_liker@   sizer   r   )r   ri   rj   is   &   r`   impl@TestSVML.test_svml_working_in_non_isolated_context.<locals>.impl  sU    ((1q5

3A--"C388_$))AD/) %Jrf   intel_svmlccN)r   r   inspect_llvm
signatures)r   rD  s   & r`   )test_svml_working_in_non_isolated_context2TestSVML.test_svml_working_in_non_isolated_context  sK    	xW	5	 
6	 	Q$*;*;DOOA<N*OOPrf   rH   N)r   r   r   r   rs   r   r   r  r  r  r  r  r   run_test_in_subprocess_skylake_axv512_envvarsr%  r*  r.  r2  r<  rI  r   r   r   s   @r`   r   r     s     * "7N 
<4 4$ $$-DEF FF7 $$-DE& F&5 $$.H# .I0G.I J0J0$	Q 	Qrf   r   __main__)r4   r+   r&   r,   r5   r   )z        )=r   r<   r   r   r   r   multiprocessingr   r   r   r   
numba.corer   numba.tests.supportr   r   r   r   r   
USING_SVML
needs_svmlr   r   rL  r   r   r   r   r   r   r   r   r   r   r   r    r!   r&   r+   r,   r3   r4   r5   r   ro   itemslenstrr   rl   rm   ra   re   rx   rz   r   r   r   r   r   main)r   rZ   rC   r   s   0000r`   <module>rW     s      	      B B   !2!2!EG
 y!Y+;< Ar1&78 
 ,-=/1BD *	!*	!* 
"* 
!	*
 
!* 		{* 

|* 		{* 

|* "* 		{* 

|* "* "* "*  "!*" "#*$ #%*& 
z'*( 		{)** "+*, "-*. "/*0 "1*2 $**%3*4 "5*6 "7*8 "9*: ";*< $**%=*> $**%?*@ "A*B "C*D "E*F ""
"
#	!
#"S*
X J   *//1@1tqSVaZdad1@
'--/ 5/TQ8123A3q6<<$Q''344qq/ 5'--/ 5/TQ;123A3q6<<$Q''344qq/ 5("V*)4 b? b? b?J    ! zQx zQ zQz zMMO K
 A 45 45sH   M:M:;N'N .N7NN"'N	NN NN