[BACK]Return to polymake.sm1 CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / trans

Annotation of OpenXM/src/kan96xx/trans/polymake.sm1, Revision 1.2

1.2     ! takayama    1: % $OpenXM: OpenXM/src/kan96xx/trans/polymake.sm1,v 1.1 2003/12/04 07:49:24 takayama Exp $
1.1       takayama    2: % It is a polymake interface
                      3:
                      4: /polymake.start {
                      5:   (ox.k0.loaded) boundp {  }
                      6:   { [(parse) (ox.sm1) pushfile] extension } ifelse
                      7:   oxk0.ccc [ ] eq {
                      8:      k0connectr oxk0.ccc oxsetmathcap oxk0.ccc oxmathcap
                      9:   } {  } ifelse
                     10:   oxk0.ccc 0 get (closed) eq {
                     11:      k0connectr oxk0.ccc oxsetmathcap oxk0.ccc oxmathcap
                     12:   } {  } ifelse
                     13:   [(which) (polymake)] oxshell tag 0 eq {
                     14:      [(export) (PATH) (=) (/usr/local/polymake/bin:${PATH})] oxshell
                     15:      [(which) (polymake)] oxshell tag 0 eq {
                     16:        (Polymake is not installed in this system.) error
                     17:      } {  } ifelse
                     18:   } {  } ifelse
                     19:   [(which) (polymake2tfb)] oxshell tag 0 eq {
                     20:      (polymake2tfb is not installed in this system.) error
                     21:   } {  } ifelse
                     22: } def
                     23:
                     24: %[(FACETS) (polymake.data(polymake.POINTS([[1,0,0],[1,1,0],[1,0,1],[1,0,0]])))]
                     25: % doPolymake
                     26: % [ tfb-string tree error]
                     27: [(doPolymake)
                     28: [(It calls polymake to make several construction for polytopes.)
                     29:  ([action data_in_polymake_tfb_format] doPolymake )
                     30:  (         [result_in_tfb result_in_tree errors])
                     31:  (polymake, polymake2tfb, ox_k0 must be installed.)
                     32:  (Example:)
                     33: % ( [(export) (PATH) (=) (/usr/local/polymake/bin:${PATH})] oxshell )
1.2     ! takayama   34:  $ [(FACETS) (polymake.data(polymake.POINTS([[1,0,0],[1,1,0],[1,0,1],[1,1,1]])))]$
1.1       takayama   35:  (         doPolymake /rr set )
                     36: ]] putUsages
                     37: /doPolymake {
                     38:   /arg1 set
                     39:   [/in-doPolymake  /pAction /pData /pNative /ptree
                     40:    /pResult  /pError
                     41:   ] pushVariables
                     42:   [
                     43:     arg1 0 get /pAction set
                     44:     arg1 1 get /pData set
                     45:     polymake.start
                     46:
                     47:     /pError [ ] def
                     48: %% step 1:  polymake tfb ===> polymake native data
                     49:     oxk0.ccc ( polymake=Object; ) oxexecutestring
                     50:     oxk0.ccc ( QuoteMode(1); ) oxexecutestring
                     51:     oxk0.ccc [pData ( ;)] cat oxexecutestring
                     52:     oxk0.ccc oxpopcmo /ptree set
                     53:     oxk0.ccc ( QuoteMode(0); ) oxexecutestring
                     54:     [(treeToPolymake) ptree] extension /pNative set
                     55: %% step 2: calling the polymake
                     56:     [(polymake) (stringInOut://pNative.poly) pAction] addStdoutStderr
                     57:     oxshell pop
                     58:     pError [@@@stdout @@@stderr] append /pError set
                     59: %% step 3: polymake native data to polymake tfb
                     60:     [(polymake2tfb) (<) (stringIn://pNative) (>) (stringOut://pResult)
                     61:      (2>) (stringOut://@@@stderr)] oxshell pop
                     62:     pError [@@@stderr] append /pError set
                     63: %% step 4: get also tree style data.
                     64:     oxk0.ccc ( polymake=Object; ) oxexecutestring
                     65:     oxk0.ccc ( QuoteMode(1); ) oxexecutestring
                     66:     oxk0.ccc [pResult ( ;)] cat oxexecutestring
                     67:     oxk0.ccc oxpopcmo /ptree set
                     68:     oxk0.ccc ( QuoteMode(0); ) oxexecutestring
                     69:     [pResult ptree pError] /arg1 set
                     70:   ] pop
                     71:   popVariables
                     72:   arg1
                     73: } def

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>