docstr: Generates a plaintext value from a set of random additive secret shares
  generated by each party
docstr_tok: ["Generates","a","plaintext","value","from","a","set","of","random","additive","secret","shares","generated","by","each","party"]
code: def _get_additive_PRSS(self, size, remove_rank=False):
      """
      Generates a plaintext value from a set of random additive secret shares
      generated by each party
      """
      gens = self._get_generators(device=self.device)
      if remove_rank:
          gens = gens[1:]
      result = None
      for idx, g in enumerate(gens):
          elem = generate_random_ring_element(
              size, generator=g, device=g.device
          )
          result = elem if idx == 0 else result + elem
      return result
  
imports: import logging
  import crypten
  import crypten.communicator
  import torch
  import torch.distributed
  from crypten.common.rng import generate_kbit_random_tensor, generate_random_ring_element
  from crypten.common.util import count_wraps
  from crypten.mpc.primitives import ArithmeticSharedTensor, BinarySharedTensor
  from .provider import TupleProvider
label_desc: Use image node_id 4 for calling the TTPServer obj's underlying member method code with example usage: obj._get_additive_PRSS(size, remove_rank) and returns: result