aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/block.rs19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/block.rs b/src/block.rs
index 28ef0b3..8bf8647 100644
--- a/src/block.rs
+++ b/src/block.rs
@@ -81,7 +81,24 @@ impl From<u128> for Block {
impl BitXor<Block> for Block {
type Output = Block;
fn bitxor(self, rhs: Block) -> Block {
- Block::from(self.to_int() ^ rhs.to_int())
+ Block([
+ self.0[0] ^ rhs.0[0],
+ self.0[1] ^ rhs.0[1],
+ self.0[2] ^ rhs.0[2],
+ self.0[3] ^ rhs.0[3],
+ self.0[4] ^ rhs.0[4],
+ self.0[5] ^ rhs.0[5],
+ self.0[6] ^ rhs.0[6],
+ self.0[7] ^ rhs.0[7],
+ self.0[8] ^ rhs.0[8],
+ self.0[9] ^ rhs.0[9],
+ self.0[10] ^ rhs.0[10],
+ self.0[11] ^ rhs.0[11],
+ self.0[12] ^ rhs.0[12],
+ self.0[13] ^ rhs.0[13],
+ self.0[14] ^ rhs.0[14],
+ self.0[15] ^ rhs.0[15],
+ ])
}
}