MCPcopy Create free account
hub / github.com/pydata/numexpr / parse_arch

Function parse_arch

numexpr3/cpuinfo.py:540–576  ·  view source on GitHub ↗
(raw_arch_string)

Source from the content-addressed store, hash-verified

538 return {}
539
540def parse_arch(raw_arch_string):
541 arch, bits = None, None
542 raw_arch_string = raw_arch_string.lower()
543
544 # X86
545 if re.match('^i\d86$|^x86$|^x86_32$|^i86pc$|^ia32$|^ia-32$|^bepc$', raw_arch_string):
546 arch = 'X86_32'
547 bits = 32
548 elif re.match('^x64$|^x86_64$|^x86_64t$|^i686-64$|^amd64$|^ia64$|^ia-64$', raw_arch_string):
549 arch = 'X86_64'
550 bits = 64
551 # ARM
552 elif re.match('^armv8-a|aarch64$', raw_arch_string):
553 arch = 'ARM_8'
554 bits = 64
555 elif re.match('^armv7$|^armv7[a-z]$|^armv7-[a-z]$|^armv6[a-z]$', raw_arch_string):
556 arch = 'ARM_7'
557 bits = 32
558 elif re.match('^armv8$|^armv8[a-z]$|^armv8-[a-z]$', raw_arch_string):
559 arch = 'ARM_8'
560 bits = 32
561 # PPC
562 elif re.match('^ppc32$|^prep$|^pmac$|^powermac$', raw_arch_string):
563 arch = 'PPC_32'
564 bits = 32
565 elif re.match('^powerpc$|^ppc64$|^ppc64le$', raw_arch_string):
566 arch = 'PPC_64'
567 bits = 64
568 # SPARC
569 elif re.match('^sparc32$|^sparc$', raw_arch_string):
570 arch = 'SPARC_32'
571 bits = 32
572 elif re.match('^sparc64$|^sun4u$|^sun4v$', raw_arch_string):
573 arch = 'SPARC_64'
574 bits = 64
575
576 return (arch, bits)
577
578def is_bit_set(reg, bit):
579 mask = 1 << bit

Callers 5

_get_cpu_info_from_cpuidFunction · 0.85
get_cpu_infoFunction · 0.85
_check_archFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…