Skip to content
This repository has been archived by the owner on Jan 30, 2023. It is now read-only.

Commit

Permalink
Normalize interface for finite field construction
Browse files Browse the repository at this point in the history
This will likely break callers in other places. However, this is not a public
interface so it should be fine to just fix those.
  • Loading branch information
saraedum committed Dec 13, 2016
1 parent 7bb1bf3 commit 5520362
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 10 deletions.
6 changes: 3 additions & 3 deletions src/sage/rings/finite_rings/finite_field_ntl_gf2e.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ class FiniteField_ntl_gf2e(FiniteField):
- ``q`` -- `2^n` (must be 2 power)
- ``names`` -- variable used for poly_repr (default: ``'a'``)
- ``name`` -- variable used for poly_repr (default: ``'a'``)
- ``modulus`` -- A minimal polynomial to use for reduction.
Expand Down Expand Up @@ -107,7 +107,7 @@ class FiniteField_ntl_gf2e(FiniteField):
True
"""

def __init__(self, q, names="a", modulus=None, repr="poly"):
def __init__(self, q, name="a", modulus=None, repr="poly"):
"""
Initialize ``self``.
Expand Down Expand Up @@ -145,7 +145,7 @@ def __init__(self, q, names="a", modulus=None, repr="poly"):
k = q.exact_log(2)
if q != 1 << k:
raise ValueError("q must be a 2-power")
FiniteField.__init__(self, GF2, names, normalize=True)
FiniteField.__init__(self, GF2, name, normalize=True)

self._kwargs = {'repr':repr}

Expand Down
8 changes: 4 additions & 4 deletions src/sage/rings/finite_rings/finite_field_pari_ffelt.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,11 +98,10 @@ class FiniteField_pari_ffelt(FiniteField):
sage: loads(K.dumps()) == K
True
"""
def __init__(self, p, modulus, name=None):
def __init__(self, q, modulus, name=None):
"""
Create a finite field of characteristic `p` defined by the
polynomial ``modulus``, with distinguished generator called
``name``.
Create a finite field of ``q`` elements defined by the polynomial
``modulus``, with distinguished generator called ``name``.
EXAMPLE::
Expand All @@ -115,6 +114,7 @@ def __init__(self, p, modulus, name=None):
if n < 2:
raise ValueError("the degree must be at least 2")

p, n = q.is_prime_power(get_data=True)
FiniteField.__init__(self, base=GF(p), names=name, normalize=True)

self._modulus = modulus
Expand Down
6 changes: 3 additions & 3 deletions src/sage/rings/finite_rings/residue_field.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -486,11 +486,11 @@ class ResidueField_generic(Field):
"""
self.p = ideal
FFclass = self._finite_field_class()
if modulus is None:
if k == 1:
# prime field
FFclass.__init__(self, p, name)
FFclass.__init__(self, p=p, modulus=modulus)
else:
FFclass.__init__(self, p**k, name, modulus)
FFclass.__init__(self, q=p**k, name=name, modulus=modulus)

def _repr_(self):
"""
Expand Down

0 comments on commit 5520362

Please sign in to comment.