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

Remove RecInt::rmint #78

Open
Breush opened this issue Sep 6, 2018 · 2 comments
Open

Remove RecInt::rmint #78

Breush opened this issue Sep 6, 2018 · 2 comments

Comments

@Breush
Copy link
Contributor

Breush commented Sep 6, 2018

Rationale is that:

  • Basically, rmint<K> is a Modular<ruint<K>,ruint<K+1>>, and should behave similarly (if they don't, we should specilized the Modular one);
  • There are two variants rmint<K, MG_INACTIVE> and rmint<K, MG_ACTIVE> that have underlying montgomery variant active or not. The second one should be equal to Montgomery<ruint<K>>, with specialization if needed for performances;
  • rmint<K> are storing modules as static static ruint<K> p which means that you cannot have two rmints with different modules at the same time (!);
  • rmint are breaking the current design of Givaro by having no Field class.
@ClementPernet
Copy link
Member

I think the last 2 points are strong enough to motivate this change. I kind of remember discussing this with @jgdumas who had a good argument for the existence of this design. Let's wait for his feedback.

@jgdumas
Copy link
Member

jgdumas commented Dec 12, 2018

rmint could be replaced by StaticElement<Modular<ruint>>, so seems good to go.

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

No branches or pull requests

3 participants