Ë
    &�£j­%  ã                   óT  — d Z ddlZddlZddlZddlmZ ddlZddlm	Z
mZmZ ddlmZ ddlmZ  e
j&                  d«      Zej*                  j,                  Zej0                  j,                  Zej4                  j,                  Zej8                  j,                  Zej<                  Zej@                  j,                  Z!ejD                  j,                  Z# ej&                  ejH                  «       ej&                  ejJ                  «       ej&                  ejL                  «       ej&                  ejN                  «      iZ( ej&                  ejR                  «       ej&                  ejN                  «      k7  rGe(jU                   ej&                  ejV                  «       ej&                  ejR                  «      i«       ddded	fd
„Z,ddded	fd„Z-dddded	fd„Z.dddded	fd„Z/dd	dœd„Z0dd	dœd„Z1dd„Z2d d„Z3dd	dœd„Z4d!d	ddœd„Z5d!d	ddœd„Z6d"d„Z7d#d„Z8d#d„Z9d$d	dddd	dœd„Z:y)%zx
Array methods which are called by both the C-code for the method
and the Python code for the NumPy-namespace function

é    N)Únullcontext)Ú
multiarrayÚnumerictypesÚumath)Ú
asanyarray)Ú_NoValueÚboolFTc           	      ó$   — t        | |d ||||«      S ©N)Úumr_maximum©ÚaÚaxisÚoutÚkeepdimsÚinitialÚwheres         ú6C:\FundamentalWorkbench\vendor\numpy\_core\_methods.pyÚ_amaxr   '   ó   € ä�q˜$  c¨8°W¸eÓDÐDó    c           	      ó$   — t        | |d ||||«      S r   )Úumr_minimumr   s         r   Ú_aminr   +   r   r   c           	      ó$   — t        | ||||||«      S r   )Úumr_sum©r   r   Údtyper   r   r   r   s          r   Ú_sumr   /   s   € ä�1�d˜E 3¨°'¸5ÓAÐAr   c           	      ó$   — t        | ||||||«      S r   )Úumr_prodr   s          r   Ú_prodr"   3   s   € ä�A�t˜U C¨°7¸EÓBÐBr   ©r   c                óZ   — |€t         }|du rt        | ||||«      S t        | |||||¬«      S ©NTr#   )Úbool_dtÚumr_any©r   r   r   r   r   r   s         r   Ú_anyr)   7   ó;   € à€}Üˆà��}Ü�q˜$  s¨HÓ5Ð5Ü�1�d˜E 3¨¸Ô>Ð>r   c                óZ   — |€t         }|du rt        | ||||«      S t        | |||||¬«      S r%   )r&   Úumr_allr(   s         r   Ú_allr-   @   r*   r   c                 ó~  — |du r„|€t        t        | j                  «      «      }nt        |t         «      s|f}d}|D ]2  }|| j                  t        j                  || j                  «         z  }Œ4 t        j                  |«      }|S ddl	m
} t         ||| j                  «      |t        j                  d |«      }|S )NTé   r   )Úbroadcast_to)ÚtupleÚrangeÚndimÚ
isinstanceÚshapeÚmuÚnormalize_axis_indexÚntÚintpÚnumpy.lib._stride_tricks_implr0   r   )Úarrr   r   r   ÚitemsÚaxr0   s          r   Ú_count_reduce_itemsr>   I   s¦   € à��}àˆ<Üœ˜sŸx™x›Ó)‰DÜ˜D¤%Ô(Ø�7ˆDØˆÛˆBØ�S—Y‘Yœr×6Ñ6°r¸3¿8¹8ÓDÑEÑE‰Eð ä—‘˜“ˆð €Lõ	 	?ä™ U¨C¯I©IÓ6¸¼b¿g¹gÀtØ ó"ˆà€Lr   c                 ó  — | j                   j                  dv r~t        |«      t        u r.|t	        j
                  | j                   «      j                  k  rd }t        |«      t        u r.|t	        j
                  | j                   «      j                  k\  rd }|€|€t        j                  | fd|i|¤ŽS |€t        j                  | |fd|i|¤ŽS |€t        j                  | |fd|i|¤ŽS t        j                  | ||fd|i|¤ŽS )NÚiur   )r   ÚkindÚtypeÚintÚnpÚiinfoÚminÚmaxÚumÚpositiveÚminimumÚmaximumÚclip)r   rF   rG   r   Úkwargss        r   Ú_cliprN   `   sé   € Ø‡w�w‡|�|�tÑô �‹9œÑ ¤r§x¡x°·±Ó'8×'<Ñ'<Ò <ØˆCÜ�‹9œÑ ¤r§x¡x°·±Ó'8×'<Ñ'<Ò <ØˆCà
€{�s�{ä�{‰{˜1Ñ0 #Ð0¨Ñ0Ð0Ø	ˆÜ�z‰z˜!˜SÑ4 cÐ4¨VÑ4Ð4Ø	ˆÜ�z‰z˜!˜SÑ4 cÐ4¨VÑ4Ð4ä�w‰w�q˜#˜sÑ6¨Ð6¨vÑ6Ð6r   c                óR  — t        | «      }d}t        ||||¬«      }|du r|dk(  r-nt        |dk(  d ¬«      rt        j                  dt
        d¬«       |€™t        |j                  j                  t        j                  t        j                  f«      rt        j                  d	«      }nEt        |j                  j                  t        j                  «      rt        j                  d
«      }d}t        ||||||¬«      }	t        |	t        j                   «      r;t#        j$                  |	||	dd¬«      }	|r|€|j                  j                  |	«      }	|	S t'        |	d«      rB|r |j                  j                  |	|z  «      }	|	S |	j                  j                  |	|z  «      }	|	S |	|z  }	|	S )NF©r   r   Tr   ©r   zMean of empty sliceé   ©Ú
stacklevelÚf8Úf4r#   Úunsafe©r   ÚcastingÚsubokr   )r   r>   r'   ÚwarningsÚwarnÚRuntimeWarningÚ
issubclassr   rB   r8   Úintegerr	   r6   Úfloat16r   r4   ÚndarrayrH   Útrue_divideÚhasattr)
r   r   r   r   r   r   r;   Úis_float16_resultÚrcountÚrets
             r   Ú_meanrg   s   s_  € Ü
�Q‹-€CàÐä   d°XÀUÔK€FØ˜t‘m€v�ƒ{¬°¸1±À4Õ)HÜ�‰Ð+¬^ÈÕJð €}Ü�c—i‘i—n‘n¤r§z¡z´2·7±7Ð&;Ô<Ü—H‘H˜T“N‰EÜ˜Ÿ	™	Ÿ™¬¯
©
Ô3Ü—H‘H˜T“NˆEØ $Ðä
�#�t˜U C¨¸Ô
?€CÜ�#”r—z‘zÔ"Ü�n‰nØ�V ¨h¸eôEˆá  Ø—)‘)—.‘. Ó%ˆCð €Jô 
��gÔ	ÙØ—)‘)—.‘.  v¡Ó.ˆCð €Jð	 —)‘)—.‘.  v¡Ó.ˆCð €Jð �F‰lˆà€Jr   )r   Úmeanc                óð  — t        | «      }t        ||||¬«      }	|du r||	k\  r-nt        ||	k\  d ¬«      rt        j                  dt
        d¬«       |€St        |j                  j                  t        j                  t        j                  f«      rt        j                  d«      }|�|}
n¢t        |||d|¬«      }
|	j                  dk(  r|	}n|	j                  |
j                   «      }t#        |
t        j$                  «      rt'        j(                  |
||
d	d
¬«      }
n0t+        |
d«      r|
j                  j                  |
|	z  «      }
n|
|	z  }
t'        j,                  ||
d¬«      }t        |j                  j                  t        j.                  t        j                  f«      rt'        j0                  ||¬«      }nªt2        j5                  |j                  «      x}�T|j7                  |df¬«      }t'        j0                  ||¬«       t'        j8                  |d   |d   |j:                  ¬«      }n5t'        j<                  |t'        j>                  |«      |¬«      j:                  }t        ||||||¬«      }t'        j@                  |	|z
  d«      }	t#        |t        j$                  «      rt'        j(                  ||	|d	d
¬«      }|S t+        |d«      r |j                  j                  ||	z  «      }|S ||	z  }|S )NrP   TrQ   z!Degrees of freedom <= 0 for slicerR   rS   rU   r   rW   FrX   r   .©r   ©rR   )r   ).r   ).r/   )!r   r>   r'   r[   r\   r]   r^   r   rB   r8   r_   r	   r6   r   r3   Úreshaper5   r4   ra   rH   rb   rc   ÚsubtractÚfloatingÚsquareÚ_complex_to_floatÚgetÚviewÚaddÚrealÚmultiplyÚ	conjugaterK   )r   r   r   r   Úddofr   r   rh   r;   re   ÚarrmeanÚdivÚxÚ_float_dtypeÚxvrf   s                   r   Ú_varr}   ”   sj  € ä
�Q‹-€Cä   d°XÀUÔK€Fà $™€tˆvƒ~¬G°D¸F±NÈÕ,NÜ�‰Ð9¼>Ø!"õ	$ð €}œ C§I¡I§N¡N´R·Z±ZÄÇÁÐ4IÔJÜ—‘˜“ˆàÐØ‰ô
 ˜#˜t U°TÀÔGˆð �;‰;˜!Òà‰Cð —.‘. §¡Ó/ˆCÜ�gœrŸz™zÔ*Ü—n‘n W¨c°wØ-5¸UôD‰Gä�W˜gÔ&Ø—m‘m×(Ñ(¨°6Ñ)9Ó:‰Gà Ñ&ˆGô
 	�‰�C˜ cÔ*€AÜ�#—)‘)—.‘.¤2§;¡;´·
±
Ð";Ô<Ü�I‰I�a˜QÔ‰ä+×/Ñ/°·±Ó8Ð
8ˆ,Ð	EØ�V‰V˜<¨Ð.ˆVÓ/ˆÜ
�	‰	�"˜"ÕÜ�F‰F�2�f‘:˜r &™z¨q¯v©vÔ6‰ô �K‰K˜œ2Ÿ<™<¨›?°Ô2×7Ñ7ˆä
�!�T˜5 #°ÀÔ
F€Cô �Z‰Z˜ ™ qÓ)€Fô �#”r—z‘zÔ"Ü�n‰nØ�V ¨h¸eôEˆð €Jô 
��gÔ	Ø�i‰i�n‰n˜S 6™\Ó*ˆð €Jð �F‰lˆà€Jr   c          
      ó4  — t        | |||||||¬«      }t        |t        j                  «      rt	        j
                  ||¬«      }|S t        |d«      r0|j                  j                  t	        j
                  |«      «      }|S t	        j
                  |«      }|S )N)r   r   r   rw   r   r   rh   rj   r   )	r}   r4   r6   ra   rH   Úsqrtrc   r   rB   )	r   r   r   r   rw   r   r   rh   rf   s	            r   Ú_stdr€   Ù   s…   € ä
ˆq�t 5¨c¸Ø ¨°Dô:€Cô �#”r—z‘zÔ"Ü�g‰g�c˜sÔ#ˆð €Jô 
��gÔ	Ø�i‰i�n‰nœRŸW™W S›\Ó*ˆð €Jô �g‰g�c‹lˆà€Jr   c           
      ód   — t        j                  t        | |d ||«      t        | |d d |«      |«      S r   )rH   rm   r   r   )r   r   r   r   s       r   Ú_ptpr‚   ç   s6   € Ü�;‰;Ü�A�t˜T 3¨Ó1Ü�A�t˜T 4¨Ó2Øóð r   c                 óÐ   — t        |d«      rt        |«      }nt        t        j                  |«      d«      }|5 }t        j                  | ||¬«       d d d «       y # 1 sw Y   y xY w)NÚwriteÚwb©Úprotocol)rc   r   ÚopenÚosÚfspathÚpickleÚdump)ÚselfÚfiler‡   ÚctxÚfs        r   Ú_dumpr‘   î   sI   € Üˆt�WÔÜ˜$Ó‰ä”2—9‘9˜T“? DÓ)ˆÙ	�Ü�‰�D˜! hÕ/÷ 
�‰ús   ºAÁA%c                 ó0   — t        j                  | |¬«      S )Nr†   )r‹   Údumps)r�   r‡   s     r   Ú_dumpsr”   ö   s   € Ü�<‰<˜ xÔ0Ð0r   Ú	same_kindÚK©r   rY   Úorderr   rZ   c          	      ó&   — t        | ||||||¬«      S )Nr—   )Úumr_bitwise_count)r   r   r   rY   r˜   r   rZ   s          r   Ú_bitwise_countr›   ù   s   € ä˜Q ¨5¸'Ø˜u¨Eô3ð 3r   )NNNF)FT)NNN)NNNr   F)NNFrk   r   );Ú__doc__r‰   r‹   r[   Ú
contextlibr   ÚnumpyrD   Únumpy._corer   r6   r   r8   r   rH   Únumpy._core.multiarrayr   Únumpy._globalsr   r   r&   rK   Úreducer   rJ   r   rs   r   ru   r!   Úbitwise_countrš   Ú
logical_orr'   Úlogical_andr,   ÚcsingleÚsingleÚcdoubleÚdoublerp   Ú
longdoubleÚupdateÚclongdoubler   r   r   r"   r)   r-   r>   rN   rg   r}   r€   r‚   r‘   r”   r›   © r   r   Ú<module>r®      s  ðñó
 
Û Û Ý "ã ß IÑ IÝ -Ý #ð ˆ"�(‰(�6Ó
€Ø�j‰j×Ñ€Ø�j‰j×Ñ€Ø
�&‰&�-‰-€Ø�;‰;×Ñ€Ø×$Ñ$Ð Ø
�-‰-×
Ñ
€Ø
�.‰.×
Ñ
€ð €B‡H�HˆR�Z‰ZÓ˜(˜"Ÿ(™( 2§9¡9Ó-Ø€B‡H�HˆR�Z‰ZÓ˜(˜"Ÿ(™( 2§9¡9Ó-ðÐ ð
 €2‡8�8ˆB�M‰MÓ˜h˜bŸh™h r§y¡yÓ1Ò1Ø×ÑØˆ�‰�—‘Ó  ( "§(¡(¨2¯=©=Ó"9ðô ð ˜D¨5Ø $óEð ˜D¨5Ø $óEð ˜T t°eØ óBð ˜d¨°uØ $óCð?Àdô ?ð?Àdô ?óó.7ð&Àtô ðBCØ˜$ôCðJØ˜$ôóó0ó1ð3¨°{Ø˜4 tõ3r   