Skip to content

Instantly share code, notes, and snippets.

View Wolvereness's full-sized avatar

Wesley Wolfe Wolvereness

View GitHub Profile
use std::cell::Cell;
#[derive(Default)]
struct Wrapper(Cell<usize>);
impl Wrapper {
fn increment_and_get(&self) -> usize {
let &Wrapper(ref cell) = self;
cell.replace(cell.get() + 1)
}
@Wolvereness
Wolvereness / gist:e5c9ae395aae872621934e6f7c669d4c
Created February 4, 2018 06:24
Factorio Circuit Production
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
Inputs (blue constant-combinators)
Gear - ticks per division
Pin - Dead Ticks Between Divisions
CrossedArrows - Channel Count (the needed value is actually 1-higher, hence the constant combinator too)
0eNrtXdtu4zgS/ZWGgHnZtTPinQww87Azn7Bvi0ag2EoitG+Q5WQbjfz7SnYuji5kVUmdbNB8GXQyDkXyVBVPVR3RP5Lr1SHflcWmSi5/JMViu9knl//5keyL2022an5Xfd/lyWVSVPk6mSWbbN38lJVFdbfOq2IxX2zX18Umq7Zl8jhLis0y/29yyR5nwTGW+aJY5mX/APzx6yzJN1VRFflpRscfvl9tDuvrvKyf8DJOM+cq21TnA82S3XZf/+120zy+Hm8uL9Qs+V7/g6kLVT9nWZT54vQBOWvGqMrt6uo6v8vui3qA+q9uilWVlwPbcV+U1aH+zcss9vl8k93Ps7LcPuzni3K73zfLWWwPzdays535evz1ZnN6/L4ZlDX/uS3zfHO+1GJ53IfHx2YzW8vnZ8tf77Jv1aIoF4eimtdI5mU916unR/RuhmptBng67Gwqzc+i9XOzlaeJPH28nn0907y4vbveHo6b6WbcfO1ZkRhe0e5QeRchnxcxEsNv5fw2z8qrhzPkeEqH7u3esPS0G1V2e/zLZX6THVbV1X1Wu+DpQavsOq9nmPy7WHzbf9nl5ZdlcV/sm0XPknWxORrS8zqe5z8//eL319nPnlZYf/g4+PHxSs+Sh2JZ3SWXOu0zKRnw7i4C7M3+n3kU70fjddzGOpfFyybeFOW+ukICtM+bQa7Irrmt9zc7zTf5R/3p7aGqDQ0xi+ukcc0RBqG63jJL+LDziR7v6gFSBWNDsd1tm5DfgTTt+lRnbWW+bM9MN9G6d866JwLomVBfX/3gybtE42eNp19W5SF/9YXGmmt3qJfL