MCPcopy Create free account
hub / github.com/numpy/numpy / _parse_multi_target

Method _parse_multi_target

numpy/distutils/ccompiler_opt.py:2102–2125  ·  view source on GitHub ↗

validate multi targets that defined between parentheses()

(self, targets)

Source from the content-addressed store, hash-verified

2100 return has_baseline, final_targets, extra_flags
2101
2102 def _parse_multi_target(self, targets):
2103 """validate multi targets that defined between parentheses()"""
2104 # remove any implied features and keep the origins
2105 if not targets:
2106 self.dist_fatal("empty multi-target '()'")
2107 if not all([
2108 self.feature_is_exist(tar) for tar in targets
2109 ]) :
2110 self.dist_fatal("invalid target name in multi-target", targets)
2111 if not all([
2112 (
2113 tar in self.parse_baseline_names or
2114 tar in self.parse_dispatch_names
2115 )
2116 for tar in targets
2117 ]) :
2118 return None
2119 targets = self.feature_ahead(targets)
2120 if not targets:
2121 return None
2122 # force sort multi targets, so it can be comparable
2123 targets = self.feature_sorted(targets)
2124 targets = tuple(targets) # hashable
2125 return targets
2126
2127 def _parse_policy_not_keepbase(self, has_baseline, final_targets, extra_flags):
2128 """skip all baseline features"""

Callers 1

_parse_target_tokensMethod · 0.95

Calls 5

dist_fatalMethod · 0.80
feature_is_existMethod · 0.80
feature_aheadMethod · 0.80
feature_sortedMethod · 0.80
allFunction · 0.50

Tested by

no test coverage detected