lysogeny-broth 1.2.0

Substrate for cellular automata in Rust.
Documentation
[![dependency status](https://deps.rs/repo/github/tpltnt/lysogeny-broth/status.svg)](https://deps.rs/repo/github/tpltnt/lysogeny-broth)

Substrate for cellular automata in Rust.
Named after the [LB medium](https://en.wikipedia.org/wiki/Lysogeny_broth)
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
* [crate documentation]https://docs.rs/lysogeny-broth/
* [wikipedia: cellular automaton]https://en.wikipedia.org/wiki/Cellular_automaton
* [Wolfram Atlas - various types of one-dimensional cellular automata]http://atlas.wolfram.com/TOC/TOC_200.html
* [MathWorld: Rule 30]https://mathworld.wolfram.com/Rule30.html
* [ca-rules]https://crates.io/crates/ca-rules ... a possible compagnion crate
* [JSON]https://www.json.org/json-en.html