=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/trans/polymake.sm1,v retrieving revision 1.4 retrieving revision 1.9 diff -u -p -r1.4 -r1.9 --- OpenXM/src/kan96xx/trans/polymake.sm1 2013/09/20 04:43:29 1.4 +++ OpenXM/src/kan96xx/trans/polymake.sm1 2020/03/12 07:33:03 1.9 @@ -1,7 +1,9 @@ -% $OpenXM: OpenXM/src/kan96xx/trans/polymake.sm1,v 1.3 2003/12/06 02:49:22 takayama Exp $ +% $OpenXM: OpenXM/src/kan96xx/trans/polymake.sm1,v 1.8 2013/09/25 07:30:52 takayama Exp $ % It is a polymake interface -/polymake.start { +/@@@polymake.ask.which 1 def +/polymake.start { polymake.start.local } def +/polymake.start.local { (ox.k0.loaded) boundp { } { [(parse) (ox.sm1) pushfile] extension /@@@polymake.k0.ccc [ ] def @@ -14,12 +16,15 @@ k0connectr /@@@polymake.k0.ccc oxk0.ccc def /oxk0.ccc [ ] def @@@polymake.k0.ccc oxsetmathcap @@@polymake.k0.ccc oxmathcap } { } ifelse + [(parse) ( 1 )] extension pop % BUG, dummy to avoid bus error on mac.2013.09.21 + @@@polymake.ask.which { [(which) (polymake)] oxshell tag 0 eq { [(export) (PATH) (=) (/usr/local/polymake/bin:${PATH})] oxshell [(which) (polymake)] oxshell tag 0 eq { (Polymake is not installed in this system.) error } { } ifelse } { } ifelse + } { } ifelse [(which) (polymake2tfb)] oxshell tag 0 eq { (polymake2tfb is not installed in this system.) error } { } ifelse @@ -35,12 +40,16 @@ (polymake, polymake2tfb, ox_k0 must be installed.) (cf. @@@polymake.k0.ccc, kan96xx/Doc/oxshell.*, kan96xx/trans/polymake.sm1, oxshell ) (The variable @@@doPolymake.vars keeps session logs with the polymake) + (See also usePolymake.local, usePolymake.OoHG.native and usePolymake.OoHG.curl in cgi.sm1) (Example:) % ( [(export) (PATH) (=) (/usr/local/polymake/bin:${PATH})] oxshell ) - $ [(FACETS) (polymake.data(polymake.POINTS([[1,0,0],[1,1,0],[1,0,1],[1,1,1]])))]$ + $ usePolymake.OoHG.curl polymake.start ; $ + $ [(FACETS) (polymake.data(polymake.POINTS([[1,0,0],[1,1,0],[1,0,1],[1,1,1/2]])))]$ ( doPolymake /rr set ) + ( Keys---properties are FACETS, CONE_DIM, LINEARITY_DIM, FEASIBLE, AFFINE_FULL, ... ) ]] putUsages -/doPolymake { +/doPolymake { doPolymake.local } def +/doPolymake.local { /arg1 set [/in-doPolymake /pAction /pData /pNative /ptree /pResult /pError @@ -58,7 +67,7 @@ @@@polymake.k0.ccc oxpopcmo /ptree set @@@polymake.k0.ccc ( QuoteMode(0); ) oxexecutestring [(treeToPolymake) ptree] extension /pNative set - [pNative pAction] /@@@doPolymake.vars set %for debug + [ptree pNative pAction] /@@@doPolymake.vars set %for debug %% step 2: calling the polymake [(polymake) (stringInOut://pNative) pAction] addStdoutStderr oxshell pop