[BACK]Return to simple2.ml CVS log [TXT][DIR] Up to [local] / OpenXM / src / ox_maple

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>