def test_private_xor(workers): bob, alice, james = (workers["bob"], workers["alice"], workers["james"]) x = torch.tensor([0]).share(bob, alice, james, protocol="falcon", field=2) y = torch.tensor([1]).share(bob, alice, james, protocol="falcon", field=2) assert (FalconHelper.xor(x, y).reconstruct() == torch.tensor(1)).all() assert (FalconHelper.xor(x, x).reconstruct() == torch.tensor(0)).all() assert (FalconHelper.xor(y, y).reconstruct() == torch.tensor(0)).all() assert (FalconHelper.xor(y, x).reconstruct() == torch.tensor(1)).all()
def test_private_xor(x_val, y_val, x_xor_y, workers): bob, alice, james = (workers["bob"], workers["alice"], workers["james"]) x = x_val.share(bob, alice, james, protocol="falcon", field=2) y = y_val.share(bob, alice, james, protocol="falcon", field=2) assert (FalconHelper.xor(x, y).reconstruct() == x_xor_y).all()