bridge/class-master/depend/pari/src/basemath/mftrace.c
/* we known that F is not dihedral */
we known that F is not dihedral
we known that F is not dihedral
static long
mfgaloistype_i(long N, GEN CHI, GEN F, GEN v)
{
  forprime_t iter;
  long lim = lg(v)-2;
  GEN w = zero_zv(lim);
  pari_sp av;
  ulong p;
  u_forprime_init(&iter, 2, lim);
  av = avma;
  while((p = u_forprime_next(&iter)))
  {
    GEN u;
    long n;
    if (!(N%p)) continue;
    u = gel(v, p+1); if (gequal0(u)) continue;
    u = gdiv(gsqr(u), mfchareval_i(CHI, p));
    n = mffindrootof1(gsubgs(u,2));
    if (n == 3) w[p] = 1;
    if (n == 4) return -24; 
    if (n == 5) return -60; 
    if (n > 5) pari_err_DOMAIN("mfgaloistype", "form", "not a",
                               strtoGENstr("cuspidal eigenform"), F);
    avma = av;
  }
  if (mfisnotS4(N,w) && mfisnotA5(F)) return -12; 
  return 0; 
}
static long mfgaloistype_i ( long N , GEN CHI , GEN F , GEN v ) { forprime_t iter ; long lim = lg ( v ) - 2 ; GEN w = zero_zv ( lim ) ; pari_sp av ; ulong p ; u_forprime_init ( & iter , 2 , lim ) ; av = avma ; while ( ( p = u_forprime_next ( & iter ) ) ) { GEN u ; long n ; if ( ! ( N % p ) ) continue ; u = gel ( v , p + 1 ) ; if ( gequal0 ( u ) ) continue ; u = gdiv ( gsqr ( u ) , mfchareval_i ( CHI , p ) ) ; n = mffindrootof1 ( gsubgs ( u , 2 ) ) ; if ( n == 3 ) w [ p ] = 1 ; if ( n == 4 ) return -24 ; if ( n == 5 ) return -60 ; if ( n > 5 ) pari_err_DOMAIN ( " " , " " , " " , strtoGENstr ( " " ) , F ) ; avma = av ; } if ( mfisnotS4 ( N , w ) && mfisnotA5 ( F ) ) return -12 ; return 0 ; }
we known that F is not dihedral
we known that F is not dihedral
/* S4 */ /* A5 */ /* A4 */ /* FAILURE */