bridge/class-master/depend/pari/src/basemath/char.c
/* m a Conrey log [on the canonical primitive roots], cycg the primitive
 * roots orders */
m a Conrey log [on the canonical primitive roots], cycg the primitive
roots orders
m a Conrey log [ on the canonical primitive roots ] cycg the primitive roots orders
GEN
znconreylog_normalize(GEN G, GEN m)
{
  GEN cycg = znstar_get_conreycyc(G);
  long i, l;
  GEN d, M = cgetg_copy(m, &l);
  if (typ(cycg) != t_VEC || lg(cycg) != l)
    pari_err_TYPE("znconreylog_normalize",mkvec2(m,cycg));
  for (i = 1; i < l; i++) gel(M,i) = gdiv(gel(m,i), gel(cycg,i));
  M = Q_remove_denom(M, &d);
  return mkvec2(d? d: gen_1, M);
}
GEN znconreylog_normalize ( GEN G , GEN m ) { GEN cycg = znstar_get_conreycyc ( G ) ; long i , l ; GEN d , M = cgetg_copy ( m , & l ) ; if ( typ ( cycg ) != t_VEC || lg ( cycg ) != l ) pari_err_TYPE ( " " , mkvec2 ( m , cycg ) ) ; for ( i = 1 ; i < l ; i ++ ) gel ( M , i ) = gdiv ( gel ( m , i ) , gel ( cycg , i ) ) ; M = Q_remove_denom ( M , & d ) ; return mkvec2 ( d ? d : gen_1 , M ) ; }
m a Conrey log [on the canonical primitive roots], cycg the primitive
 roots orders
m a Conrey log [ on the canonical primitive roots ] cycg the primitive roots orders
/* m[i]: image of primroot generators g_i in Q/Z */