Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scheme::exp2piAndEqual #35

Open
gamma-2017 opened this issue Jan 28, 2020 · 2 comments
Open

Scheme::exp2piAndEqual #35

gamma-2017 opened this issue Jan 28, 2020 · 2 comments

Comments

@gamma-2017
Copy link

Why does Scheme::exp2piAndEqual not use logp=cipher.logp ?

@gamma-2017
Copy link
Author

In void Scheme::evalExpAndEqual, I replaced the line

	reScaleByAndEqual(c2, logT + 1); // c2 bitDown: logT + 1

with

	divByPo2AndEqual(c2, logT + 1); // c2 bitDown: logT + 1 // MN: Modified

Then Scheme::exp2piAndEqual is not called with logp != cipher.logp in case logSlots=logNh.

Is that a bug?

@KyoohyungHan
Copy link
Contributor

First, exp2piAndEqual function is used in "bootstrapping" process.
And during bootstrapping scaling factor is change temporary, so we do not use logp = cipher.logp.

About the second question, divByPo2AndEqual and reScaleByAndEqual are different algorithms.
For example, divByPo2AndEqual does not change cipher.logp but reScaleByAndEqual changes it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants