vyre 0.4.0

GPU compute intermediate representation with a standard operation library
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
fn vyre_md5_f(round: u32, b: u32, c: u32, d: u32) -> u32 {
  if (round < 16u) { return (b & c) | ((~b) & d); }
  if (round < 32u) { return (d & b) | ((~d) & c); }
  if (round < 48u) { return b ^ c ^ d; }
  return c ^ (b | (~d));
}

fn vyre_md5_g(round: u32) -> u32 {
  if (round < 16u) { return round; }
  if (round < 32u) { return (5u * round + 1u) & 15u; }
  if (round < 48u) { return (3u * round + 5u) & 15u; }
  return (7u * round) & 15u;
}