bridge/class-master/depend/pari/src/basemath/bb_hnf.c
/* return NULL if no solution, not GC-clean */
return NULL if no solution, not GC-clean
return NULL if no solution not GC - clean
static GEN
gen_solve(GEN A, GEN Y, GEN* K, void* data, const struct bb_hermite *R)
{
  GEN H, ops, X;
  long m,n;
  RgM_dimensions(A,&m,&n);
  if (!n) m = lg(Y)-1;
  H = gen_howell_i(A, 2, 1, 0, 0, &ops, data, R);
  X = gen_solve_from_howell(H, ops, m, n, Y, data, R);
  if (!X) return NULL;
  if (K) *K = gen_kernel_from_howell(H, ops, n, data, R);
  return X;
}
static GEN gen_solve ( GEN A , GEN Y , GEN * K , void * data , const struct bb_hermite * R ) { GEN H , ops , X ; long m , n ; RgM_dimensions ( A , & m , & n ) ; if ( ! n ) m = lg ( Y ) - 1 ; H = gen_howell_i ( A , 2 , 1 , 0 , 0 , & ops , data , R ) ; X = gen_solve_from_howell ( H , ops , m , n , Y , data , R ) ; if ( ! X ) return NULL ; if ( K ) * K = gen_kernel_from_howell ( H , ops , n , data , R ) ; return X ; }
return NULL if no solution, not GC-clean
return NULL if no solution not GC - clean