|  | #!/usr/bin/env python3 | 
|  | # -*- coding: utf-8 -*- | 
|  | # | 
|  | # Copyright (C) 2017-2020  The Project X-Ray Authors. | 
|  | # | 
|  | # Use of this source code is governed by a ISC-style | 
|  | # license that can be found in the LICENSE file or at | 
|  | # https://opensource.org/licenses/ISC | 
|  | # | 
|  | # SPDX-License-Identifier: ISC | 
|  | def ones(l): | 
|  | #return l + [x + '_1' for x in l] | 
|  | #return sorted(l + [x + '_1' for x in l]) | 
|  | ret = [] | 
|  | for x in l: | 
|  | ret.append(x) | 
|  | ret.append(x + '_1') | 
|  | return ret | 
|  |  | 
|  |  | 
|  | # The complete primitive sets | 
|  | ffprims_fall = ones( | 
|  | [ | 
|  | 'FD', | 
|  | 'FDC', | 
|  | 'FDCE', | 
|  | 'FDE', | 
|  | 'FDP', | 
|  | 'FDPE', | 
|  | 'FDR', | 
|  | 'FDRE', | 
|  | 'FDS', | 
|  | 'FDSE', | 
|  | ]) | 
|  | ffprims_lall = ones([ | 
|  | 'LDC', | 
|  | 'LDCE', | 
|  | 'LDE', | 
|  | 'LDPE', | 
|  | 'LDP', | 
|  | ]) | 
|  |  | 
|  | # Base primitives | 
|  | ffprims_f = [ | 
|  | 'FDRE', | 
|  | 'FDSE', | 
|  | 'FDCE', | 
|  | 'FDPE', | 
|  | ] | 
|  | ffprims_l = [ | 
|  | 'LDCE', | 
|  | 'LDPE', | 
|  | ] | 
|  | ffprims = ffprims_f + ffprims_l | 
|  |  | 
|  |  | 
|  | def isff(prim): | 
|  | return prim.startswith("FD") | 
|  |  | 
|  |  | 
|  | def isl(prim): | 
|  | return prim.startswith("LD") | 
|  |  | 
|  |  | 
|  | ff_bels_5 = [ | 
|  | 'A5FF', | 
|  | 'B5FF', | 
|  | 'C5FF', | 
|  | 'D5FF', | 
|  | ] | 
|  | ff_bels_ffl = [ | 
|  | 'AFF', | 
|  | 'BFF', | 
|  | 'CFF', | 
|  | 'DFF', | 
|  | ] | 
|  | ff_bels = ff_bels_ffl + ff_bels_5 | 
|  | #ff_bels = ff_bels_ffl |