File tree Expand file tree Collapse file tree 1 file changed +18
-1
lines changed
Expand file tree Collapse file tree 1 file changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -1996,7 +1996,12 @@ def _san(self, other):
19961996 return self ._v
19971997
19981998 def _div_san (self ):
1999- return self ._v .conv ((library .get_player_id () == self .player )._v ).if_else (self ._v , 1 )
1999+ return self ._op_san (1 )
2000+
2001+ def _op_san (self , default = 0 ):
2002+ return self ._v .conv (
2003+ (library .get_player_id () == self .player )._v ).if_else (
2004+ self ._v , default )
20002005
20012006 def __setitem__ (self , index , value ):
20022007 self ._san (value )
@@ -5920,6 +5925,18 @@ def reveal_to_clients(self, clients):
59205925 """
59215926 self .value_type .reveal_to_clients (clients , [self .get_vector ()])
59225927
5928+ def reveal_to_socket_by_party (self , client_id , n_parties = None ):
5929+ """ Reveal i-th part to a specific client socket on party i.
5930+
5931+ :param client_id: regint
5932+ :param n_parties: number of parties (default: first dimension length)
5933+
5934+ """
5935+ n_parties = n_parties or len (self )
5936+ tmp = sum (self .get_part_vector (base = i , size = 1 ).reveal_to (i )._op_san ()
5937+ for i in range (n_parties ))
5938+ tmp .write_to_socket (client_id , tmp )
5939+
59235940class Array (_vectorizable ):
59245941 """
59255942 Array accessible by public index. That is, ``a[i]`` works for an
You can’t perform that action at this time.
0 commit comments