=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Doc/ox.sm1,v retrieving revision 1.35 retrieving revision 1.38 diff -u -p -r1.35 -r1.38 --- OpenXM/src/kan96xx/Doc/ox.sm1 2004/02/28 13:39:42 1.35 +++ OpenXM/src/kan96xx/Doc/ox.sm1 2004/03/04 05:18:26 1.38 @@ -1,4 +1,4 @@ -%%%%%%%%%%% $OpenXM: OpenXM/src/kan96xx/Doc/ox.sm1,v 1.34 2004/02/28 12:27:16 takayama Exp $ +%%%%%%%%%%% $OpenXM: OpenXM/src/kan96xx/Doc/ox.sm1,v 1.37 2004/03/03 06:09:29 takayama Exp $ /ox.sm1.myname (ox-new.sm1) def @@ -76,6 +76,8 @@ ox.version [(Version)] system_variable gt /SM_getsp 275 def /SM_dupErrors 276 def +/SM_pushCMOtag 277 def + /SM_control_kill 1024 def /SM_control_reset_connection 1030 def /SM_control_spawn_server 1027 def @@ -96,6 +98,7 @@ ox.version [(Version)] system_variable gt (client str oxevalname, client str oxsetname, client num oxpops, client oxget) ( ) (client oxmathcap, client oxsetmathcap, oxgenportfile, oxremoveportfile) + (client oxpushcmotag) ( ) (client oxgetsp --- get stack pointer, client oxgeterrors --- get all errors) (cleint oxisData, client oxreset, client oxshutdown) @@ -146,6 +149,11 @@ ox.verbose { oxhelp } { } ifelse [(oxReq) arg2 SM_DUMMY_sendcmo arg1] extension pop } def +/oxpushcmotag { + /arg2 set + [(oxReq) arg2 SM_pushCMOtag ] extension pop +} def + /oxpopcmo { /arg1 set [(oxReq) arg1 SM_popCMO ] extension pop @@ -842,10 +850,11 @@ oxasir.verbose { (If you interrupted the computation by typing ctrl-C, type in ) ( oxasir.ccc oxreset ; ) (to interrupt the ox_asir server.) + (NOTE: all asir-args must belong to the same ring. cf.oxasir.changeRing. ) (Example: oxasir.ccc [(fctr) (x^10-1).] asir ) ( ) (This function requires plugins cmo, socket and ox_asir server. cf. oxasir) - (See, ftp://endeavor.fujitsu.co.jp/pub/isis/asir on asir) + (See, http://www.math.kobe-u.ac.jp/Asir on asir) ] ] putUsages @@ -894,16 +903,27 @@ oxasir.verbose { %%% Mathematical functions for asir %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /oxasir.changeRing { + /oxasir.changeRing.rr.prev 0 def + oxasir.changeRing2 +} def +/oxasir.changeRing2 { /arg1 set - [/in-oxasir.changeRing /f /rr] pushVariables + [/in-oxasir.changeRing2 /f /rr ] pushVariables [ /f arg1 def f isArray { - f {oxasir.changeRing} map + f {oxasir.changeRing2} map }{ f isPolynomial { f (0). eq { } - { f (ring) dc /rr set [(CurrentRingp) rr] system_variable } ifelse + { f (ring) dc /rr set [(CurrentRingp) rr] system_variable + oxasir.changeRing.rr.prev tag 1 eq { } + { + oxasir.changeRing.rr.prev rr eq { } + { (asir : arguments must belong to the same ring.) error } ifelse + } ifelse + /oxasir.changeRing.rr.prev rr def + } ifelse } { } ifelse } ifelse ] pop @@ -1489,7 +1509,7 @@ oxasir.verbose { [wvec] weight_vector 0] define_ring - ff { . dehomogenize homogenize } map /ff set + ff { toString . dehomogenize homogenize } map /ff set vvx { . } map /vvx set %%ex [x,y] vvd { . } map /vvd set %%ex [Dx,Dy] vvx vvd join [(h).] join /avv set @@ -1605,3 +1625,7 @@ oxasir.verbose { } def /@@@polymake.k0.ccc [ ] def +/ox_server_mode { + /:: { } def % do nothing + +} def \ No newline at end of file