For Iterator subsystem:
重点在于这个模块,设置迭代次数/ 0 based 还是1 based
输入一个数组,依次判断是否大于等于0,大于等于0 输出1,小于0输出0
0次迭代-经过selector 模块选择数组第0位,判断是否大于0,填入Y0 初始数组的第0位
1次迭代-经过selector 模块选择数组第1位,判断是否大于0,填入Y0 初始数组的第1位
....... 直至5次迭代结束,输出1*5 array
而如果使用
For Each subsystem
重点在于For Each 这个模块,设置partition width 决定 该输入In1 按照多少的宽度进行分割,下图设置1,则将In1 输入的这个数组按照one element by one 的输入计算
输入是个1*5 数组。每次取一个元素进行判断大小。结果输出1*5数组
下面是一个略多输入的例子
For Each subsystem:
注意这里的partition width 必须保证 两个输入按各自的宽度分割后,计算的次数保持一致
此处1*30的数组,分割width为6 那么计算5次
1*20的数组,分割width为4,也迭代5次,保证了计算次数一样
For Iteration subsystem:
同样迭代次数共5次
那么就需要每次迭代调整selector 模块的起始位Index 和 步长大小 output size
1*30的数组,0based 迭代次数*6得到 Index,且每次大小output size 为6,则分成如下组
012345 | 67891011| 121314151617| 181920212223| 242526272829
1*20的数组,0based 迭代次数*4得到 Index,且每次大小output size 为4,则分成如下组
0123 | 4567 | 891011 | 12131415 | 16171819
保证两组数组迭代次数相同且能完成除尽、
注意此处的selector 模块和 assigment 模块