25#define STICKYPROT(msg) if (BTEST1(OPT_PROT)) Print(msg)
27#define STICKYPROT2(msg,arg) if (BTEST1(OPT_PROT)) Print(msg,arg)
28#define fglmASSERT(ignore1,ignore2)
45 fglmASSERT (
N >= 0,
"illegal Vector representation");
51 for(
int i =
N - 1;
i >= 0;
i--)
59 for(
int i =
N - 1;
i >= 0;
i--)
70 elems_clone = (number *)
omAlloc (
N *
sizeof (number));
71 for(
int i =
N - 1;
i >= 0;
i--)
103 for(
k =
N;
k > 0;
k--)
114 for(
k =
N;
k > 0;
k--)
130 number temp =
elems[
i - 1];
171 rep =
v.rep->copyObject ();
180#ifndef HAVE_EXPLICIT_CONSTR
183 rep =
v.rep->copyObject ();
186void fglmVector::mac_constr_i (
int size)
191void fglmVector::clearelems ()
222 int vsize =
v.size ();
224 fglmASSERT (vsize <= rep->
size (),
"v has to be smaller or equal");
227 for(
i = vsize;
i > 0;
i--)
230 term2 =
nMult (fac2,
v.rep->getconstelem (
i));
244 for(
i = vsize;
i > 0;
i--)
247 term2 =
nMult (fac2,
v.rep->getconstelem (
i));
248 newelems[
i - 1] =
nSub (term1, term2);
267 rep =
v.rep->copyObject ();
292 return !(*
this ==
v);
319 newelems = (number *)
omAlloc (n *
sizeof (number));
320 for(
i = n;
i > 0;
i--)
341 newelems = (number *)
omAlloc (n *
sizeof (number));
342 for(
i = n;
i > 0;
i--)
357 temp = (number *)
omAlloc (
s *
sizeof (number));
358 for(
i =
s;
i > 0;
i--)
365 for(
i =
s;
i > 0;
i--)
378 temp = (number *)
omAlloc (
s *
sizeof (number));
379 for(
i =
s;
i > 0;
i--)
389 for(
i =
s;
i > 0;
i--)
403 for(
i =
v.size ();
i > 0;
i--)
405 n =
nCopy (
v.getconstelem (
i));
470 theGcd =
nCopy (current);
483 while(
i > 0 && !gcdIsOne)
504 number theLcm =
nInit (1);
number getconstelem(int i) const
number ejectelem(int i, number n)
void setelem(int i, number n)
fglmVectorRep * clone() const
fglmVectorRep * copyObject()
int numNonZeroElems() const
fglmVectorRep(int n, number *e)
fglmVector & operator-=(const fglmVector &)
int numNonZeroElems() const
number getconstelem(int i) const
void setelem(int i, number &n)
int operator!=(const fglmVector &)
fglmVector & operator*=(const number &)
fglmVector & operator+=(const fglmVector &)
fglmVector & operator/=(const number &)
void nihilate(const number fac1, const number fac2, const fglmVector v)
int operator==(const fglmVector &)
fglmVector & operator=(const fglmVector &v)
static FORCE_INLINE number n_NormalizeHelper(number a, number b, const coeffs r)
assume that r is a quotient field (otherwise, return 1) for arguments (a1/a2,b1/b2) return (lcm(a1,...
static FORCE_INLINE number n_Init(long i, const coeffs r)
a number representing i in the given coeff field/ring r
static FORCE_INLINE number n_SubringGcd(number a, number b, const coeffs r)
const CanonicalForm int s
const Variable & v
< [in] a sqrfree bivariate poly
fglmVector operator-(const fglmVector &v)
#define fglmASSERT(ignore1, ignore2)
fglmVector operator+(const fglmVector &lhs, const fglmVector &rhs)
fglmVector operator*(const fglmVector &v, const number n)
#define fglmASSERT(ignore1, ignore2)
#define omFreeSize(addr, size)
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...