Annotation of OpenXM/src/ox_maple/simple2.ml, Revision 1.2
1.2 ! iwane 1: # $OpenXM: OpenXM/src/ox_maple/simple2.ml,v 1.1 2004/07/02 13:10:43 takayama Exp $
! 2: ox_start_maple:=define_external(
! 3: 'ml_start_maple',
! 4: 'RETURN'::integer[4],
! 5: 'LIB'="libsimple2.so");
! 6:
1.1 takayama 7: ox_start_asir:=define_external(
8: 'ml_start_asir',
9: 'RETURN'::integer[4],
10: 'LIB'="libsimple2.so");
11:
12: ox_push_int:=define_external(
13: 'ml_push_int',
14: 'num1'::integer[4],
15: 'RETURN'::integer[4],
16: 'LIB'="libsimple2.so");
17:
18: ox_execute_string:=define_external(
19: 'ml_execute_string',
20: 'num1'::string[],
21: 'RETURN'::integer[4],
22: 'LIB'="libsimple2.so");
23:
24: ox_pop_string0:=define_external(
25: 'ml_pop_string0',
26: 'RETURN'::integer[4],
27: 'LIB'="libsimple2.so");
28:
29: ox_get_string:=define_external(
30: 'ml_get_string',
31: 'RETURN'::string[],
32: 'LIB'="libsimple2.so");
33:
34: ox_select:=define_external(
35: 'ml_select',
36: 'RETURN'::integer[4],
37: 'LIB'="libsimple2.so");
38:
39: ox_pop_string:=proc()
40: local c;
41: ox_pop_string0();
42: while true do
43: c := ox_select();
44: if (c = 1) then RETURN( ox_get_string()); end if;
45: if (c = -1) then RETURN(-1); end if ;
46: end do; # busy wait
47: end:
48:
49: asir_gr:=proc(f,v,ord)
50: local sf,sv,sord;
51: sf := sprintf("%a",f);
52: sv := sprintf("%a",v);
53: sord := sprintf("%a",ord);
54: ox_execute_string(cat("gr(",sf,",",sv,",",sord,");"));
55: RETURN(parse(ox_pop_string()));
56: end :
57:
58: # asir_gr([x^2+y^2-4,x*y-1],[x,y],2);
59:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>