+
    /i/                     P   ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t	 ^ RI
Ht ^RIHtHt . ROt]P                   ! 4       t]P$                  ! 4       tRR ltR tR tR	 tR
 tR tR^ R^ R^R^/tR tR t]! RR7      ]P:                  R 4       4       t]! RR7      R 4       tR# )    )NumberN)copy_if_needed)xp_capabilities)	good_sizeprev_good_sizec                    \        V \        4      '       d   V 3p  V  Uu. uF  p\        P                  ! V4      NK  	  p pV # u upi   \         d!   pT;'       g    Rp\        T R24      ThRp?ii ; i)zConvert ``x`` to an iterable sequence of int

Parameters
----------
x : value, or sequence of values, convertible to int
name : str, optional
    Name of the argument being converted, only used in the error message

Returns
-------
y : ``List[int]``
valuez) must be a scalar or iterable of integersN)
isinstancer   operatorindex	TypeError
ValueError)xnameaes   &&  Y/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/fft/_pocketfft/helper.py_iterable_of_intr      sz     !VDT()*1X^^A*
 H + TwD6!JKLRSSTs'   A AA A A2A--A2c                  a  VRJ pVRJ pV'       g   \        VR4      pV Uu. uF  qU^ 8  d   VS P                  ,           MTNK   	  pp\        ;QJ d    V 3R lV 4       F  '       g   K   RM	  RM! V 3R lV 4       4      '       d   \        R4      h\	        \        V4      4      \	        V4      8w  d   \        R4      hV'       g   \        VR4      pV'       d%   \	        V4      \	        V4      8w  d   \        R	4      hV'       dV   \	        V4      S P                  8  d   \        R
4      h\        S P                  \	        V4      ,
          S P                  4      p\        W4       UUu. uF!  w  reVR8X  d   S P                  V,          MTNK#  	  pppMUV'       d,   \        S P                  4      p\        S P                  4      pM"V Uu. uF  pS P                  V,          NK  	  pp\        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       d   \        RV R24      h\        V4      \        V4      3# u upi u uppi u upi )a  
Handle shape and axes arguments for N-D transforms.

Returns the shape and axes in a standard form, taking into account negative
values and checking for various potential errors.

Parameters
----------
x : ndarray
    The input array.
shape : int or array_like of ints or None
    The shape of the result. If both `shape` and `axes` (see below) are
    None, `shape` is ``x.shape``; if `shape` is None but `axes` is
    not None, then `shape` is ``numpy.take(x.shape, axes, axis=0)``.
    If `shape` is -1, the size of the corresponding dimension of `x` is
    used.
axes : int or array_like of ints or None
    Axes along which the calculation is computed.
    The default is over all axes.
    Negative indices are automatically converted to their positive
    counterparts.

Returns
-------
shape : tuple
    The shape of the result as a tuple of integers.
axes : list
    Axes along which the calculation is computed, as a list of integers.
Naxesc              3   Z   <"   T F   qSP                   8  ;'       g    V^ 8  x  K"  	  R# 5i)r   N)ndim).0r   r   s   & r   	<genexpr>*_init_nd_shape_and_axes.<locals>.<genexpr>T   s&     2TAFF{##a!e#Ts   ++TFz$axes exceeds dimensionality of inputzall axes must be uniqueshapezBwhen given, axes and shape arguments have to be of the same lengthz)shape requires more axes than are presentc              3   *   "   T F	  q^8  x  K  	  R# 5i)   N )r   ss   & r   r   r   k   s     
 %Qq5%s   invalid number of data points () specified)r   r   anyr   lensetrangezipr   listtuple)r   r   r   noshapenoaxesr   r    s   f&&    r   _init_nd_shape_and_axesr-   /   s   < tmGT\Ff-489Dq!eAFF
*D932T23332T222CDDs4y>SY&677 0CIU+ > ? ?5zAFF" !LMM#e*,aff5D:=e:JK:J$!qBwA-:JK	QWWQVV}%)*TT*
s
 %
 sss
 %
   -eWK@B 	B <d##; :$ L
 +s   $I
+'IIc                   \        V R4      '       g   \        P                  ! V 4      p V P                  \        P                  8X  d&   \        P                  ! V \        P
                  4      # V P                  P                  R9  d&   \        P                  ! V \        P                  4      # V P                  P                  R4      pV P                  R,          '       g   RM\        p\        P                  ! WVR7      # )z`
