1use bincode::Result as BinResult;
2use psyche_core::brain::{Brain, BrainActivityMap};
3use psyche_core::brain_builder::BrainBuilder;
4use psyche_core::config::Config;
5use psyche_core::offspring_builder::OffspringBuilder;
6
7#[inline]
8pub fn brain_to_bytes(brain: &Brain) -> BinResult<Vec<u8>> {
9 bincode::serialize(brain)
10}
11
12#[inline]
13pub fn brain_from_bytes(bytes: &[u8]) -> BinResult<Brain> {
14 bincode::deserialize(bytes)
15}
16
17#[inline]
18pub fn brain_activity_map_to_bytes(bam: &BrainActivityMap) -> BinResult<Vec<u8>> {
19 bincode::serialize(bam)
20}
21
22#[inline]
23pub fn brain_activity_map_from_bytes(bytes: &[u8]) -> BinResult<BrainActivityMap> {
24 bincode::deserialize(bytes)
25}
26
27#[inline]
28pub fn config_to_bytes(config: &Config) -> BinResult<Vec<u8>> {
29 bincode::serialize(config)
30}
31
32#[inline]
33pub fn config_from_bytes(bytes: &[u8]) -> BinResult<Config> {
34 bincode::deserialize(bytes)
35}
36
37#[inline]
38pub fn brain_builder_to_bytes(brain_builder: &BrainBuilder) -> BinResult<Vec<u8>> {
39 bincode::serialize(brain_builder)
40}
41
42#[inline]
43pub fn brain_builder_from_bytes(bytes: &[u8]) -> BinResult<BrainBuilder> {
44 bincode::deserialize(bytes)
45}
46
47#[inline]
48pub fn offspring_builder_to_bytes(offspring_builder: &OffspringBuilder) -> BinResult<Vec<u8>> {
49 bincode::serialize(offspring_builder)
50}
51
52#[inline]
53pub fn offspring_builder_from_bytes(bytes: &[u8]) -> BinResult<OffspringBuilder> {
54 bincode::deserialize(bytes)
55}