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

File: [local] / OpenXM / src / ox_maple / simple.ml (download)

Revision 1.2, Mon Jun 21 13:10:40 2004 UTC (19 years, 11 months ago) by takayama
Branch: MAIN
CVS Tags: RELEASE_1_2_3_12, RELEASE_1_2_3, KNOPPIX_2006, DEB_REL_1_2_3-9
Changes since 1.1: +12 -1 lines

Added a sample interface to call ox_asir from maple.
Example:
takayama@mango:/private/taka/OpenXM/src/ox_maple$ maple
    |\^/|     Maple 6 (IBM INTEL LINUX)
._|\|   |/|_. Copyright (c) 2000 by Waterloo Maple Inc.
 \  MAPLE  /  All rights reserved. Maple is a registered trademark of
 <____ ____>  Waterloo Maple Inc.
      |       Type ? for help.
> read `simple.ml`:
> asir_gr([x+y-1,x-y-2],[x,y],2):
PATH=/usr/local/maple/bin.IBM_INTEL_LINUX_REDHAT:/usr/local/maple/bin:/private/taka/OpenXM/bin:/export/home/takayama/bin:/export/home/takayama/OpenXM/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
Found: /usr/bin/X11/xterm
                              [2 y + 1, 2 x - 3]

> asir_gr([x^2+y^2-4,x*y-1],[x,y],2);
                           4      2           3
                        [-y  + 4 y  - 1, x + y  - 4 y]

# $OpenXM: OpenXM/src/ox_maple/simple.ml,v 1.2 2004/06/21 13:10:40 takayama Exp $
ox_start_sm1:=define_external(
   'ml_start_asir',
   'RETURN'::integer[4],
   'LIB'="libsimple.so");

ox_push_int:=define_external(
   'ml_push_int',
   'num1'::integer[4],
   'RETURN'::integer[4],
   'LIB'="libsimple.so");

ox_execute_string:=define_external(
   'ml_execute_string',
   'num1'::string[],
   'RETURN'::integer[4],
   'LIB'="libsimple.so");

ox_pop_string:=define_external(
   'ml_pop_string',
   'RETURN'::string[],
   'LIB'="libsimple.so");


asir_gr:=proc(f,v,ord) 
   local sf,sv,sord;
   sf := sprintf("%a",f);
   sv := sprintf("%a",v);
   sord := sprintf("%a",ord);
   ox_execute_string(cat("gr(",sf,",",sv,",",sord,");"));
   RETURN(parse(ox_pop_string()));
end :

# asir_gr([x^2+y^2-4,x*y-1],[x,y],2);