27 set_this= &((*set_this)->next);
38 set_this= &((*set_this)->next);
61 set_this= &((*set_this)->next);
160 assume(this_area>=last_area);
161 if(this_area>last_area)
164 for(
j=last_area+1;
j<=this_area;
j++)
169 for(
i=last_area+1;
i<=max_area_index;
i++)
185 assume(tai<=max_area_index);
186 if(tai==max_area_index)
189 max_in_area=area[tai+1]-1;
199 assume(pn<=mat->get_rows());
200 for(
i=row+1;
i<=max_in_area;
i++)
222 for(
i=found_in_row+1;
i<=max_in_area;
i++)
227 int first=row_cache[
i];
241 int h=row_cache[row];
242 row_cache[row]=row_cache[found_in_row];
243 row_cache[found_in_row]=
h;
256 for(
i=max_in_area;
i>row;
i--)
259 assume(col_area_index<=max_area_index);
263 int first=row_cache[
i];
266 if(row_cache[
i]==col)
269 number c1=mat->
get(
i,col);
270 number c2=mat->
get(row,col);
284 if(row_cache[
i]==matcol)
289 int this_cai=col_area_index;
290 while(this_cai<max_area_index)
292 last_in_area=area[this_cai+1]-1;
293 int h_c=row_cache[last_in_area];
294 row_cache[last_in_area]=row_cache[
index];
295 row_cache[
index]=h_c;
302 row_cache[
index]=row_cache[pn-1];
303 row_cache[pn-1]=matcol;
311 int this_cai=col_area_index;
313 assume(final_cai<=max_area_index);
314 while(this_cai<final_cai)
316 last_in_area=area[this_cai+1]-1;
317 int h_c=row_cache[last_in_area];
318 row_cache[last_in_area]=row_cache[
index];
319 row_cache[
index]=h_c;
383 while((row<pn-1)&&(col<mat->get_columns())){
395 assume(pn<=mat->get_rows());
425 for(
i=row+1;
i<pn;
i++){
431 number c2=mat->
get(row,col);
461 n=(number**)
omAlloc(
i*
sizeof (number*));;
610 number n1=
n[add_to][
i];
639 if((free_non_zeros)||(!(
nIsZero(
n[row][
i]))))
688 if (bp==
NULL)
return -1;
689 if (
ap->exp<bp->
exp)
return -1;
727 while(((*set_this)!=
NULL) && ((*set_this)->exp<
j))
728 set_this=&((*set_this)->next);
730 if (((*set_this)==
NULL)||((*set_this)->exp>
j))
737 (*set_this)->next=old;
750 (*set_this)=dt->
next;
812 while((rr!=
NULL)&&(rr->
exp<=pre))
void mult_row(int row, number factor)
void add_lambda_times_row(int add_to, int summand, number factor)
void set(int i, int j, number n)
int min_col_not_zero_in_row(int row)
int non_zero_entries(int row)
int next_col_not_zero(int row, int pre)
BOOLEAN zero_row(int row)
BOOLEAN is_zero_entry(int i, int j)
void free_row(int row, BOOLEAN free_non_zeros=TRUE)
void perm_rows(int i, int j)
void set(int i, int j, number n)
BOOLEAN is_zero_entry(int i, int j)
int min_col_not_zero_in_row(int row)
tgb_sparse_matrix(int i, int j, ring rarg)
void add_lambda_times_row(int add_to, int summand, number factor)
BOOLEAN zero_row(int row)
void row_normalize(int row)
void perm_rows(int i, int j)
int next_col_not_zero(int row, int pre)
int non_zero_entries(int row)
void mult_row(int row, number factor)
void row_content(int row)
void free_row(int row, BOOLEAN free_non_zeros=TRUE)
static FORCE_INLINE number n_Gcd(number a, number b, const coeffs r)
in Z: return the gcd of 'a' and 'b' in Z/nZ, Z/2^kZ: computed as in the case Z in Z/pZ,...
static FORCE_INLINE void n_Write(number n, const coeffs r, const BOOLEAN bShortOut=TRUE)
static FORCE_INLINE void n_Normalize(number &n, const coeffs r)
inplace-normalization of n; produces some canonical representation of n;
const CanonicalForm int s
int ksCheckCoeff(number *a, number *b, const coeffs r)
number ndGcd(number, number, const coeffs r)
#define TEST_OPT_CONTENTSB
static int index(p_Length length, p_Ord ord)
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Compatibility layer for legacy polynomial operations (over currRing)
void StringSetS(const char *st)
void PrintS(const char *s)
static BOOLEAN rField_has_simple_inverse(const ring r)
static const int bundle_size
mac_poly mac_p_add_ff_qq(mac_poly a, number f, mac_poly b)
static int row_cmp_gen(const void *a, const void *b)
void mac_destroy(mac_poly p)
void simple_gauss2(tgb_matrix *mat)
void mac_mult_cons(mac_poly p, number c)
void simple_gauss(tgb_sparse_matrix *mat, slimgb_alg *)
int mac_length(mac_poly p)
mac_poly mac_p_add_ff_qq(mac_poly a, number f, mac_poly b)
void mac_destroy(mac_poly p)
void mac_mult_cons(mac_poly p, number c)
int mac_length(mac_poly p)