im_ternary_tree 0.0.20

Structural sharing ternary tree, i.e. immutable data structure
Documentation
1
2
3
4
5
6
7
8
9
10
11
pub(crate) fn divide_ternary_sizes(size: usize) -> (usize, usize, usize) {
  let group_size = size / 3;
  let extra = size - group_size * 3;

  (group_size, group_size + extra, group_size)
}

pub(crate) fn triple_size(t: u8) -> usize {
  let n: usize = 3;
  n.pow(t as u32)
}