Convert to array with floating or complex dtype.

float16 values are also promoted to float32.
dtypefc=ALIGNEDT)r/   copy)hasattrnpasarrayr/   float16float32kindfloat64newbyteorderflagsr   array)r   r/   r3   s   &  r   	_asfarrayr>   r   s     1gJJqMww"**zz!RZZ((	
T	!zz!RZZ(( GG  %Ewwy))4~D88A..    c                    WJ d   R# \        V\        P                  4      '       g   \        VR4      '       d   R# V P                  RJ # )zp
Strict check for `arr` not sharing any data with `original`,
under the assumption that arr = asarray(original)
F	__array__N)r
   r5   ndarrayr4   base)arroriginals   &&r   _datacopiedrF      s;    
 h

+++0N0N88tr?   c                   Rp\        R4      .V P                  ,          p\        W4       FN  w  rVV P                  V,          V8  d   \        ^ V4      WF&   K-  \        ^ V P                  V,          4      WF&   RpKP  	  \	        V4      pV'       g   W,          R3# \        V P                  4      p\        W4       F	  w  rXWWV&   K  	  \        P                  ! WpP                  4      p	W,          W&   V	R3# )z5Internal auxiliary function for _raw_fft, _raw_fftnd.FNT)	slicer   r(   r   r*   r)   r5   zerosr/   )
r   r   r   	must_copyr   naxr    axiszs
   &&&       r   
_fix_shaperO      s    I 4[M!&& EU!772;!aEIa-EII " %LExQWWAu#$ $ 	GGAxAHd7Nr?   c                 J    V^8  d   \        RV R24      h\        W3V34      # )r   r!   r"   )r   rO   )r   rK   rM   s   &&&r   _fix_shape_1drQ      s5    1u-aS<> 	> aw''r?   backwardorthoforwardc                     \         V ,          pV'       d   V# ^V,
          #   \         d    \        RT : R24      Rhi ; i)zAReturns the pypocketfft normalization mode from the norm argumentzInvalid norm value z,, should be "backward", "ortho" or "forward"N)	_NORM_MAPKeyErrorr   )normrT   inorms   && r   _normalizationrZ      sQ    =$u0a%i0 =!$ *2 238<	==s   " " " ?c                     V f   \        \        R^4      # V ^ 8  d9   V \        ) 8  d   V ^\        ,           ,          p V # \        RV  R\        )  24      hV ^ 8X  d   \        R4      hV # )Ndefault_workersz workers value out of range; got z, must not be less than zworkers must not be zero)getattr_config
_cpu_countr   )workerss   &r   _workersra      s}    w 1155{zk!q:~%G N ?y I+,6;-9 : :	A344Nr?   T)out_of_scopec              #     "   \        4       p\        \        P                  ! V 4      4      \        n         Rx  V\        n        R#   T\        n        i ; i5i)al  Context manager for the default number of workers used in `scipy.fft`

Parameters
----------
workers : int
    The default number of workers to use

Examples
--------
>>> import numpy as np
>>> from scipy import fft, signal
>>> rng = np.random.default_rng()
>>> x = rng.standard_normal((128, 64))
>>> with fft.set_workers(4):
...     y = signal.fftconvolve(x, x)

N)get_workersra   r   r   r^   r\   )r`   old_workerss   & r   set_workersrf      s<     ( -K&x~~g'>?G."-+s   3AA AAAc                 $    \        \        R^4      # )zReturns the default number of workers within the current context

Examples
--------
>>> from scipy import fft
>>> fft.get_workers()
1
>>> with fft.set_workers(4):
...     fft.get_workers()
4
r\   )r]   r^   r   r?   r   rd   rd      s     7-q11r?   )r   r   rf   rd   )N) numbersr   r   os	threading
contextlibnumpyr5   scipy._lib._utilr   scipy._lib._array_apir   pypocketfftr   r   __all__localr^   	cpu_countr_   r   r-   r>   rF   rO   rQ   rV   rZ   ra   contextmanagerrf   rd   r   r?   r   <module>rt      s      	    + 1 3 H
//
\\^
2@$F/(	6( 1j!WaA>	=  d#.  $.4 d#2 $2r?   