robopoker 0.1.1

Implementations of Meta's Pluribus No-Limit Texas Hold-Em solution.
Documentation
use crate::clustering::abstraction::Abstraction;

/// A unique identifier for a pair of abstractions.
#[derive(Copy, Clone, Hash, Eq, PartialEq, PartialOrd, Ord, Debug)]
pub struct Pair(u64);
impl From<(&Abstraction, &Abstraction)> for Pair {
    fn from((a, b): (&Abstraction, &Abstraction)) -> Self {
        Self(u64::from(*a) ^ u64::from(*b))
    }
}
impl From<Pair> for i64 {
    fn from(pair: Pair) -> Self {
        pair.0 as i64
    }
}
impl From<i64> for Pair {
    fn from(i: i64) -> Self {
        Self(i as u64)
    }
}