About the Float Usage


I’m interested in the float constraint (floats cannot be used as input/output, only in intermediate state). Do you plan on eventually removing the constraint, or is it here to stay, because I have looked at concrete lib, and you can use floats. Additional question is how soon will it be possible to perform operations with encrypted constants, dot with both encrypted variables, etc.?

Thank you, great work you’re doing!


Hello @cutukmirza,

You are right in current concrete lib we are “supporting” floats (note the quote here). It is because the current concrete library is still using the approximate paradigm. Long story short users have to find an encoding and cryptographic parameters such that homomorphic operations applied on the encrypted message do not completely corrupts the result.

It was a hard task for a user and the reason why we switch to the exact paradigm: as long as the user stick to a particular precision for his input variables, the correctness of his result is guaranteed. And that is the reason why you are asked for a precision in concrete-numpy (and soon in the next release of concrete 0.2 that will also switch to the exact paradigm).

Back to your question of supporting float, we have plans to support floats (both in concrete library and in concrete-numpy), it will come just after supporting larger integers, and we plan to have it in our products around the end of the year.


Hi @alex,

Thank you for your reply. Keep up the good work!

1 Like