=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Doc/changelog-ja.tex,v retrieving revision 1.29 retrieving revision 1.34 diff -u -p -r1.29 -r1.34 --- OpenXM/src/kan96xx/Doc/changelog-ja.tex 2012/10/29 02:51:41 1.29 +++ OpenXM/src/kan96xx/Doc/changelog-ja.tex 2013/09/26 05:33:06 1.34 @@ -1,4 +1,4 @@ -% $OpenXM: OpenXM/src/kan96xx/Doc/changelog-ja.tex,v 1.28 2012/09/16 01:53:08 takayama Exp $ +% $OpenXM: OpenXM/src/kan96xx/Doc/changelog-ja.tex,v 1.33 2013/09/25 07:30:52 takayama Exp $ \documentclass{jarticle} \title{ChangeLog \\ ---kan96xx, kxx, k097} \author{Nobuki Takayama} @@ -674,6 +674,82 @@ shell.c に help を追加. 作業ファイルの生成は {\tt generateTMPfiles()} ({\tt util/ox\_pathfinder.c}). +\section{2013-09-20, doPolymake} +bug fix. 有理数を accept. oxshell のマニュアルを更新. +class の利用法を思い出す. +\begin{verbatim} + [(FACETS) (polymake.data(polymake.POINTS([[1,0,0],[1,1,0],[1,0,1],[1,1,1/2]])))] + doPolymake /rr set +rr 1 get /ff set +ff (array) dc :: % class を array へ変換. +\end{verbatim} +{\tt primitive.c} で class を search. +KclassDataConversion() 関数を読めばよいことがわかる. +grep すると {\tt kclass.c} を探せばいい. +ここに tag がいろいろある. +usage に note-class を追加. + +\section{2013-09-22, oxdecode\_post} + +mime 形式の post message を URL encoding に変換 +(mime の判定等は現状なんちゃって). +これで, reverse proxy 経由でも正常動作. + +\begin{verbatim} +cat t.txt +FACETS POINTS +1 0 0 +1 1 0 +1 0 1 + + curl -F oxMessageBody=@t.txt http://polymake.math.kobe-u.ac.jp/cgi-bin/cgi-polymake.sh +\end{verbatim} + +\begin{verbatim} +library(RCurl); +postForm("http://polymake.math.kobe-u.ac.jp/cgi-bin/cgi-polymake.sh", + oxMessageBody="FACETS POINTS\n1 0 0\n1 1 0\n1 0 1") +[1] "POINTS\n1 0 0\n1 1 0\n1 0 1\r\n\nFACETS\n1 -1 -1\n0 1 0\n0 0 1\n\n + AFFINE_HULL\n\n\n_version 2.0\n_application polytope\n\n" +attr(,"Content-Type") + charset +"text/plain" "UTF-8" +\end{verbatim} + +{\tt cgiPolymake.log} に 1 を代入しておくと(既定値) +sm1log で /tmp/sm1log.txt に post message を記録. +date 関数を追加. + +curl を用いた呼び出しのテスト. +\begin{verbatim} +(cgi.sm1) run +/cgiQueryPolymake { cgiQueryPolymake.curl } def + [(FACETS) (polymake.data(polymake.POINTS([[1,0,0],[1,1,0],[1,0,1],[1,1,1/2]])))] /ff set +ff doPolymake.OoHG /rr set +\end{verbatim} + +\section{2013-09-25, usePolymake.*} +polymake のスイッチ. version により振る舞いが違うので注意. + +各種 log の場所. +\begin{enumerate} +\item server side. {\tt /tmp/sm1log.txt}: cgi-post の encoded 文字列. +\item server side. cgi-polymake.sh に tee を追加すると, oxdecode\_post 前の文字列を +保存できる. +\item client side. oxshell で work file を {\tt \$TMP} に残すには +oxshell の usage を見て, keep\_tmp\_files を使う. +local 版では {\tt @@@doPolymake.vars} に記録あり. +asir では {\tt polymake.log()} に格納. +\item {\tt usePolymake.OoHG.curl} の時は {\tt /tmp/sm1-q-cgi*.txt} +に cgi に問い合わせる時の文字列が格納される. +\end{enumerate} + +なお mac 版は error で bus error を起こす場合あり. +サンプル code は, {\tt misc-2013/09/genpos/mac.sm1}. +これは ticket. + +screenflow による覚え書きは, +fe の {\tt /Movies/oxvh/2013-09-25-polymake}. \end{document}