File: [local] / OpenXM / doc / Papers / job-pool.asir (download)
Revision 1.1, Sat May 13 08:09:51 2000 UTC (24 years, 4 months ago) by takayama
Branch: MAIN
CVS Tags: maekawa-ipv6, R_1_3_1-2, RELEASE_1_3_1_13b, RELEASE_1_2_3_12, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, RELEASE_1_1_3, KNOPPIX_2006, HEAD, DEB_REL_1_2_3-9
ohp-metro.tex : OHP for my talk at Tokyo metropolitan university in May 15, 2000.
It includes an introduction to openxm programming in asir.
ohp-v-minimal.tex : OHP of V-minimal free resolution for RIMS workshop.
|
/* $OpenXM: OpenXM/doc/Papers/job-pool.asir,v 1.1 2000/05/13 08:09:51 takayama Exp $ */
/* For ohp-metro.tex */
#define SM_popCMO 262
def pool() {
P = [ox_launch(), ox_launch(), ox_launch()];
map(ox_push_cmo,P,0);
map(ox_push_cmd,P,SM_popCMO);
/* map(ox_get,P); mistake */
I = 50;
Jobs = [x^(I)-y^(I),x^(I+1)-y^(I+1),x^(I+2)-y^(I+2),x^(I+3)-y^(I+3),
x^(I+4)-y^(I+4),x^(I+5)-y^(I+5)];
N = length(Jobs);
Ans = [ ];
print("------ started -----");
/* while (length(Jobs) != 0) { mistake */
while (length(Ans) != N) {
Q = ox_select(P)[0];
F = ox_get(Q);
/* print([Q,F]); */
if (F != 0) {
Ans = append(Ans,[F]);
print(Q);
}
if (length(Jobs) > 0) {
Job = car(Jobs); Jobs=cdr(Jobs);
ox_rpc(Q,"fctr",Job); ox_push_cmd(Q,SM_popCMO);
}
}
return(Ans);
}
#define SM_executeFunction 269
def ex1() {
P = ox_launch();
ox_push_cmo(P,13);
ox_push_cmo(P,8);
ox_push_cmo(P,ntoint32(2));
ox_push_cmo(P,"igcd");
ox_push_cmd(P,SM_executeFunction);
return(ox_pop_cmo(P));
}
/*
ox_execute_string(P,"igcd(13,8);");
ox_rpc(P,"igcd",13,8);
*/
def ex2() {
P = ox_launch();
Ans = [ ];
for (I=0; I<1.0; I=I+0.1) {
/* ox_execute_string(P,"pari(dilog,0.3);"); */
ox_execute_string(P,"pari(dilog,"+rtostr(I)+");");
Ans = append(Ans,[ox_pop_local(P)]);
}
return(Ans);
}
end$