log ("SVSHAPE get_iterator", self.mode, self.ydimsz)
if self.mode == 0b00:
iterate_fn = iterate_indices
- elif self.mode == 0b01:
+ elif self.mode in [0b01, 0b11]:
# further sub-selection
if self.ydimsz == 1:
iterate_fn = iterate_butterfly_indices
iterate_fn = iterate_dct_inner_butterfly_indices
elif self.ydimsz == 3:
iterate_fn = iterate_dct_outer_butterfly_indices
- elif self.ydimsz == 5:
+ elif self.ydimsz in [5, 13]:
iterate_fn = iterate_dct_inner_costable_indices
- elif self.ydimsz == 6:
+ elif self.ydimsz in [6, 14, 15]:
iterate_fn = iterate_dct_inner_halfswap_loadstore
# create a **NEW** iterator each time this is called
return iterate_fn(deepcopy(self))