arrav: 无堆分配的类 Vec 数组结构
#rust
东半球最强Rust大神Jonhoo开发的库,代码量不多,是Const Generic特性的一个应用。
pub const fn new() -> Self {
Arrav {
ts: [T::SENTINEL; N],
}
}
采用类似的结构,为基本的数字类型都实现了Sentinel trait,所以基本数字类型都有一个默认的T::SENTINEL。
arrav里数组长度是依赖于T::SENTINEL来判断的,所以也对它做了SIMD优化,代码值得一读。此结构适合小型紧凑的数据。
std::slice::fill
#rust
std::slice::file将会加入到下一个nightly版本中,这是从c++20借鉴过来的一个API,JavaScript也有这样的API Array.prototype.fill。
let mut buf = Vec![0; 10];
buf.fill(1);
assert_eq!(buf, vec![1; 10]);
康威生命游戏GameBoy Advance实现
#rust #gamedev
康威生命游戏是英国数学家约翰·何顿·康威在1970年发明的细胞自动机,每个格子代表一个细胞的状态,一个细胞的当前状态由它相邻的8个细胞的上个状态决定,这个游戏也是Rust WebAssembly教程的例子,@bokuweb在Gameboy Advance设备上实现了这个游戏。
gfx-hal介绍第一部分-画三角形
#rust #webgl
这篇文章是rust图形编程教程系列的第一篇,使用的是gfx-hal这个库,介绍了通过这个库使用Rust实现一个webgl三角形。
State Machine在Rust上的现状
#rust
本文介绍了什么是状态机,以及它在Rust中的现状和未来发展的方向。
From 日报小组 格朗
日报订阅地址:
评论区
写评论还没有评论