gpt4 book ai didi

Haskell 循环向量

转载 作者:行者123 更新时间:2023-12-04 22:30:01 26 4
gpt4 key购买 nike

是否有 Data.List 的 cycle 的矢量替代品?

Data.Vector 文档有一个标题为 Recycling support 的部分,这听起来像是我想要的,但函数 newclone 显然没有做 cycle 所做的。

我正在考虑的解决方案只是重复索引向量(一个计数器模向量的长度)。

我需要做的一个例子是,我需要一个无限的随机洗牌网格列表,但网格很大,因此在内存中保留数百万个网格并不理想。我意识到随机循环是否相对较小并不重要,因此我生成了一个只有几百个网格的列表,然后使用 Data.List.cycle 给出了无限长度的错觉。我现在将网格的 list 转换为网格的 Vector 并且不能再使用 cycle

最佳答案

不。 Vector 包中现有的 Vector 至少分配了脊椎,因此没有无限内存就不能拥有 Vector.cycle

例如, Data.Vector 使用 Data.Primitive.Array

由于矢量包的内部结构(例如 Data.Vector.Generic.* )允许您以灵活的方式定义其他类型的矢量,您可以制作一个矢量类型,该矢量类型以长度为模计算索引以提供循环行为(并包括用于 drop 的偏移量)。所以 build 是可以想象的,只是没有完成。

关于Haskell 循环向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31843006/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com