test_cryptocontext.py 1.0 KB

12345678910111213141516171819202122232425262728
  1. import pytest
  2. import openfhe as fhe
  3. @pytest.mark.skipif(fhe.get_native_int() != 128, reason="Only for NATIVE_INT=128")
  4. @pytest.mark.parametrize("scaling", [fhe.FIXEDAUTO, fhe.FIXEDMANUAL])
  5. def test_ckks_context_nativeint128(scaling):
  6. batch_size = 8
  7. parameters = fhe.CCParamsCKKSRNS()
  8. parameters.SetMultiplicativeDepth(5)
  9. parameters.SetScalingModSize(78)
  10. parameters.SetBatchSize(batch_size)
  11. parameters.SetScalingTechnique(scaling)
  12. parameters.SetNumLargeDigits(2)
  13. cc = fhe.GenCryptoContext(parameters)
  14. assert isinstance(cc, fhe.CryptoContext)
  15. @pytest.mark.parametrize("scaling", [fhe.FIXEDAUTO, fhe.FIXEDMANUAL])
  16. def test_ckks_context(scaling):
  17. batch_size = 8
  18. parameters = fhe.CCParamsCKKSRNS()
  19. parameters.SetMultiplicativeDepth(5)
  20. parameters.SetScalingModSize(60-1)
  21. parameters.SetBatchSize(batch_size)
  22. parameters.SetScalingTechnique(scaling)
  23. parameters.SetNumLargeDigits(2)
  24. cc = fhe.GenCryptoContext(parameters)
  25. assert isinstance(cc, fhe.CryptoContext)