507 {
508
515 } else {
518 }
519 }
523 }
524 }
526
527
528
531
532
533
535 DEBUG_PRINT((
"Initialize vector and other variables\n"));
536 std::vector<std::pair<number,bigintmat*> > elementsvector;
541 }
543
548 }
552
554 for(
int i = 2;
i<
n+1;
i++){
556
557 }
559
563
565
569
570 for(
unsigned i=1;
i<elementsvector.size();
i++){
572 elementsvector.pop_back();
575 break;
576 }
577 }
578 if(elementsvector.size() >= 1000000){
579 elementsvector.pop_back();
580 }
586 }
590 for(
unsigned i=1;
i<elementsvector.size();
i++){
592 }
593 } else {
594 for(
unsigned i=1;
i<elementsvector.size();
i++){
596 }
597 }
602 return elements;
603}
bigintmat * bimChangeCoeff(bigintmat *a, coeffs cnew)
Liefert Kopier von Matrix a zurück, mit coeffs cnew statt den ursprünglichen.
void appendCol(bigintmat *a)
horizontally join the matrices, m <- m|a
bool quadratic_supplement()
void increase_x(int index)
number enumerate_get_next()
static FORCE_INLINE number n_Copy(number n, const coeffs r)
return a copy of 'n'
static FORCE_INLINE BOOLEAN n_GreaterZero(number n, const coeffs r)
ordered fields: TRUE iff 'n' is positive; in Z/pZ: TRUE iff 0 < m <= roundedBelow(p/2),...
static FORCE_INLINE nMapFunc n_SetMap(const coeffs src, const coeffs dst)
set the mapping function pointers for translating numbers from src to dst
static FORCE_INLINE BOOLEAN n_Greater(number a, number b, const coeffs r)
ordered fields: TRUE iff 'a' is larger than 'b'; in Z/pZ: TRUE iff la > lb, where la and lb are the l...
static FORCE_INLINE BOOLEAN n_IsZero(number n, const coeffs r)
TRUE iff 'n' represents the zero element.
static FORCE_INLINE number n_Sub(number a, number b, const coeffs r)
return the difference of 'a' and 'b', i.e., a-b
static FORCE_INLINE BOOLEAN n_Equal(number a, number b, const coeffs r)
TRUE iff 'a' and 'b' represent the same number; they may have different representations.
number(* nMapFunc)(number a, const coeffs src, const coeffs dst)
maps "a", which lives in src, into dst