
.J[c           @   s  d  Z  d g Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l	 Z	 e
 Z d% d d  Z d& d d  Z d' d d  Z d( d d	  Z d
 e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ e j j d  rfe Z n e j j d  re Z n e j d k re Z nv e j d d !d k re Z nW e j j d  re Z n< e j j d  re Z n! e j j d  r	e Z n e Z e   Z e d  k re j   e j   e j   g  Z x e  e  D] Z! e! d d! k rUe! d d! k rUe" e e! d    Z# e# re# d k re j$ d" e! d e# f  qe j$ e! d  qqUqUWd# d$ j% e  GHn  d S()   s`  
cpuinfo

Copyright 2002 Pearu Peterson all rights reserved,
Pearu Peterson <pearu@cens.ioc.ee>
Permission to use, modify, and distribute this software is given under the
terms of the NumPy (BSD style) license.  See LICENSE.txt that came with
this distribution for specifics.

NO WARRANTY IS EXPRESSED OR IMPLIED.  USE AT YOUR OWN RISK.
Pearu Peterson
t   cpuiNi    i   c         C   s   y7 t  j |  d t  j } | j   \ } } | j } Wn6 t k
 ro } t j t |  t	 d | t
 d f SXt j |  r t j |  | k r t | f St
 | f S(   Nt   stdoutt
   stacklevelt    (   t
   subprocesst   Popent   PIPEt   communicatet
   returncodet   EnvironmentErrort   warningst   warnt   strt   UserWarningt   Falset   ost	   WIFEXITEDt   WEXITSTATUSt   True(   t   cmdt   successful_statusR   t   pt   outputt   _t   statust   e(    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   getoutput%   s    $
c         K   sZ   i  } xM | D]E } t  | | d |  d | d \ } } | r | j   | | <q q W| S(   NR   R   i   (   R   t   strip(   R   R   t   kwt   infot   keyt   okR   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   command_info2   s    c         c   sa   t  |  d | d | d \ } } | s, d  S| j d  } x | j   D] } | j   VqH Wd  S(   NR   R   i   t   ascii(   R   t   decodet
   splitlinesR   (   R   R   R   R   R   t   line(    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   command_by_line<   s    c         C   s   i  } xv t  |  d | d | d D]X } g  | j | d  D] } | j   ^ q< } t |  d k r# | d | | d <q# q# W| S(   NR   R   i   i   i    (   R%   t   splitR   t   len(   R   t   sepR   R   t   dR$   t   st   l(    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   key_value_from_commandI   s    +t   CPUInfoBasec           B   sD   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   sk   Holds CPU information and provides methods for requiring
    the availability of various CPU features.
    c         C   s   y |   SWn n Xd  S(   N(    (   t   selft   func(    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _try_callY   s    c         C   sq   | j  d  sa t |  d |  rW t |  d |  } t j |  r^ |  j | d  Sqa d   Sn  t |   d  S(   NR   c         S   s
   |  |  S(   N(    (   R/   t   attr(    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   <lambda>d   R   c           S   s   d  S(   N(   t   None(    (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR2   f   R   (   t
   startswitht   hasattrt   getattrt   inspectt   ismethodR0   t   AttributeError(   R.   t   nameR1   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   __getattr___   s    
c         C   s   d S(   Ni   (    (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _getNCPUsi   s    c         C   s5   t  j   d } t j d  j |  j d  } | S(   Ni    s   (\d+)biti   (   t   platformt   architecturet   ret   compilet   searcht   group(   R.   t   abitst   nbits(    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   __get_nbitsl   s    !c         C   s   |  j    d k S(   Nt   32(   t   _CPUInfoBase__get_nbits(   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_32bitq   s    c         C   s   |  j    d k S(   Nt   64(   RG   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_64bitt   s    (	   t   __name__t
   __module__t   __doc__R0   R;   R<   RG   RH   RJ   (    (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR-   T   s   		
			t   LinuxCPUInfoc           B   s  e  Z d3 Z d    Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z e Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z  d   Z! d   Z" d   Z# d   Z$ d    Z% d!   Z& d"   Z' e' Z( d#   Z) d$   Z* d%   Z+ d&   Z, d'   Z- d(   Z. d)   Z/ d*   Z0 d+   Z1 d,   Z2 d-   Z3 d.   Z4 d/   Z5 d0   Z6 d1   Z7 d2   Z8 RS(4   c         C   s<  |  j  d  k	 r d  Si  g } t d d g  \ } } | rQ | j   | d d <n  y t d  } Wn) t k
 r } t j t |  t	  n Xx | D] } g  | j
 d d  D] } | j   ^ q } t |  d k r q n  | \ }	 }
 | s |	 | d	 k r| j i   n  |
 | d	 |	 <q W| j   | |  j _  d  S(
   Nt   unames   -mi    t   uname_ms   /proc/cpuinfot   :i   i   i(   R   R3   R   R   t   openR	   R
   R   R   R   R&   R'   t   appendt   closet	   __class__(   R.   R   R   R   t   foR   R$   R*   t
   name_valueR:   t   value(    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   __init__{   s(    	+
c         C   s   d  S(   N(    (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _not_impl   s    c         C   s   |  j  d d d k S(   Ni    t	   vendor_idt   AuthenticAMD(   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_AMD   s    c         C   s!   |  j    o  |  j d d d k S(   Ni    t   modelt   2(   R]   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_AthlonK6_2   s    c         C   s!   |  j    o  |  j d d d k S(   Ni    R^   t   3(   R]   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_AthlonK6_3   s    c         C   s!   t  j d |  j d d  d  k	 S(   Ns	   .*?AMD-K6i    s
   model name(   R?   t   matchR   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_AthlonK6   s    c         C   s!   t  j d |  j d d  d  k	 S(   Ns	   .*?AMD-K7i    s
   model name(   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_AthlonK7   s    c         C   s!   t  j d |  j d d  d  k	 S(   Ns   .*?Athlon\(tm\) MP\bi    s
   model name(   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_AthlonMP   s    	c         C   s!   |  j    o  |  j d d d k S(   Ni    t   familyt   15(   t   is_AMDR   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_AMD64   s    c         C   s!   t  j d |  j d d  d  k	 S(   Ns   .*?Athlon\(tm\) 64\bi    s
   model name(   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_Athlon64   s    	c         C   s!   t  j d |  j d d  d  k	 S(   Ns   .*?Athlon HX\bi    s
   model name(   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_AthlonHX   s    	c         C   s!   t  j d |  j d d  d  k	 S(   Ns   .*?Opteron\bi    s
   model name(   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_Opteron   s    	c         C   s!   t  j d |  j d d  d  k	 S(   Ns   .*?Hammer\bi    s
   model name(   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_Hammer   s    	c         C   s   |  j  d d d k S(   Ni    R    t   Alpha(   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_Alpha   s    c         C   s!   |  j    o  |  j d d d k S(   Ni    s	   cpu modelt   EV4(   t   is_AlphaR   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_EV4   s    c         C   s!   |  j    o  |  j d d d k S(   Ni    s	   cpu modelt   EV5(   Rr   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_EV5   s    c         C   s!   |  j    o  |  j d d d k S(   Ni    s	   cpu modelt   EV56(   Rr   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_EV56   s    c         C   s!   |  j    o  |  j d d d k S(   Ni    s	   cpu modelt   PCA56(   Rr   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_PCA56   s    c         C   s   |  j  d d d k S(   Ni    R[   t   GenuineIntel(   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_Intel   s    c         C   s   |  j  d d d k S(   Ni    R    t   i486(   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_i486   s    c         C   s!   |  j    o  |  j d d d k S(   Ni    s
   cpu familyt   5(   t   is_IntelR   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_i586   s    c         C   s!   |  j    o  |  j d d d k S(   Ni    s
   cpu familyt   6(   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_i686   s    c         C   s!   t  j d |  j d d  d  k	 S(   Ns
   .*?Celeroni    s
   model name(   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_Celeron   s    	c         C   s!   t  j d |  j d d  d  k	 S(   Ns
   .*?Pentiumi    s
   model name(   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_Pentium   s    	c         C   s!   t  j d |  j d d  d  k	 S(   Ns   .*?Pentium.*?II\bi    s
   model name(   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_PentiumII   s    	c         C   s!   t  j d |  j d d  d  k	 S(   Ns   .*?PentiumPro\bi    s
   model name(   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_PentiumPro   s    	c         C   s!   t  j d |  j d d  d  k	 S(   Ns   .*?Pentium.*?MMX\bi    s
   model name(   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_PentiumMMX   s    	c         C   s!   t  j d |  j d d  d  k	 S(   Ns   .*?Pentium.*?III\bi    s
   model name(   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_PentiumIII   s    	c         C   s!   t  j d |  j d d  d  k	 S(   Ns   .*?Pentium.*?(IV|4)\bi    s
   model name(   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_PentiumIV   s    	c         C   s!   t  j d |  j d d  d  k	 S(   Ns   .*?Pentium.*?M\bi    s
   model name(   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_PentiumM   s    	c         C   s   |  j    o |  j   S(   N(   t   is_PentiumIVt   has_sse3(   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_Prescott   s    c         C   s]   |  j    o\ |  j d d d k o\ |  j   o\ |  j   o\ t j d |  j d d  d  k	 S(   Ni    s
   cpu familyR   Rh   s	   .*?\blm\bt   flags(   R   Rh   (   R   R   R   t	   has_ssse3R?   Rc   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_Nocona  s    c         C   s9   |  j    o8 |  j   o8 t j d |  j d d  d  k	 S(   Ns   .*?Core\(TM\)2\bi    s
   model name(   t   is_64bitR   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_Core2	  s    	c         C   s!   t  j d |  j d d  d  k	 S(   Ns   .*?Itanium\bi    Rg   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_Itanium  s    	c         C   s'   t  j d |  j d d t  j  d  k	 S(   Ns	   .*?XEON\bi    s
   model name(   R?   Rc   R   t
   IGNORECASER3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_XEON  s    	c         C   s!   t  j d |  j d d  d  k	 S(   Ns	   .*POWER.*i    R    (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_Power  s    	c         C   s!   t  j d |  j d d  d  k	 S(   Ns
   .*POWER7.*i    R    (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_Power7  s    	c         C   s!   t  j d |  j d d  d  k	 S(   Ns
   .*POWER8.*i    R    (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_Power8!  s    	c         C   s!   t  j d |  j d d  d  k	 S(   Ns
   .*POWER9.*i    R    (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_Power9%  s    	c         C   s!   t  j d |  j d d  d  k	 S(   Ns   .*altivec\ supported.*i    R    (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _has_Altivec)  s    	c         C   s   t  |  j  d k S(   Ni   (   R'   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_singleCPU/  s    c         C   s   t  |  j  S(   N(   R'   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR<   2  s    c         C   s   |  j  d d d k S(   Ni    t   fdiv_bugt   yes(   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _has_fdiv_bug5  s    c         C   s   |  j  d d d k S(   Ni    t   f00f_bugR   (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _has_f00f_bug8  s    c         C   s!   t  j d |  j d d  d  k	 S(   Ns
   .*?\bmmx\bi    R   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _has_mmx;  s    c         C   s!   t  j d |  j d d  d  k	 S(   Ns
   .*?\bsse\bi    R   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _has_sse>  s    c         C   s!   t  j d |  j d d  d  k	 S(   Ns   .*?\bsse2\bi    R   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _has_sse2A  s    c         C   s!   t  j d |  j d d  d  k	 S(   Ns
   .*?\bpni\bi    R   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _has_sse3D  s    c         C   s!   t  j d |  j d d  d  k	 S(   Ns   .*?\bssse3\bi    R   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _has_ssse3G  s    c         C   s!   t  j d |  j d d  d  k	 S(   Ns   .*?\b3dnow\bi    R   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _has_3dnowJ  s    c         C   s!   t  j d |  j d d  d  k	 S(   Ns   .*?\b3dnowext\bi    R   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _has_3dnowextM  s    N(9   RK   RL   R3   R   RY   RZ   R]   R`   Rb   Rd   Re   Rf   Rj   Rk   Rl   Rm   Rn   Rp   Rs   Ru   Rw   Ry   t   _is_i386R{   R}   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   t   _is_XeonR   R   R   R   R   R   R<   R   R   R   R   R   R   R   R   R   (    (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyRN   x   sl   																																																		t   IRIXCPUInfoc           B   s[  e  Z d% Z d    Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z  d   Z! d   Z" d   Z# d    Z$ d!   Z% d"   Z& d#   Z' d$   Z( RS(&   c         C   s;   |  j  d  k	 r d  St d d d d d } | |  j _  d  S(   Nt   sysconfR(   t    R   i    i   (   i    i   (   R   R3   R,   RU   (   R.   R   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyRY   T  s
    	c         C   s   d  S(   N(    (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyRZ   [  s    c         C   s   |  j  j d  d k S(   Nt   NUM_PROCESSORSt   1(   R   t   get(   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR   ^  s    c         C   s   t  |  j j d d   S(   NR   i   (   t   intR   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR<   a  s    c         C   s*   |  j  j d  j   d j   d | k S(   Nt
   PROCESSORSi    s   r%s(   R   R   R&   t   lower(   R.   t   n(    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   __cputyped  s    c         C   s   |  j  d  S(   Ni  (   t   _IRIXCPUInfo__cputype(   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_r2000g  s    c         C   s   |  j  d  S(   Ni  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_r3000j  s    c         C   s   |  j  d  S(   Ni<  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_r3900m  s    c         C   s   |  j  d  S(   Ni  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_r4000p  s    c         C   s   |  j  d  S(   Ni  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_r4100s  s    c         C   s   |  j  d  S(   Ni  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_r4300v  s    c         C   s   |  j  d  S(   Ni0  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_r4400y  s    c         C   s   |  j  d  S(   Ni  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_r4600|  s    c         C   s   |  j  d  S(   Ni*  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_r4650  s    c         C   s   |  j  d  S(   Ni  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_r5000  s    c         C   s   |  j  d  S(   Nip  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_r6000  s    c         C   s   |  j  d  S(   Ni@  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_r8000  s    c         C   s   |  j  d  S(   Ni'  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_r10000  s    c         C   s   |  j  d  S(   Ni.  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_r12000  s    c         C   s   |  j  d  S(   Nt   orion(   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_rorion  s    c         C   s"   y |  j  j d  SWn n Xd  S(   Nt   MACHINE(   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   get_ip  s    c         C   s    |  j  j d  j   d | k S(   NR   s   ip%s(   R   R   R   (   R.   R   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   __machine  s    c         C   s   |  j  d  S(   Ni   (   t   _IRIXCPUInfo__machine(   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_IP19  s    c         C   s   |  j  d  S(   Ni   (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_IP20  s    c         C   s   |  j  d  S(   Ni   (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_IP21  s    c         C   s   |  j  d  S(   Ni   (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_IP22  s    c         C   s   |  j  d  o |  j   S(   Ni   (   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_IP22_4k  s    c         C   s   |  j  d  o |  j   S(   Ni   (   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_IP22_5k  s    c         C   s   |  j  d  S(   Ni   (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_IP24  s    c         C   s   |  j  d  S(   Ni   (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_IP25  s    c         C   s   |  j  d  S(   Ni   (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_IP26  s    c         C   s   |  j  d  S(   Ni   (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_IP27  s    c         C   s   |  j  d  S(   Ni   (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_IP28  s    c         C   s   |  j  d  S(   Ni   (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_IP30  s    c         C   s   |  j  d  S(   Ni    (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_IP32  s    c         C   s   |  j  d  o |  j   S(   Ni    (   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_IP32_5k  s    c         C   s   |  j  d  o |  j   S(   Ni    (   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_IP32_10k  s    N()   RK   RL   R3   R   RY   RZ   R   R<   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR   Q  sL   																																				t   DarwinCPUInfoc           B   s   e  Z d Z d    Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   sT   |  j  d  k	 r d  St d d d d  } t d d g d d | d <| |  j _  d  S(   Nt   archt   machinet   sysctlt   hwR(   t   =t	   sysctl_hw(   R   R3   R    R,   RU   (   R.   R   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyRY     s    	c         C   s   d  S(   N(    (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyRZ     R   c         C   s   t  |  j d j d d   S(   NR   s   hw.ncpui   (   R   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR<     s    c         C   s   |  j  d d d k S(   NR   s
   hw.machines   Power Macintosh(   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_Power_Macintosh  s    c         C   s   |  j  d d k S(   NR   t   i386(   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR     s    c         C   s   |  j  d d k S(   NR   t   ppc(   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_ppc  s    c         C   s   |  j  d d | k S(   NR   s   ppc%s(   R   (   R.   R   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR     s    c         C   s   |  j  d  S(   NiY  (   t   _DarwinCPUInfo__machine(   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_ppc601  R   c         C   s   |  j  d  S(   NiZ  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_ppc602  R   c         C   s   |  j  d  S(   Ni[  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_ppc603  R   c         C   s   |  j  d  S(   Nt   603e(   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_ppc603e  R   c         C   s   |  j  d  S(   Ni\  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_ppc604  R   c         C   s   |  j  d  S(   Nt   604e(   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_ppc604e  R   c         C   s   |  j  d  S(   Nil  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_ppc620  R   c         C   s   |  j  d  S(   Niv  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_ppc630  R   c         C   s   |  j  d  S(   Ni  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_ppc740  R   c         C   s   |  j  d  S(   Ni  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_ppc7400  R   c         C   s   |  j  d  S(   Ni  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_ppc7450  R   c         C   s   |  j  d  S(   Ni  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_ppc750  R   c         C   s   |  j  d  S(   Ni  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_ppc403  R   c         C   s   |  j  d  S(   Ni  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_ppc505  R   c         C   s   |  j  d  S(   Ni!  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_ppc801  R   c         C   s   |  j  d  S(   Ni5  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_ppc821  R   c         C   s   |  j  d  S(   Ni7  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_ppc823  R   c         C   s   |  j  d  S(   Ni\  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_ppc860	  R   N(   RK   RL   R3   R   RY   RZ   R<   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR     s4   																								t   NetBSDCPUInfoc           B   s;   e  Z d Z d    Z d   Z d   Z d   Z d   Z RS(   c         C   sy   |  j  d  k	 r d  Si  } t d d g d d | d <| d j d d  | d <| d j d	 d  | d
 <| |  j _  d  S(   NR   R   R(   R   R   s   hw.machine_archi   R   s
   hw.machineR   (   R   R3   R,   R   RU   (   R.   R   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyRY     s    c         C   s   d  S(   N(    (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyRZ     R   c         C   s   t  |  j d j d d   S(   NR   s   hw.ncpui   (   R   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR<     s    c         C   s.   |  j  d j d d  d d !d k r* t St S(   NR   s   hw.modelR   i    i   t   Intel(   R   R   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR{     s    &c         C   s.   |  j  d j d d  d d !d k r* t St S(   NR   s   hw.modelR   i    i   t   AMD(   R   R   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR]   !  s    &N(	   RK   RL   R3   R   RY   RZ   R<   R{   R]   (    (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR     s   					t   SunOSCPUInfoc           B   s   e  Z d Z d    Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s   |  j  d  k	 r d  St d d d d d d d g d d d g d	 d d
 g  } t d d g d d | d <xL t d d d g  D]5 } t j d |  } | r~ | j d  | d <Pq~ q~ W| |  j _  d  S(   NR   t   macht   uname_iRO   s   -it	   isainfo_bt   isainfos   -bt	   isainfo_ns   -ns   -XR(   R   t   uname_Xt   psrinfos   -vt   0s+   \s*The (?P<p>[\w\d]+) processor operates atR   t	   processor(	   R   R3   R    R,   R%   R?   Rc   RB   RU   (   R.   R   R$   t   m(    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyRY   )  s    c         C   s   d  S(   N(    (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyRZ   :  s    c         C   s   |  j  d d k S(   NR  R   (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR   =  s    c         C   s   |  j  d d k S(   NR  t   sparc(   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_sparc@  s    c         C   s   |  j  d d k S(   NR  t   sparcv9(   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_sparcv9C  s    c         C   s   t  |  j d j d d   S(   NR  t   NumCPUi   (   R   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR<   F  s    c         C   s   |  j  d d k S(   NR   t   sun4(   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_sun4I  s    c         C   s   t  j d |  j d  d  k	 S(   Nt   SUNWR   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_SUNWL  s    c         C   s   t  j d |  j d  d  k	 S(   Ns   .*SPARCstation-5R   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_sparcstation5O  s    c         C   s   t  j d |  j d  d  k	 S(   Ns	   .*Ultra-1R   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_ultra1R  s    c         C   s   t  j d |  j d  d  k	 S(   Ns   .*Ultra-250R   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_ultra250U  s    c         C   s   t  j d |  j d  d  k	 S(   Ns	   .*Ultra-2R   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_ultra2X  s    c         C   s   t  j d |  j d  d  k	 S(   Ns
   .*Ultra-30R   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_ultra30[  s    c         C   s   t  j d |  j d  d  k	 S(   Ns	   .*Ultra-4R   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_ultra4^  s    c         C   s   t  j d |  j d  d  k	 S(   Ns   .*Ultra-5_10R   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_ultra5_10a  s    c         C   s   t  j d |  j d  d  k	 S(   Ns	   .*Ultra-5R   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_ultra5d  s    c         C   s   t  j d |  j d  d  k	 S(   Ns
   .*Ultra-60R   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_ultra60g  s    c         C   s   t  j d |  j d  d  k	 S(   Ns
   .*Ultra-80R   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_ultra80j  s    c         C   s   t  j d |  j d  d  k	 S(   Ns   .*Ultra-EnterpriseR   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_ultraenterpricem  s    c         C   s   t  j d |  j d  d  k	 S(   Ns   .*Ultra-Enterprise-10000R   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_ultraenterprice10kp  s    c         C   s   t  j d |  j d  d  k	 S(   Ns
   .*Sun-FireR   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_sunfires  s    c         C   s   t  j d |  j d  d  k	 S(   Ns   .*UltraR   (   R?   Rc   R   R3   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_ultrav  s    c         C   s   |  j  d d k S(   NR  t   sparcv7(   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_cpusparcv7y  s    c         C   s   |  j  d d k S(   NR  t   sparcv8(   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_cpusparcv8|  s    c         C   s   |  j  d d k S(   NR  R	  (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_cpusparcv9  s    N(   RK   RL   R3   R   RY   RZ   R   R  R
  R<   R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R!  R"  (    (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR   &  s4   																								t   Win32CPUInfoc           B   s+  e  Z d  Z d  Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z  d   Z! d   Z" d   Z# RS(!   s,   HARDWARE\DESCRIPTION\System\CentralProcessorc         C   s  y d d  l  } Wn t k
 r/ d d  l } n X|  j d  k	 rC d  Sg  } y|t j d t j  } | j | j	 |  j
  } d } xBy | j | |  } Wn | j k
 r Pq X| d 7} | j i | d 6 | j | |  } d } x t ry | j | |  \ }	 }
 } Wn | j k
 r%Pq X| d } |
 | d |	 <|	 d k r | j |
  } | rt | j d   | d d <t | j d	   | d d
 <t | j d   | d d <qq q Wq WWn t j d f GHn X| |  j _ d  S(   NisF   family\s+(?P<FML>\d+)\s+model\s+(?P<MDL>\d+)\s+stepping\s+(?P<STP>\d+)i    i   t	   Processort
   Identifiert   FMLt   Familyt   MDLt   Modelt   STPt   Steppings
   (ignoring)(   t   _winregt   ImportErrort   winregR   R3   R?   R@   R   t   OpenKeyt   HKEY_LOCAL_MACHINEt   pkeyt   EnumKeyt   errorRS   R   t	   EnumValueRA   R   RB   t   syst	   exc_valueRU   (   R.   R,  R   t   prgxt   chndt   pnumt   proct   phndt   pidxR:   RX   t   vtpet   srch(    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyRY     sJ    	
	
/c         C   s   d  S(   N(    (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyRZ     s    c         C   s   |  j  d d d k S(   Ni    t   VendorIdentifierR\   (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR]     s    c         C   s!   |  j    o  |  j d d d k S(   Ni    R'  i   (   Ri   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_Am486  s    c         C   s!   |  j    o  |  j d d d k S(   Ni    R'  i   (   Ri   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt
   _is_Am5x86  s    c         C   s8   |  j    o7 |  j d d d k o7 |  j d d d k S(	   Ni    R'  i   R)  i   i   i   (   i    i   i   i   (   Ri   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_AMDK5  s    #c         C   s8   |  j    o7 |  j d d d k o7 |  j d d d k S(   Ni    R'  i   R)  i   i   (   i   i   (   Ri   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_AMDK6  s    #c         C   s8   |  j    o7 |  j d d d k o7 |  j d d d k S(   Ni    R'  i   R)  i   (   Ri   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_AMDK6_2  s    #c         C   s8   |  j    o7 |  j d d d k o7 |  j d d d k S(   Ni    R'  i   R)  i	   (   Ri   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   _is_AMDK6_3  s    #c         C   s!   |  j    o  |  j d d d k S(   Ni    R'  i   (   Ri   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt	   _is_AMDK7  s    c         C   s!   |  j    o  |  j d d d k S(   Ni    R'  i   (   Ri   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyRj     s    c         C   s   |  j  d d d k S(   Ni    R?  Rz   (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR{     s    c         C   s   |  j  d d d k S(   Ni    R'  i   (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR     s    c         C   s   |  j  d d d k S(   Ni    R'  i   (   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR}     s    c         C   s!   |  j    o  |  j d d d k S(   Ni    R'  i   (   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR     s    c         C   s!   |  j    o  |  j d d d k S(   Ni    R'  i   (   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR     s    c         C   s!   |  j    o  |  j d d d k S(   Ni    R'  i   (   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR     s    c         C   s8   |  j    o7 |  j d d d k o7 |  j d d d k S(   Ni    R'  i   R)  i   (   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR     s    #c         C   s8   |  j    o7 |  j d d d k o7 |  j d d d k S(   Ni    R'  i   R)  i   (   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR     s    #c         C   s8   |  j    o7 |  j d d d k o7 |  j d d d k S(   Ni    R'  i   R)  i   i   (   i   i   i   (   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR     s    #c         C   s8   |  j    o7 |  j d d d k o7 |  j d d d
 k S(   Ni    R'  i   R)  i   i   i	   i
   i   (   i   i   i	   i
   i   (   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR     s    #c         C   s!   |  j    o  |  j d d d k S(   Ni    R'  i   (   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR     s    c         C   s8   |  j    o7 |  j d d d k o7 |  j d d d k S(	   Ni    R'  i   R)  i	   i   i   (   i	   i   i   (   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR     s    #c         C   s8   |  j    o7 |  j d d d k o7 |  j d d d k S(	   Ni    R'  i   R)  i   i   i   (   i   i   i   (   R   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR   	  s    #c         C   s   t  |  j  d k S(   Ni   (   R'   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR     s    c         C   s   t  |  j  S(   N(   R'   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR<     s    c         C   sx   |  j    rO |  j d d d k r: |  j d d d k pN |  j d d d k S|  j   rp |  j d d d	 k St Sd  S(
   Ni    R'  i   R)  i   i   i   (   i   i   (   i   i   i   (   R   R   Ri   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR     s    c         C   s   |  j    rO |  j d d d k r: |  j d d d k pN |  j d d d
 k S|  j   r |  j d d d k r |  j d d d k p |  j d d d
 k St Sd  S(   Ni    R'  i   R)  i   i   i	   i
   i   i   (   i   i   i	   i
   i   (   i   i   i   i
   (   R   R   Ri   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR     s    c         C   sL   |  j    r. |  j   p- |  j   p- |  j   S|  j   rD |  j   St Sd  S(   N(   R   t   is_Pentium4t   is_PentiumMt   is_Core2Ri   t   is_AMD64R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR   +  s
    "
c         C   s!   |  j    o  |  j d d d k S(   Ni    R'  i   i   i   (   i   i   i   (   Ri   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR   3  s    c         C   s!   |  j    o  |  j d d d k S(   Ni    R'  i   i   (   i   i   (   Ri   R   (   R.   (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR   6  s    N($   RK   RL   R3   R   R1  RY   RZ   R]   R@  RA  RB  RC  RD  RE  RF  Rj   R{   R   R}   R   R   R   R   R   R   R   R   R   R   R   R<   R   R   R   R   R   (    (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyR#    sB   	,																										
			t   linuxt   irixt   darwini   t   netbsdt   sunost   win32t   cygwint   __main__R   s   %s=%ss   CPU information: R   (   i    (   i    (   i    (   i    (&   RM   t   __all__R5  R?   t   typesR   R   R
   R=   R7   R   t   is_cpu_amd_intelR   R    R%   R,   t   objectR-   RN   R   R   R   R   R#  R4   t   cpuinfoR    RK   t   is_blaaR   Rr   R   t   dirR:   R6   t   rRS   t   join(    (    (    s.   lib/python2.7/site-packages/numexpr/cpuinfo.pyt   <module>   sb   	$

$z@]								


 