1id: variable_polar_decoder_sc_list_def
2label: POLAR Decoder SC List Definition
3flags: [ show_id ]
4
5parameters:
6-   id: ndim
7    label: Parallelism
8    dtype: enum
9    default: '0'
10    options: ['0', '1', '2']
11-   id: dim1
12    label: Dimension 1
13    dtype: int
14    default: '1'
15    hide: ${ ('none' if (int(ndim) >= 1) else 'all') }
16-   id: dim2
17    label: Dimension 2
18    dtype: int
19    default: '4'
20    hide: ${ ('none' if (int(ndim) >= 2) else 'all') }
21-   id: max_list_size
22    label: Maximum List Size (L)
23    dtype: int
24-   id: block_size
25    label: Block size (N)
26    dtype: int
27-   id: num_info_bits
28    label: '#Info Bits (K)'
29    dtype: int
30-   id: frozen_bit_positions
31    label: Frozen Bit Positions
32    dtype: int_vector
33-   id: frozen_bit_values
34    label: Frozen Bit Values
35    dtype: int_vector
36value: ${ fec.polar_decoder_sc_list.make(max_list_size, block_size, num_info_bits,
37    frozen_bit_positions, frozen_bit_values) }
38
39templates:
40    imports: from gnuradio import fec
41    var_make: |-
42        % if int(ndim)==0:
43        self.${id} = ${id} = fec.polar_decoder_sc_list.make(${max_list_size},\
44        ${block_size}, ${num_info_bits}, ${frozen_bit_positions}, ${frozen_bit_values})\
45        % elif int(ndim)==1:
46        self.${id} = ${id} = list(map((lambda a: fec.polar_decoder_sc_list.make(${max_list_size},\
47        ${block_size}, ${num_info_bits}, ${frozen_bit_positions}, ${frozen_bit_values})),\
48        range(0, ${dim1})))
49        % else:
50        self.${id} = ${id} = list(map((lambda b: list(map((lambda \
51        a: fec.polar_decoder_sc_list.make(${max_list_size}, ${block_size}, ${num_info_bits},\
52        ${frozen_bit_positions}, ${frozen_bit_values})), range(0, ${dim2})))), range(0,\
53        ${dim1})))
54        % endif
55
56file_format: 1
57