Go to the source code of this file.
|
poly | p_ChineseRemainder (poly *xx, mpz_ptr *x, mpz_ptr *q, int rl, mpz_ptr *C, const ring R) |
|
ideal | id_ChineseRemainder_0 (ideal *xx, number *q, int rl, const ring r) |
|
ideal | id_Farey_0 (ideal xx, number N, const ring r) |
|
◆ id_ChineseRemainder_0()
ideal id_ChineseRemainder_0 |
( |
ideal * |
xx, |
|
|
number * |
q, |
|
|
int |
rl, |
|
|
const ring |
r |
|
) |
| |
Definition at line 195 of file kChinese.cc.
197 int cnt=0;
int rw=0;
int cl=0;
199 for(
int j=rl-1;
j>=0;
j--)
203 if (xx[
j]->
nrows >rw) rw=xx[
j]->nrows;
208 WerrorS(
"format mismatch in CRT");
212 if ((cpus==1) || (2*cpus>=cnt))
218 int parent_pid=getpid();
223 for(
int i=cnt-1;
i>=0;
i--)
227 for(
int i=cpus;
i>=0;
i--)
233 for (
int i=0;
i<cpus;
i++)
238 if (parent_pid!=getpid())
240 number *
x=(number *)
omAlloc(rl*
sizeof(number));
241 poly *
p=(poly *)
omAlloc(rl*
sizeof(poly));
247 int ind=queue->dequeue();
253 for(
int j=rl-1;
j>=0;
j--)
264 char *
s=(
char*)msg->str();
266 rqueue->enqueue(msg);
276 msg=rqueue->dequeue();
277 char *
s=(
char*)msg->str();
const CanonicalForm int s
void WerrorS(const char *s)
static void * feOptValue(feOptIndex opt)
static char * get_poly(char *s, int &ind, poly *p, const ring r)
static long size_poly(poly p, const ring r)
static char * send_poly(char *s, int ind, poly p, const ring r)
poly p_ChineseRemainder(poly *xx, mpz_ptr *x, mpz_ptr *q, int rl, mpz_ptr *C, const ring R)
static void vmem_deinit()
static Status vmem_init()
static VRef< VString > vstring(const char *s)
ideal idInit(int idsize, int rank)
initialise an ideal / module
ideal id_ChineseRemainder(ideal *xx, number *q, int rl, const ring r)
◆ id_Farey_0()
ideal id_Farey_0 |
( |
ideal |
xx, |
|
|
number |
N, |
|
|
const ring |
r |
|
) |
| |
Definition at line 294 of file kChinese.cc.
305 int parent_pid=getpid();
310 for(
int i=cnt-1;
i>=0;
i--)
314 for(
int i=cpus;
i>=0;
i--)
320 for (
int i=0;
i<cpus;
i++)
325 if (parent_pid!=getpid())
329 int ind=queue->dequeue();
338 char *
s=(
char*)msg->str();
340 rqueue->enqueue(msg);
350 msg=rqueue->dequeue();
351 char *
s=(
char*)msg->str();
const CanonicalForm CFMap CFMap & N
ideal id_Farey(ideal x, number N, const ring r)
poly p_Farey(poly p, number N, const ring r)
◆ p_ChineseRemainder()
poly p_ChineseRemainder |
( |
poly * |
xx, |
|
|
mpz_ptr * |
x, |
|
|
mpz_ptr * |
q, |
|
|
int |
rl, |
|
|
mpz_ptr * |
C, |
|
|
const ring |
R |
|
) |
| |