=================================================================== RCS file: /home/cvs/OpenXM/src/ox_ntl/main.cpp,v retrieving revision 1.5 retrieving revision 1.7 diff -u -p -r1.5 -r1.7 --- OpenXM/src/ox_ntl/main.cpp 2004/07/05 10:08:35 1.5 +++ OpenXM/src/ox_ntl/main.cpp 2013/10/18 01:28:52 1.7 @@ -1,26 +1,46 @@ -/* $OpenXM: OpenXM/src/ox_ntl/main.cpp,v 1.4 2003/11/17 12:04:20 iwane Exp $ */ +/* $OpenXM: OpenXM/src/ox_ntl/main.cpp,v 1.6 2008/09/19 10:55:40 iwane Exp $ */ +/* +[1208] ox_launch(0, "/home/openxm/OpenXM/src/ox_ntl/ox_ntl"); +0 +[1210] load("ntl.rr"); +[1229] ntl.factor(0, x^2-1); +[[1,1],[x+1,1],[x-1,1]] +[1231] ox_shutdown(0); +0 + */ +#include + #include "ox_toolkit.h" #include "oxserv.h" #include "oxstack.h" #include "ntl.h" + #define VERSION 0x00000001 -#define ID_STRING "$Revision: 1.5 $" +#define ID_STRING "$Revision: 1.7 $" + static void -ntl_executeFunction(const char *func, cmo **arg, int argc) +ntl_executeFunction(const char *func, oxstack_node **arg, int argc) { - cmo *ans; + oxstack_node *ans; int i; + char unknown_mes[50] = "Unknown Function"; + enum { + RET_CMO, + RET_USR, + }; + struct { const char *name; - cmo *(*func)(cmo **, int); + oxstack_node *(*func)(oxstack_node **, int); + int return_type; } funcs[] = { - {"fctr", ntl_fctr}, - {"lll", ntl_lll}, - {NULL, NULL}, + {"fctr", ntl_fctr, RET_USR}, + {"lll", ntl_lll, RET_USR}, + {NULL, NULL, 0} }; for (i = 0; funcs[i].name != NULL; i++) { @@ -31,7 +51,7 @@ ntl_executeFunction(const char *func, cmo **arg, int a } } - oxstack_push((cmo *)new_cmo_error2((cmo *)new_cmo_string("Unknown Function"))); + oxstack_push_cmo((cmo *)new_cmo_error2((cmo *)new_cmo_string(unknown_mes))); } @@ -39,8 +59,9 @@ ntl_executeFunction(const char *func, cmo **arg, int a int main(int argc, char *argv[]) { - int fd = 3; - int ret; + const int fd = 3; + char oxntl[10] = "ox_ntl"; + char id[30] = ID_STRING; OXFILE *oxfp; @@ -48,14 +69,20 @@ main(int argc, char *argv[]) ox_stderr_init(stderr); - oxserv_set(OXSERV_SET_EXECUTE_FUNCTION, (void (*)())ntl_executeFunction, NULL); - oxserv_set(OXSERV_SET_DELETE_CMO, (void (*)())delete_cmon, NULL); - oxserv_set(OXSERV_SET_GET_CMOTAG, (void (*)())get_cmon_tag, NULL); - oxserv_set(OXSERV_SET_CONVERT_CMO, (void (*)())convert_cmon, NULL); - oxserv_init(oxfp, VERSION, ID_STRING, "ox_ntl", NULL, NULL); + oxserv_set(OXSERV_SET_EXECUTE_FUNCTION, (void *)(void (*)())ntl_executeFunction, NULL); + oxserv_set(OXSERV_SET_DELETE_CMO, (void *)(void (*)())delete_cmon, NULL); + oxserv_set(OXSERV_SET_GET_CMOTAG, (void *)(void (*)())get_cmon_tag, NULL); + oxserv_set(OXSERV_SET_CONVERT_CMO, (void *)(void (*)())convert_cmon, NULL); + oxserv_init(oxfp, VERSION, id, oxntl, NULL, NULL); - ret = oxserv_receive(oxfp); +printf("\n\n"); +printf("$MAPLE=%s\n", getenv("MAPLE")); +printf("$PATH=%s\n", getenv("PATH")); +printf("$LD_LIBRARY_PATH=%s\n", getenv("LD_LIBRARY_PATH")); + + + oxserv_receive(oxfp); oxserv_dest(); oxf_close(oxfp);