numpy.distutils.ccompiler_opt.CCompilerOpt.feature_ahead#

method

distutils.ccompiler_opt.CCompilerOpt.feature_ahead(names)[source]#

Return list of features in ‘names’ after remove any implied features and keep the origins.

Parameters
‘names’: sequence

sequence of CPU feature names in uppercase.

Returns
list of CPU features sorted as-is ‘names’

Examples

>>> self.feature_ahead(["SSE2", "SSE3", "SSE41"])
["SSE41"]
# assume AVX2 and FMA3 implies each other and AVX2
# is the highest interest
>>> self.feature_ahead(["SSE2", "SSE3", "SSE41", "AVX2", "FMA3"])
["AVX2"]
# assume AVX2 and FMA3 don't implies each other
>>> self.feature_ahead(["SSE2", "SSE3", "SSE41", "AVX2", "FMA3"])
["AVX2", "FMA3"]