=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Doc/changelog-ja.tex,v retrieving revision 1.27 retrieving revision 1.33 diff -u -p -r1.27 -r1.33 --- OpenXM/src/kan96xx/Doc/changelog-ja.tex 2009/09/04 11:13:11 1.27 +++ OpenXM/src/kan96xx/Doc/changelog-ja.tex 2013/09/25 07:30:52 1.33 @@ -1,4 +1,4 @@ -% $OpenXM: OpenXM/src/kan96xx/Doc/changelog-ja.tex,v 1.26 2009/08/26 04:54:40 takayama Exp $ +% $OpenXM: OpenXM/src/kan96xx/Doc/changelog-ja.tex,v 1.32 2013/09/22 08:07:51 takayama Exp $ \documentclass{jarticle} \title{ChangeLog \\ ---kan96xx, kxx, k097} \author{Nobuki Takayama} @@ -642,6 +642,7 @@ debug 用に便利なコマンド. rr (UNDEF) getNode :: i-hg/crest09/Prog/fan*.sm1 (private) \end{verbatim} +%$ 関係あるfiles. Doc/cgi.sm1, trans/, @@ -652,6 +653,100 @@ k0 server で変換 ({\tt QuoteMode(1); }. trans/polymake.sm1 は, 組み込みマクロとなる. doPolymake は local のものを呼ぶ. +\section{2012-9-16, syz} +syz が存在しない場合に syz (hol.sm1) が warning を出力する件. +getRing を 空リストに対してやっていることが原因. +kanExport0.c の data\_conversion の key を出力することにより debug. + +\section{2012-10-29, doPolymake} + +doPolymake の仕組みを見て, 処理の bug を修正する予定. +shell.c に help を追加. +\begin{verbatim} + [(parse) (cgi.sm1) pushfile] extension + /doPolymake {doPolymake.OoHG} def + [(keep_tmp_files) (1)] oxshell + /afo (Hello! ) def [(cat) (stringIn://afo)] oxshell +\end{verbatim} +{\tt \$TMP} に 作業ファイルを保存. +{\tt kan96xx/trans} で データ形式の変換. +作業ファイルの生成は +{\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. \end{document}