我想评估大型笛卡尔积的谓词,并收集通过的结果。我有两个矩阵(当前表示为Vec<Vec<f64>>
,但我愿意接受建议)和一个f64
s的向量,因此我要对所有可能组合进行评估的谓词需要两个Vec<f64>
s和f64
作为输入。例如,结果将是Vec
个传递索引三元组。
到目前为止,我已经查看了以下选项:
cartesian_product
在笛卡尔乘积上创建顺序迭代器(至少对于两个向量),然后使用Rayon的par_bridge
将其转换为并行的迭代器。由于不满足Sized
特质约束,所以我无法完成这项工作。 struct
创建一个并行迭代器,该迭代器包含必要的限制和步长,并将索引三元组作为关联项。我没有完全遵循这一点,因为我认为为自己的结构实现IntoParallelIter
太困难了。任何建议都值得赞赏。如果进一步的阐述或代码示例有帮助,我也可以提供。谢谢!