
    G@dG                        d Z ddlZddlZd Zd Zedk    ri ed            eej                     e e                       ej        dk    r2 ed            eej                     e e                       dS dS dS )z&
Operating-system-specific utilities.
    Nc                      ddl m} m}mm}m} ddlm  G fdd|          } |            } ||          |_        | j	        
                     ||                     t          |j                  S )zk
    Return physical memory usage (float).

    It works on Windows platforms only and without psutil.
    r   )windll	Structurec_uint64sizeofbyref)DWORDc            
       J    e Zd Zd fd fdfdfdfdfdfdfd	fg	Zd
S )*windows_memory_usage.<locals>.MemoryStatusdwLengthdwMemoryLoadullTotalPhysullAvailPhysullTotalPageFileullAvailPageFileullTotalVirtualullAvailVirtualullAvailExtendedVirtualN)__name__
__module____qualname___fields_)r	   r   s   3lib/python3.11/site-packages/spyder/utils/system.pyMemoryStatusr      s^        '#E*#X.#X.'2'2&1&1.9<    r   )ctypesr   r   r   r   r   ctypes.wintypesr	   r   kernel32GlobalMemoryStatusExfloatr   )r   r   r   r   r   memorystatusr	   r   s         @@r   windows_memory_usager"      s     BAAAAAAAAAAAAA%%%%%%	< 	< 	< 	< 	< 	< 	< 	<y 	< 	< 	<  <>>L #F<00L
O((|)<)<===*+++r   c                  x    	 t          j                    j        } n#  t          j                    j        } Y nxY w| S )z%Return physical memory usage (float).)psutilvirtual_memorypercentphymem_usage)r&   s    r   memory_usager(   .   s=    0'))10%''/Ns    7__main__zP********************************************************************************nt)__doc__osr$   r"   r(   r   printname r   r   <module>r0      s    
 
			 , , ,6   z	E&MMM	E,
	E,,..	w$f"*+++""$$%%%%%  r   