lysogeny-broth

Crates.iolysogeny-broth
lib.rslysogeny-broth
version1.2.0
sourcesrc
created_at2021-01-20 17:35:21.222684
updated_at2023-10-21 16:52:54.09812
descriptionSubstrate for cellular automata in Rust.
homepage
repositoryhttps://github.com/tpltnt/lysogeny-broth
max_upload_size
id344489
size60,855
tpltnt (tpltnt)

documentation

https://docs.rs/lysogeny-broth/

README

dependency status

Substrate for cellular automata in Rust. Named after the LB medium used in mircobiology. Also look into Angelina Fanny Hesse ;) The underlying grid is of toroidal shape, i.e. the coordinate values/neighbours wrap around. This code is dual-licensed under the MIT/Apache 2.0 licenses.

examples

  • retrieve value as grid: cargo run --example retrieval
  • implementation of rule 30: cargo run --example rule30
  • save grid states as JSON: cargo run --example json

features

dead-alive-only

Enable utility functions for binary (only) cell state.

dead-alive-into-bool

Allow dead/alive cell to be converted into boolean values.

dead-alive-u8-utils

Group 8 binary cell states into an octet for nicer processing and i/o.

versions / changes

upcoming

1.2

  • documentation extended
  • minor code cleaning
  • rule30 example minimised
  • fixed signature of cs8_into_u8() to be internally compatible
  • added u8_into_cs8 utility function
  • grouped CellState / u8 conversions under feature "dead-alive-u8-utils"
    • dropped feature "dead-alive-into-group-u8"
  • added JSON example
  • implemented next() as iterator
  • implemented next_byte() for easier byte conversion

1.1

  • binary cell states are explicit feature now: "dead-alive-only"
  • optional conversion of binary cell states into boolean value as feature: "dead-alive-into-bool"
  • convert eight cellstates into an u8 (octet) via feature: "dead-alive-into-group-u8"

1.0

  • grid works (setting & retrieving cell states)

  • universe implemented (rules via function pointer)

  • tests

  • examples

  • documentation

links

Commit count: 105

cargo fmt