1 个不稳定版本
0.1.0 | 2020 年 8 月 25 日 |
---|
#9 in #turing
7KB
64 行
Cythan v3
Cythan 是一个抽象机器,它的设计比图灵机更简单。这是 Cythan 的 Rust 实现。
为什么选择 Rust ?
- 惊人的性能
- 低内存占用
- 优秀的生态系统
- 并发处理
- 内存安全
- WASM 可编译
如何在项目中使用 Cythan
Cargo.toml
[dependencies]
cythan = "*"
示例
let mut cythan = Cythan::new(vec![12,78,15,21,20]);
for _ in 0..20 {
cythan.next();
}
println!("{}",cythan);
发现了一个错误,想要贡献或有一个想法?
前往问题区域并提交问题或修复一个!
lib.rs
:
- Cythan 机器仿真库。
- Cythan 机器是一种数学上的图灵完备计算机。
- 机器由一个向量组成。向量的每个值都是一个正整数,"指向"另一个值。
-
对于机器的每次迭代
-
- 第一种情况(指针),增加 2。
-
- 在增加之前,第一种情况指向的 2 个情况将被"执行"。在执行的一对情况中,索引为第二个值的那个情况被设置为索引为第一个值的情况的值
- 例如,
1,5,3,0,0,999
将将第 5 个情况(999)的内容复制到第 3 个情况中。一次迭代后的结果将是3,5,3,999,0,999
-
示例
-
- use cythan::Cythan;
- let mut cythan = Cythan::new( vec![1,9,5,10,1,0,0,11,0,1,20,21] );
- println!("Cythan start:{:?}",cythan);
- for a in 0..10 {
- cythan.next();
- println!("Cythan iteration {}:{:?}",a,cythan)
- }
-