2个不稳定版本
使用旧的Rust 2015
0.1.0 | 2018年8月26日 |
---|---|
0.0.7 | 2018年8月11日 |
#1220 in 数学
42KB
891 行
rlife
一个用Rust编写的生命库。
它是一个旨在操作生命细胞自动机网格的库。目前它支持
- 环形和可调整大小的网格
- 加载和保存包含网格数据的文件
- 前进网格的世代(如果是可调整大小的网格,它将确保模式始终位于网格中心)
这个库的目标
- 支持网格操作的分发和并行计算(GPU和网络)。
- 使用机器学习进行模式分析。
关于使用的文件格式
目前,rlife使用两种内部文件格式:可调整大小的生命和环形生命。
可调整大小的生命
此文件格式类似于Life 1.06格式
- "#可调整大小的生命"之后是可选的描述行,以"#D"开头。忽略前导和尾随空格。
- 接下来是一个可选的规则指定。这里的模式使用"#N"指定符强制执行"正常"康威规则。替代规则使用"#R"("#N"与"#R 23/3"完全相同)。规则以生存/出生编码,每个列表都是一个表示邻居计数的数字字符串。由于在康威式规则中恰好有八个可能的邻居,因此不需要分隔数字,两个列表中都不允许出现"9"。
- 最后是一个包含活动细胞的(x y)坐标列表。
环形生命
此文件格式类似于Life 1.06格式
- "#环形生命"之后是可选的描述行,以"#D"开头。忽略前导和尾随空格。
- 接下来是一个可选的规则指定。这里的模式使用"#N"指定符强制执行"正常"康威规则。替代规则使用"#R"("#N"与"#R 23/3"完全相同)。规则以生存/出生编码,每个列表都是一个表示邻居计数的数字字符串。由于在康威式规则中恰好有八个可能的邻居,因此不需要分隔数字,两个列表中都不允许出现"9"。
- 接下来有一行像这样"#S ",定义网格的大小。
- 最后是一个包含活动细胞的(x y)坐标列表。
依赖关系
~385KB