流压缩算法中的最终排他扫描值应该如何处理?
这是挑选所有“A”字符的示例。
序列A:
Input: A B B A A B B A
Selection: 1 0 0 1 1 0 0 1
Scan: 0 1 1 1 2 3 3 3
0 - A
1 - A
2 - A
3 - A
序列 B(除最后一个值外相同):
Input: A B B A A B B B
Selection: 1 0 0 1 1 0 0 0
Scan: 0 1 1 1 2 3 3 3
0 - A
1 - A
2 - A
3 - B
显然,第二个示例基于对写入这些地址的扫描值进行简单循环,给出了错误的最终结果。
我在这里想念什么?
更新:
据我了解扫描算法,我将执行以下等效操作:
for (int i = 0; i < scan.length(); i++)
{
result[scan[i]] = input[i];
}
同时,这将涉及分散指令。