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 196 of file kChinese.cc.
198 int cnt=0;
int rw=0;
int cl=0;
200 for(
int j=rl-1;
j>=0;
j--)
204 if (xx[
j]->
nrows >rw) rw=xx[
j]->nrows;
209 WerrorS(
"format mismatch in CRT");
213 if ((cpus==1) || (2*cpus>=cnt))
219 int parent_pid=getpid();
224 for(
int i=cnt-1;
i>=0;
i--)
228 for(
int i=cpus;
i>=0;
i--)
234 for (
int i=0;
i<cpus;
i++)
239 if (parent_pid!=getpid())
241 number *
x=(number *)
omAlloc(rl*
sizeof(number));
242 poly *
p=(poly *)
omAlloc(rl*
sizeof(poly));
248 int ind=queue->dequeue();
254 for(
int j=rl-1;
j>=0;
j--)
265 char *
s=(
char*)msg->str();
267 rqueue->enqueue(msg);
277 msg=rqueue->dequeue();
278 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 VRef< VString > vstring(const char *s)
static Status vmem_init()
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 295 of file kChinese.cc.
306 int parent_pid=getpid();
311 for(
int i=cnt-1;
i>=0;
i--)
315 for(
int i=cpus;
i>=0;
i--)
321 for (
int i=0;
i<cpus;
i++)
326 if (parent_pid!=getpid())
330 int ind=queue->dequeue();
339 char *
s=(
char*)msg->str();
341 rqueue->enqueue(msg);
351 msg=rqueue->dequeue();
352 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 |
|
) |
| |