code: def _add_scalar(self, scalar):
          
          encoded = EncodedNumber.encode(self.public_key, scalar,
                                         max_exponent=self.exponent)
  
          return self._add_encoded(encoded)
docs: Returns E(a + b), given self=E(a) and b.
  
          Args:
            scalar: an int or float b, to be added to `self`.
  
          Returns:
            EncryptedNumber: E(a + b), calculated by encrypting b and
              taking the product of E(a) and E(b) modulo
              :attr:`~PaillierPublicKey.n` ** 2.
  
          Raises:
            ValueError: if scalar is out of range or precision.