vyre 0.4.0

GPU compute intermediate representation with a standard operation library
Documentation
fn vyre_rotr64(x: u64, n: u32) -> u64 {
  return (x >> n) | (x << ((64u - n) & 63u));
}

fn vyre_sha512_ch(x: u64, y: u64, z: u64) -> u64 {
  return (x & y) ^ ((~x) & z);
}

fn vyre_sha512_maj(x: u64, y: u64, z: u64) -> u64 {
  return (x & y) ^ (x & z) ^ (y & z);
}

fn vyre_sha512_big0(x: u64) -> u64 {
  return vyre_rotr64(x, 28u) ^ vyre_rotr64(x, 34u) ^ vyre_rotr64(x, 39u);
}

fn vyre_sha512_big1(x: u64) -> u64 {
  return vyre_rotr64(x, 14u) ^ vyre_rotr64(x, 18u) ^ vyre_rotr64(x, 41u);
}