I'm using this parameter setting:
parms.set_poly_modulus("1x^2048 + 1"); // n = 2048
parms.set_coeff_modulus(coeff_modulus_128(2048)); // q = 54-bit prime
parms.set_plain_modulus(1 << 8); // t = 256
With this encoder FractionalEncoder encoder(context.plain_modulus(), context.poly_modulus(), A, B, C);
using A=512, B=128
and C=2
If I understood correctly then the setting of A and B depend on the size of n which means that A + B <= 2048 must hold, correct?
What is the general rule when deciding the size of A and B using the poly_modulus, coeff_modulis and plain_modulus setting above? Since choosing to small values don't use the full potential of the Plaintext size. My guess is that A should be increased because B is only for the precision of the fractional part.