
    JeG                         d Z ddlZddlZd Zd Zedk(  r_ ed        eej                           e e              ej                  dk(  r( ed        eej                           e e              yyy)z&
Operating-system-specific utilities.
    Nc                      ddl m} m}mm}m} ddlm  G fdd|      } |       } ||      |_        | j                  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            
       Z    e Zd ZdW  fdW  fdW fdW fdW fdW fdW fdW fd	W fg	Zy
)*windows_memory_usage.<locals>.MemoryStatusdwLengthdwMemoryLoadullTotalPhysullAvailPhysullTotalPageFileullAvailPageFileullTotalVirtualullAvailVirtualullAvailExtendedVirtualN)__name__
__module____qualname___fields_)r	   r   s   5/usr/lib/python3/dist-packages/spyder/utils/system.pyMemoryStatusr      sR    '#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%	<y 	<  >L #<0L
OO((|)<=**++r   c                      	 t        j                         j                  } | S #  t        j                         j                  } Y | S xY w)z%Return physical memory usage (float).)psutilvirtual_memorypercentphymem_usage)r&   s    r   memory_usager(   .   sB    0'')11 N0%%'//Ns	   "  A__main__zP********************************************************************************nt)__doc__osr$   r"   r(   r   printname r   r   <module>r0      s~   
 
 ,6 z	&M	,

	,.	ww$f"**+"$%	 	 r   