PyGears重新排序位

问题描述

我想在将位发送到另一个模块之前对其重新排序。我想制作一个齿轮,它将采用2个输入像素和权重,称为reordered的输出应为:

reordered[0] = {pixel[0],weight[0]}
reordered[1] = {pixel[1],weight[1]}

以下是说明所需档位的图片

enter image description here

解决方法

我假设像素和权重都作为一个接口出现,因此我将其分组。该模块应如下所示:

@datagear 
def reorder( din: Queue[Tuple['pixel','weight']] ) -> Array[Queue[Tuple['pixel.data','weight.data']],3]: 
    pixel  = din.data[0] 
    weight = din.data[1] 

    return ( 
        ((pixel[0],weight[0]),din.eot),((pixel[1],weight[1]),((pixel[2],weight[2]),)

Datagear通常用于处理数据并对其重新排序。

但是请记住,如果Pixel和Weight是两个接口,则会生成用于这两个接口同步的附加逻辑。