My Project
Macros | Functions
p_Mult_q.h File Reference
#include "misc/auxiliary.h"
#include "polys/monomials/ring.h"

Go to the source code of this file.

Macros

#define MIN_LENGTH_BUCKET   25
 

Functions

BOOLEAN pqLength (poly p, poly q, int &lp, int &lq, const int min)
 return TRUE and lp == pLength(p), lq == pLength(q), if min(pLength(p), pLength(q)) >= min FALSE if min(pLength(p), pLength(q)) < min and lp >= lq if pLength(p) >= pLength(lq) lp < lq if pLength(p) < pLength(q) More...
 

Macro Definition Documentation

◆ MIN_LENGTH_BUCKET

#define MIN_LENGTH_BUCKET   25

Definition at line 21 of file p_Mult_q.h.

Function Documentation

◆ pqLength()

BOOLEAN pqLength ( poly  p,
poly  q,
int &  lp,
int &  lq,
const int  min 
)

return TRUE and lp == pLength(p), lq == pLength(q), if min(pLength(p), pLength(q)) >= min FALSE if min(pLength(p), pLength(q)) < min and lp >= lq if pLength(p) >= pLength(lq) lp < lq if pLength(p) < pLength(q)

Definition at line 31 of file p_Mult_q.cc.

32 {
33  int l = 0;
34 
35  do
36  {
37  if (p == NULL)
38  {
39  lp = l;
40  if (l < min)
41  {
42  if (q != NULL)
43  lq = l+1;
44  else
45  lq = l;
46  return FALSE;
47  }
48  lq = l + pLength(q);
49  return TRUE;
50  }
51  pIter(p);
52  if (q == NULL)
53  {
54  lq = l;
55  if (l < min)
56  {
57  lp = l+1;
58  return FALSE;
59  }
60  lp = l + 1 + pLength(p);
61  return TRUE;
62  }
63  pIter(q);
64  l++;
65  }
66  while (1);
67 }
#define TRUE
Definition: auxiliary.h:100
#define FALSE
Definition: auxiliary.h:96
int l
Definition: cfEzgcd.cc:100
int p
Definition: cfModGcd.cc:4078
static int min(int a, int b)
Definition: fast_mult.cc:268
#define pIter(p)
Definition: monomials.h:37
Definition: lq.h:40
#define NULL
Definition: omList.c:12
static int pLength(poly a)
Definition: p_polys.h:188