mirror of
https://github.com/vale981/arb
synced 2025-03-04 17:01:40 -05:00
consistency passing G as input for char properties; fix is_real for q=1
This commit is contained in:
parent
1af0028bb2
commit
35f55ca1ff
3 changed files with 4 additions and 4 deletions
|
@ -27,7 +27,7 @@ acb_dirichlet_l_hurwitz(acb_t res, const acb_t s,
|
|||
deflate = 0;
|
||||
if (acb_is_one(s))
|
||||
{
|
||||
if (dirichlet_char_is_principal(chi))
|
||||
if (dirichlet_char_is_principal(G, chi))
|
||||
{
|
||||
acb_indeterminate(res);
|
||||
return;
|
||||
|
|
|
@ -133,7 +133,7 @@ ulong dirichlet_pairing(const dirichlet_group_t G, ulong m, ulong n);
|
|||
ulong dirichlet_pairing_char(const dirichlet_group_t G, const dirichlet_char_t a, const dirichlet_char_t b);
|
||||
|
||||
DIRICHLET_INLINE int
|
||||
dirichlet_char_is_principal(const dirichlet_char_t chi)
|
||||
dirichlet_char_is_principal(const dirichlet_group_t G, const dirichlet_char_t chi)
|
||||
{
|
||||
return (chi->n == 1);
|
||||
}
|
||||
|
@ -141,7 +141,7 @@ dirichlet_char_is_principal(const dirichlet_char_t chi)
|
|||
DIRICHLET_INLINE int
|
||||
dirichlet_char_is_real(const dirichlet_group_t G, const dirichlet_char_t chi)
|
||||
{
|
||||
return (nmod_mul(chi->n, chi->n, G->mod) == 1);
|
||||
return G->q <= 4 || (nmod_mul(chi->n, chi->n, G->mod) == 1);
|
||||
}
|
||||
|
||||
ulong dirichlet_chi(const dirichlet_group_t G, const dirichlet_char_t chi, ulong n);
|
||||
|
|
|
@ -216,7 +216,7 @@ level of *number* and *char* object. Both case require no discrete log computati
|
|||
|
||||
Returns the order of `\chi_q(a,\cdot)` which is the order of `a\bmod q`.
|
||||
|
||||
.. function:: int dirichlet_char_is_real(const dirichlet_char_t chi)
|
||||
.. function:: int dirichlet_char_is_real(const dirichlet_group_t G, const dirichlet_char_t chi)
|
||||
|
||||
Returns 1 if *chi* is a real character (iff it has order `\leq 2`).
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue