[BACK]Return to process.texi CVS log [TXT][DIR] Up to [local] / OpenXM / src / asir-doc / parts

Diff for /OpenXM/src/asir-doc/parts/process.texi between version 1.6 and 1.15

version 1.6, 2000/11/13 00:16:34 version 1.15, 2003/05/16 08:12:58
Line 1 
Line 1 
 @comment $OpenXM: OpenXM/src/asir-doc/parts/process.texi,v 1.5 2000/09/25 05:12:51 noro Exp $  @comment $OpenXM: OpenXM/src/asir-doc/parts/process.texi,v 1.14 2003/04/20 08:01:26 noro Exp $
 \BJP  \BJP
 @node $BJ,;67W;;(B,,, Top  @node $BJ,;67W;;(B,,, Top
 @chapter $BJ,;67W;;(B  @chapter $BJ,;67W;;(B
Line 28 
Line 28 
 @section OpenXM  @section OpenXM
   
 \BJP  \BJP
 @b{Asir} $B$O(B, $BJ,;67W;;$K$*$1$kDL?.%W%m%H%3%k$H$7$F(B, @b{OpenXM}  @b{Asir} $B$O(B, $BJ,;67W;;$K$*$1$kDL?.%W%m%H%3%k$H$7$F(B,
 (Open message eXchange protocol for Mathematics) $B$r:NMQ$7$F$$$k(B.  @b{OpenXM}
 @b{OpenXM} $B$O(B, $B<g$H$7$F?t3X%*%V%8%'%/%H$r%W%m%;%94V$G$d$j$H$j$9$k(B  (Open message eXchange for Mathematics) $B%W%m%H%3%k$r:NMQ$7$F$$$k(B.
   @b{OpenXM} $B%W%m%8%'%/%H$K$D$$$F$O(B,
   @ifhtml
   <A HREF="http://www.math.sci.kobe-u.ac.jp/OpenXM/">
   @end ifhtml
   @code{http://www.math.sci.kobe-u.ac.jp/OpenXM/}
   @ifhtml
   </A>
   @end ifhtml
   $B$r;2>H$7$F$[$7$$(B.
   
   @b{OpenXM} $B%W%m%H%3%k$O(B, $B<g$H$7$F?t3X%*%V%8%'%/%H$r%W%m%;%94V$G$d$j$H$j$9$k(B
 $B$?$a$N5,Ls$G$"$k(B. @b{OpenXM} $B$K$*$$$F$O(B  $B$?$a$N5,Ls$G$"$k(B. @b{OpenXM} $B$K$*$$$F$O(B
 \E  \E
 \BEG  \BEG
Line 38  On @b{Asir} distributed computations are done under @b
Line 49  On @b{Asir} distributed computations are done under @b
 (Open message eXchange protocol for Mathematics), which  (Open message eXchange protocol for Mathematics), which
 is a protocol for exchanging mainly mathematical objects  is a protocol for exchanging mainly mathematical objects
 between processes.  between processes.
   See
   @ifhtml
   <A HREF="http://www.math.sci.kobe-u.ac.jp/OpenXM/">
   @end ifhtml
   @code{http://www.math.sci.kobe-u.ac.jp/OpenXM/}
   @ifhtml
   </A>
   @end ifhtml
   for the details of @b{OpenXM}.
 In @b{OpenXM} a distributed computation is done as follows:  In @b{OpenXM} a distributed computation is done as follows:
 \E  \E
   
Line 505  input @code{quit}.
Line 525  input @code{quit}.
 * ox_flush::  * ox_flush::
 * ox_get_serverinfo::  * ox_get_serverinfo::
 * generate_port try_bind_listen try_connect try_accept register_server::  * generate_port try_bind_listen try_connect try_accept register_server::
 * ifplot conplot plot plotover::  * ifplot conplot plot polarplot plotover::
 * open_canvas clear_canvas draw_obj::  * open_canvas clear_canvas draw_obj draw_string::
 @end menu  @end menu
   
 \JP @node ox_launch ox_launch_nox ox_shutdown,,, $BJ,;67W;;$K4X$9$k4X?t(B  \JP @node ox_launch ox_launch_nox ox_shutdown,,, $BJ,;67W;;$K4X$9$k4X?t(B
Line 533  input @code{quit}.
Line 553  input @code{quit}.
 @item host  @item host
 \JP $BJ8;zNs$^$?$O(B 0  \JP $BJ8;zNs$^$?$O(B 0
 \EG string or 0  \EG string or 0
 @item dir, command  @item dir command
 \JP $BJ8;zNs(B  \JP $BJ8;zNs(B
 \EG string  \EG string
 @item id  @item id
Line 779  ox_xterm*saveLines:1000
Line 799  ox_xterm*saveLines:1000
 \EG @item References  \EG @item References
 @fref{ox_rpc ox_cmo_rpc ox_execute_string},  @fref{ox_rpc ox_cmo_rpc ox_execute_string},
 @fref{ox_pop_cmo ox_pop_local},  @fref{ox_pop_cmo ox_pop_local},
 @fref{ifplot conplot plot plotover}  @fref{ifplot conplot plot polarplot plotover}
 @end table  @end table
   
 \JP @node ox_launch_generic,,, $BJ,;67W;;$K4X$9$k4X?t(B  \JP @node ox_launch_generic,,, $BJ,;67W;;$K4X$9$k4X?t(B
Line 800  ox_xterm*saveLines:1000
Line 820  ox_xterm*saveLines:1000
 @item host  @item host
 \JP $BJ8;zNs$^$?$O(B 0  \JP $BJ8;zNs$^$?$O(B 0
 \EG string or 0  \EG string or 0
 @item launcher, server  @item launcher server
 \JP $BJ8;zNs(B  \JP $BJ8;zNs(B
 \EG string  \EG string
 @item use_unix, use_ssh, use_x, conn_to_serv  @item use_unix use_ssh use_x conn_to_serv
 \JP $B@0?t(B  \JP $B@0?t(B
 \EG integer  \EG integer
 @end table  @end table
Line 948  the client executes @code{connect}.
Line 968  the client executes @code{connect}.
 @item host  @item host
 \JP $BJ8;zNs(B  \JP $BJ8;zNs(B
 \EG string  \EG string
 @item port,control_port,server_port  @item port control_port server_port
 \JP $B@0?t$^$?$OJ8;zNs(B  \JP $B@0?t$^$?$OJ8;zNs(B
 \EG integer or string  \EG integer or string
 @item socket,control_socket,server_socket  @item socket control_socket server_socket
 \JP $B@0?t(B  \JP $B@0?t(B
 \EG integer  \EG integer
 @end table  @end table
Line 1085  If X environment is not available or is not necessary,
Line 1105  If X environment is not available or is not necessary,
 @end example  @end example
   
 @example  @example
 [5] ox_launch_nox("127.0.0.1","/usr/local/lib/asir","/usr/local/lib/asir/ox_asir");  [5] ox_launch_nox("127.0.0.1","/usr/local/lib/asir",
   "/usr/local/lib/asir/ox_asir");
 0  0
 @end example  @end example
   
Line 1093  If X environment is not available or is not necessary,
Line 1114  If X environment is not available or is not necessary,
 [7] RemoteLibDir = "/usr/local/lib/asir/"$  [7] RemoteLibDir = "/usr/local/lib/asir/"$
 [8] Machines = ["sumire","rokkaku","genkotsu","shinpuku"];  [8] Machines = ["sumire","rokkaku","genkotsu","shinpuku"];
 [sumire,rokkaku,genkotsu,shinpuku]  [sumire,rokkaku,genkotsu,shinpuku]
 [9] Servers = map(ox_launch,Machines,RemoteLibDir,RemoteLibDir+"ox_asir");  [9] Servers = map(ox_launch,Machines,RemoteLibDir,
   RemoteLibDir+"ox_asir");
 [0,1,2,3]  [0,1,2,3]
 @end example  @end example
   
Line 1130  If X environment is not available or is not necessary,
Line 1152  If X environment is not available or is not necessary,
 @item command  @item command
 \JP $BJ8;zNs(B  \JP $BJ8;zNs(B
 \EG string  \EG string
 @item arg0, arg1, ...  @item arg0 ...
 \JP $BG$0U(B ($B0z?t(B)  \JP $BG$0U(B ($B0z?t(B)
 \EG arbitrary (arguments)  \EG arbitrary (arguments)
 @end table  @end table
Line 1260  The result is pushed to the stack.
Line 1282  The result is pushed to the stack.
   
 @item  @item
 @code{register_handler()} $B$O(B, @kbd{C-c} $B$J$I$K$h$k3d$j9~$_$N:]$K(B,  @code{register_handler()} $B$O(B, @kbd{C-c} $B$J$I$K$h$k3d$j9~$_$N:]$K(B,
 @kbd{u} $B$r;XDj$9$k$3$H$G(B, $BL50z?t%f!<%6Dj5A4X?t(B @var{func()} $B$,8F$S=P$5$l$k(B  @kbd{u} $B$r;XDj$9$k$3$H$G(B, $BL50z?t%f!<%6Dj5A4X?t(B @var{func}() $B$,8F$S=P$5$l$k(B
 $B$h$&$K@_Dj$9$k(B. $B$3$N4X?t$K(B, @code{ox_reset()} $B$r8F$S=P$5$;$k$3$H$G(B,  $B$h$&$K@_Dj$9$k(B. $B$3$N4X?t$K(B, @code{ox_reset()} $B$r8F$S=P$5$;$k$3$H$G(B,
 $B3d$j9~$_$N:]$K<+F0E*$K(B @b{OpenXM} server $B$N%j%;%C%H$r9T$&$3$H$,$G$-$k(B.  $B3d$j9~$_$N:]$K<+F0E*$K(B @b{OpenXM} server $B$N%j%;%C%H$r9T$&$3$H$,$G$-$k(B.
   
Line 1291  specified in @b{OpenXM}. @samp{ox_asir} immediately en
Line 1313  specified in @b{OpenXM}. @samp{ox_asir} immediately en
 mode and pops up an window to input debug commands on X window system.  mode and pops up an window to input debug commands on X window system.
   
 @item  @item
 @code{register_handler()} registers a function @var{func()}.  @code{register_handler()} registers a function @var{func}().
 If @kbd{u} is specified on a keybord interrupt, @var{func()}  If @kbd{u} is specified on a keybord interrupt, @var{func}()
 is executed before returning the toplevel.  is executed before returning the toplevel.
 If @code{ox_reset()} calls are included in @var{func()},  If @code{ox_reset()} calls are included in @var{func}(),
 one can automatically reset @b{OpenXM} servers on a keyboard interrupt.  one can automatically reset @b{OpenXM} servers on a keyboard interrupt.
   
 @item  @item
Line 1444  Finally call @code{ox_get} for a ready process.
Line 1466  Finally call @code{ox_get} for a ready process.
 @end itemize  @end itemize
   
 @example  @example
 [3] ox_rpc(0,"fctr",x^100-y^100);  [341] ox_cmo_rpc(0,"fctr",x^2-1);
 0  0
 [4] ox_push_cmd(0,258);  [342] ox_pop_cmo(0);
   [[1,1],[x-1,1],[x+1,1]]
   [343] ox_cmo_rpc(0,"newvect",3);
 0  0
 [5] ox_select([0]);  [344] ox_pop_cmo(0);
 [0]  error([41,cannot convert to CMO object])
 [6] ox_get(0);  [345] ox_pop_local(0);
 [[1,1],[x^2+y^2,1],[x^4-y*x^3+y^2*x^2-y^3*x+y^4,1],...]  [ 0 0 0 ]
 @end example  @end example
   
 @table @t  @table @t
Line 1522  Usually @b{OX_SYNC_BALL} will be ignored by the peer.
Line 1546  Usually @b{OX_SYNC_BALL} will be ignored by the peer.
 \E  \E
 @end itemize  @end itemize
   
   @example
   [3] ox_rpc(0,"fctr",x^100-y^100);
   0
   [4] ox_push_cmd(0,258);
   0
   [5] ox_select([0]);
   [0]
   [6] ox_get(0);
   [[1,1],[x^2+y^2,1],[x^4-y*x^3+y^2*x^2-y^3*x+y^4,1],...]
   @end example
   
 @table @t  @table @t
 \JP @item $B;2>H(B  \JP @item $B;2>H(B
 \EG @item References  \EG @item References
Line 1594  is realized as combinations of @code{ox_push_cmd} and 
Line 1629  is realized as combinations of @code{ox_push_cmd} and 
 @findex ox_pops  @findex ox_pops
   
 @table @t  @table @t
 @item ox_pops(@var{number}[,@var{nitem})  @item ox_pops(@var{number}[,@var{nitem}])
 \JP :: $B%W%m%;%9<1JL;R(B @var{number} $B$N%W%m%;%9$N%9%?%C%/$+$i%G!<%?$r<h$j=|$/(B.  \JP :: $B%W%m%;%9<1JL;R(B @var{number} $B$N%W%m%;%9$N%9%?%C%/$+$i%G!<%?$r<h$j=|$/(B.
 \EG :: Removes data form the stack of a process whose identifier is @var{number}.  \EG :: Removes data form the stack of a process whose identifier is @var{number}.
 @end table  @end table
Line 1839  Mathcap $B$r%j%9%H$H$7$FJV$9(B. 
Line 1874  Mathcap $B$r%j%9%H$H$7$FJV$9(B. 
 \BEG  \BEG
 @item If @var{id} is specified, the mathcap of the process whose  @item If @var{id} is specified, the mathcap of the process whose
 identifier is @var{id} is returned.  identifier is @var{id} is returned.
 @item If @var{id} is not specified, the list of @var{[id,Mathcap]}  @item If @var{id} is not specified, the list of [@var{id},@var{Mathcap}]
 is returned, where @var{id} is the identifier of a currently active process,  is returned, where @var{id} is the identifier of a currently active process,
 and @var{Mathcap} is the mathcap of the process.  and @var{Mathcap} is the mathcap of the process.
 identifier @var{id} is returned.  identifier @var{id} is returned.
Line 1850  identifier @var{id} is returned.
Line 1885  identifier @var{id} is returned.
 [343] ox_get_serverinfo(0);  [343] ox_get_serverinfo(0);
 [[199909080,Ox_system=ox_sm1.plain,Version=2.991118,HOSTTYPE=FreeBSD],  [[199909080,Ox_system=ox_sm1.plain,Version=2.991118,HOSTTYPE=FreeBSD],
 [262,263,264,265,266,268,269,272,273,275,276],  [262,263,264,265,266,268,269,272,273,275,276],
 [[514],[2130706434,1,2,4,5,17,19,20,22,23,24,25,26,30,31,60,61,27,33,40,16,34]]]  [[514],[2130706434,1,2,4,5,17,19,20,22,23,24,25,26,30,31,60,61,27,
   33,40,16,34]]]
 [344] ox_get_serverinfo();  [344] ox_get_serverinfo();
 [[0,[[199909080,Ox_system=ox_sm1.plain,Version=2.991118,HOSTTYPE=FreeBSD],  [[0,[[199909080,Ox_system=ox_sm1.plain,Version=2.991118,
   HOSTTYPE=FreeBSD],
 [262,263,264,265,266,268,269,272,273,275,276],  [262,263,264,265,266,268,269,272,273,275,276],
 [[514],[2130706434,1,2,4,5,17,19,20,22,23,24,25,26,30,31,60,61,27,33,40,16,34]]]],  [[514],[2130706434,1,2,4,5,17,19,20,22,23,24,25,26,30,31,60,61,27,33,
   40,16,34]]]],
 [1,[[199901160,ox_asir],  [1,[[199901160,ox_asir],
 [276,275,258,262,263,266,267,268,274,269,272,265,264,273,300,270,271],  [276,275,258,262,263,266,267,268,274,269,272,265,264,273,300,270,271],
 [[514,2144202544],  [[514,2144202544],
 [1,2,3,4,5,2130706433,2130706434,17,19,20,21,22,24,25,26,31,27,33,60],[0,1]]]]]  [1,2,3,4,5,2130706433,2130706434,17,19,20,21,22,24,25,26,31,27,33,60],
   [0,1]]]]]
 @end example  @end example
   
 @table @t  @table @t
Line 1867  identifier @var{id} is returned.
Line 1906  identifier @var{id} is returned.
 @fref{Mathcap}.  @fref{Mathcap}.
 @end table  @end table
   
 \JP @node ifplot conplot plot plotover,,, $BJ,;67W;;$K4X$9$k4X?t(B  \JP @node ifplot conplot plot polarplot plotover,,, $BJ,;67W;;$K4X$9$k4X?t(B
 \EG @node ifplot conplot plot plotover,,, Functions for distributed computation  \EG @node ifplot conplot plot polarplot plotover,,, Functions for distributed computation
 @subsection @code{ifplot}, @code{conplot}, @code{plot}, @code{plotover}  @subsection @code{ifplot}, @code{conplot}, @code{plot}, @code{polarplot}, @code{plotover}
 @findex ifplot  @findex ifplot
 @findex conplot  @findex conplot
   @findex polarplot
 @findex plot  @findex plot
 @findex plotover  @findex plotover
   
Line 1885  identifier @var{id} is returned.
Line 1925  identifier @var{id} is returned.
 @item plot(@var{func} [,@var{geometry}] [,@var{xrange}] [,@var{id}] [,@var{name}])  @item plot(@var{func} [,@var{geometry}] [,@var{xrange}] [,@var{id}] [,@var{name}])
 \JP :: 1 $BJQ?t4X?t$N%0%i%U$rI=<($9$k(B.  \JP :: 1 $BJQ?t4X?t$N%0%i%U$rI=<($9$k(B.
 \EG :: Displays the graph of a univariate function.  \EG :: Displays the graph of a univariate function.
   @item polarplot(@var{func} [,@var{geometry}] [,@var{thetarange}] [,@var{id}] [,@var{name}])
   \JP :: $B6K7A<0$GM?$($i$l$?6J@~$rI=<($9$k(B.
   \EG :: Displays the graph of a curve given in polar form.
 @item plotover(@var{func},@var{id},@var{number})  @item plotover(@var{func},@var{id},@var{number})
 \JP :: $B$9$G$KB8:_$7$F$$$k%&%#%s%I%&$XIA2h$9$k(B.  \JP :: $B$9$G$KB8:_$7$F$$$k%&%#%s%I%&$XIA2h$9$k(B.
 \EG Plots on the existing window real zeros of a bivariate function.  \EG Plots on the existing window real zeros of a bivariate function.
Line 1897  identifier @var{id} is returned.
Line 1940  identifier @var{id} is returned.
 @item func  @item func
 \JP $BB?9`<0(B  \JP $BB?9`<0(B
 \EG polynomial  \EG polynomial
 @item geometry, xrange, yrange, zrange  @item geometry  xrange  yrange  zrange
 \JP $B%j%9%H(B  \JP $B%j%9%H(B
 \EG list  \EG list
 @item id, number  @item id  number
 \JP $B@0?t(B  \JP $B@0?t(B
 \EG integer  \EG integer
 @item name  @item name
Line 1913  identifier @var{id} is returned.
Line 1956  identifier @var{id} is returned.
 @item  @item
 @code{ifplot()} $B$O(B, 2 $BJQ?t4X?t(B @var{func} $B$N<B?t>e$G$NNmE@$N(B  @code{ifplot()} $B$O(B, 2 $BJQ?t4X?t(B @var{func} $B$N<B?t>e$G$NNmE@$N(B
 $B%0%i%U$NI=<($r9T$&(B. @code{conplot()} $B$O(B, $BF1MM$N0z?t$KBP$7(B,  $B%0%i%U$NI=<($r9T$&(B. @code{conplot()} $B$O(B, $BF1MM$N0z?t$KBP$7(B,
 $BEy9b@~$NI=<($r9T$&(B. @code{plot()} $B$O(B 1 $BJQ?t4X?t$N(B  $BEy9b@~$NI=<($r9T$&(B.
 $B%0%i%U$NI=<($r9T$&(B.  @code{plot()} $B$O(B 1 $BJQ?t4X?t$N%0%i%U$NI=<($r9T$&(B.
   @code{polarplot()} $B$O(B $B6K7A<0(B @var{r}=@var{f}(@var{theta}) $B$GI=$5$l$?6J@~$N%0%i%U$NI=<($r9T$&(B.
   
 @item  @item
 $B$3$l$i$O(B OpenXM $B%5!<%P$H$7$F<B8=$5$l$F$$$k(B. UNIX $B>e$G$O(B  $B$3$l$i$O(B OpenXM $B%5!<%P$H$7$F<B8=$5$l$F$$$k(B. UNIX $B>e$G$O(B
 @samp{ox_plot} $B$,(B, Windows $B>e$G$O(B @samp{engine} $B$,$3$l$i$N5!G=(B  @samp{ox_plot} $B$,(B, Windows $B>e$G$O(B @samp{engine} $B$,$3$l$i$N5!G=(B
 $B$rDs6!$7$F$*$j(B, $B$3$l$i$O(B @b{Asir} $B$NI8=`%i%$%V%i%j%G%#%l%/%H%j$K$"$k(B.  $B$rDs6!$7$F$*$j(B, $B$3$l$i$O(B @b{Asir} $B$NI8=`%i%$%V%i%j%G%#%l%/%H%j$K$"$k(B.
 $B$3$l$i$O(B @code{ox_launch()} $B$^$?$O(B @code{ox_launch_nox()}  $B%"%/%F%#%V$J(B @samp{ox_plot} $B$N(B id $B$,(B @var{id} $B$H$7$F;XDj$5$l$?>l9g(B,
  $B$K$h$j5/F0$7$F$*$/I,MW$,$"$k(B.  $B$=$N%5!<%P$,MQ$$$i$l$k(B. id $B$N;XDj$,$J$$>l9g$K$O(B, $B5/F0$5$l$F(B
   $B$$$k%5!<%P$N$&$A(B, @samp{ox_plot} $B$,$"$l$P$=$N%5!<%P$,MQ$$$i$l$k(B.
   @samp{ox_plot} $B$,5/F0$5$l$F$$$J$$>l9g$K$O(B,
   @code{ox_launch_nox()} $B$,<+F0E*$K<B9T$5$l$F(B, @samp{ox_plot} $B$,(B
   $BN)$A>e$,$j(B, $B$=$l$,MQ$$$i$l$k(B.
   
 @item  @item
 $B0z?t$NFb(B, @var{func} $B$OI,?\$G$"$k(B. $B$=$NB>$N0z?t$O%*%W%7%g%s$G$"$k(B.  $B0z?t$NFb(B, @var{func} $B$OI,?\$G$"$k(B. $B$=$NB>$N0z?t$O%*%W%7%g%s$G$"$k(B.
Line 1929  identifier @var{id} is returned.
Line 1977  identifier @var{id} is returned.
   
 @table @var  @table @var
 @item geometry  @item geometry
 $B%&%#%s%I%&$N%5%$%:$r%I%C%HC10L$G(B @var{[x,y]} $B$G;XDj$9$k(B.  $B%&%#%s%I%&$N%5%$%:$r%I%C%HC10L$G(B [@var{x},@var{y}] $B$G;XDj$9$k(B.
 (@var{[}@code{300},@code{300}@var{]}. )  ([@code{300},@code{300}]. )
   
 @item xrange, yrange  @item xrange  yrange
 $BJQ?t$NHO0O$N;XDj$G(B, @var{[v,vmin,vmax]} $B$G;XDj$9$k(B.  $BJQ?t$NHO0O$N;XDj$G(B, [@var{v},@var{vmin},@var{vmax}] $B$G;XDj$9$k(B.
 ($B$$$:$l$NJQ?t$b(B @var{[v},@code{-2},@code{2}@var{]}.)  ($B$$$:$l$NJQ?t$b(B [@var{v},@code{-2},@code{2}].)
 $B$3$N;XDj$,$J$$>l9g(B, @var{func} $B$K4^$^$l$kJQ?t$NFbJQ?t=g=x$N>e$NJQ?t(B  $B$3$N;XDj$,$J$$>l9g(B, @var{func} $B$K4^$^$l$kJQ?t$NFbJQ?t=g=x$N>e$NJQ?t(B
 $B$,(B @samp{x}, $B2<$NJQ?t$,(B @samp{y} $B$H$7$F07$o$l$k(B. $B$3$l$rHr$1$k$?$a$K$O(B  $B$,(B @samp{x}, $B2<$NJQ?t$,(B @samp{y} $B$H$7$F07$o$l$k(B. $B$3$l$rHr$1$k$?$a$K$O(B
 @var{xrange}, @var{yrange} $B$r;XDj$9$k(B. $B$^$?(B, @var{func} $B$,(B 1 $BJQ?t$N(B  @var{xrange}, @var{yrange} $B$r;XDj$9$k(B. $B$^$?(B, @var{func} $B$,(B 1 $BJQ?t$N(B
Line 1942  identifier @var{id} is returned.
Line 1990  identifier @var{id} is returned.
   
 @item zrange  @item zrange
 @code{conplot()} $B$N>l9g$N$_;XDj$G$-$k(B. $B7A<0$O(B  @code{conplot()} $B$N>l9g$N$_;XDj$G$-$k(B. $B7A<0$O(B
 @var{[v,vmin,vmax} @code{[},@var{step} @code{]}@var{]} $B$G(B, @var{step} $B$,;XDj$5$l(B  [@var{v},@var{vmin},@var{vmax} @code{[},@var{step} @code{]}] $B$G(B, @var{step} $B$,;XDj$5$l(B
 $B$?>l9g$K$O(B, $BEy9b@~$N4V3V$,(B @var{(vmax-vmin)/step} $B$H$J$k(B.  $B$?>l9g$K$O(B, $BEy9b@~$N4V3V$,(B (@var{vmax}-@var{vmin})/@var{step} $B$H$J$k(B.
 (@var{[z},@code{-2},@code{2},@code{16}@var{]}.)  ([@var{z},@code{-2},@code{2},@code{16}].)
   
 @item id  @item id
 $B1s3V%W%m%;%9$NHV9f(B, $B$9$J$o$A(B @code{ox_launch()} $B$,JV$7$?HV9f$r;XDj$9$k(B.  $B1s3V%W%m%;%9$NHV9f(B, $B$9$J$o$A(B @code{ox_launch()} $B$,JV$7$?HV9f$r;XDj$9$k(B.
Line 2029  Function @code{ifplot()} draws a graph of real zeros o
Line 2077  Function @code{ifplot()} draws a graph of real zeros o
 function.  function.
 Function @code{conplot()} plots the contour lines for a same argument.  Function @code{conplot()} plots the contour lines for a same argument.
 Function @code{plot()} draws the graph of a uninivariate function.  Function @code{plot()} draws the graph of a uninivariate function.
   Function @code{polarplot()} draws the graph of a curve given in polar form
   @var{r}=@var{f}(@var{theta}).
   
 @item  @item
 The plotting functions are realized by an OpenXM server.  The plotting functions are realized by an OpenXM server.
 On UNIX it is @samp{ox_plot} in @b{Asir} root directory.  On UNIX it is @samp{ox_plot} in @b{Asir} root directory.
 On Windows @samp{engine} acts as @samp{ox_plot}.  On Windows @samp{engine} acts as @samp{ox_plot}.
 Of course, it must be activated by @code{ox_launch()} @code{ox_launch_nox()}.  Of course, it must be activated by @code{ox_launch()} @code{ox_launch_nox()}.
   If the identifier of an active @samp{ox_plot} is specified as @var{id},
   the server is used for drawing pictures.
   If @var{id} is not specified, an available @samp{ox_plot} server
   is used if it exists. If no @samp{ox_plot} server is available,
   then @code{ox_launch_nox()} is automatically executed to
   invoke @samp{ox_plot}.
   
 @item  @item
 Argument @var{func} is indispensable. Other arguments are optional.  Argument @var{func} is indispensable. Other arguments are optional.
Line 2043  are listed below. 
Line 2099  are listed below. 
   
 @table @var  @table @var
 @item geometry  @item geometry
 Window size is specified by @var{[x,y]} in unit `dot.'  Window size is specified by [@var{x},@var{y}] in unit `dot.'
 (@var{[}@code{300},@code{300}@var{]} for UNIX version;  [@code{300},@code{300}] for UNIX version;
   
 @item xrange, yrange  @item xrange  yrange
 Value ranges of the variables are specified by @var{[v,vmin,vmax]}.  Value ranges of the variables are specified by [@var{v},@var{vmin},@var{vmax}].
 (@var{[v},@code{-2},@code{2}@var{]} for each variable.)  ([@var{v},@code{-2},@code{2}] for each variable.)
 If this specification is omitted, the indeterminate having the higher  If this specification is omitted, the indeterminate having the higher
 order in @var{func} is taken for @samp{x} and the one with lower order  order in @var{func} is taken for @samp{x} and the one with lower order
 is taken for @samp{y}.  To change this selection, specify explicitly  is taken for @samp{y}.  To change this selection, specify explicitly
Line 2057  For an uni-variate function, the specification is mand
Line 2113  For an uni-variate function, the specification is mand
   
 @item zrange  @item zrange
 This specification applies only to @code{conplot()}.  The format is  This specification applies only to @code{conplot()}.  The format is
 @var{[v,vmin,vmax} @code{[},@var{step} @code{]}@var{]}.  [@var{v},@var{vmin},@var{vmax} @code{[},@var{step} @code{]}].
 If @var{step} is specified, the height difference of contours is set to  If @var{step} is specified, the height difference of contours is set to
 @var{(vmax-vmin)/step}.  (@var{vmax}-@var{vmin})/@var{step}.
 (@var{[z},@code{-2},@code{2},@code{16}@var{]}.)  ([@var{z},@code{-2},@code{2},@code{16}].)
   
 @item id  @item id
 This specifies the number of the remote process by which you wish  This specifies the number of the remote process by which you wish
Line 2114  the window. 
Line 2170  the window. 
   
 @item  @item
 Several operations are available on the window: by button operations  Several operations are available on the window: by button operations
 for UNIX version, and pull-down menus for Macintosh version.  for UNIX version, and pull-down menus for Windows version.
   
 @table @code  @table @code
 @item quit  @item quit
Line 2188  plot*form*ydone*background:white
Line 2244  plot*form*ydone*background:white
 @fref{ox_launch ox_launch_nox ox_shutdown}, @fref{ox_reset ox_intr register_handler}  @fref{ox_launch ox_launch_nox ox_shutdown}, @fref{ox_reset ox_intr register_handler}
 @end table  @end table
   
 \JP @node open_canvas clear_canvas draw_obj,,, $BJ,;67W;;$K4X$9$k4X?t(B  \JP @node open_canvas clear_canvas draw_obj draw_string,,, $BJ,;67W;;$K4X$9$k4X?t(B
 \EG @node open_canvas clear_canvas draw_obj,,, Functions for distributed computation  \EG @node open_canvas clear_canvas draw_obj draw_string,,, Functions for distributed computation
 @subsection @code{open_canvas}, @code{clear_canvas}, @code{draw_obj}  @subsection @code{open_canvas}, @code{clear_canvas}, @code{draw_obj}, @code{draw_string}
 @findex open_canvas  @findex open_canvas
 @findex clear_canvas  @findex clear_canvas
 @findex draw_obj  @findex draw_obj
   @findex draw_string
   
 @table @t  @table @t
 @item open_canvas(@var{id}[,@var{geometry}])  @item open_canvas(@var{id}[,@var{geometry}])
Line 2205  plot*form*ydone*background:white
Line 2262  plot*form*ydone*background:white
 @item draw_obj(@var{id},@var{index},@var{pointorsegment} [,@var{color}])  @item draw_obj(@var{id},@var{index},@var{pointorsegment} [,@var{color}])
 \JP :: $B%-%c%s%P%9>e$KE@$^$?$O@~J,$rIA2h$9$k(B.  \JP :: $B%-%c%s%P%9>e$KE@$^$?$O@~J,$rIA2h$9$k(B.
 \EG :: Draws a point or a line segment on a canvas.  \EG :: Draws a point or a line segment on a canvas.
   @item draw_string(@var{id},@var{index},[@var{x},@var{y}],@var{string} [,@var{color}])
   \JP :: $B%-%c%s%P%9>e$KJ8;zNs$rIA2h$9$k(B.
   \EG :: Draws a character string on a canvas.
 @end table  @end table
   
 @table @var  @table @var
 @item return  @item return
 0  0
 @item id, index, color  @item id  index  color  x  y
 \JP $B@0?t(B  \JP $B@0?t(B
 \EG integer  \EG integer
 @item pointorsegment  @item pointorsegment
 \JP $B%j%9%H(B  \JP $B%j%9%H(B
 \EG list  \EG list
   @item string
   \JP $BJ8;zNs(B
   \EG character string
 @end table  @end table
   
 @itemize @bullet  @itemize @bullet
Line 2231  These functions are supplied by the OpenXM server @sam
Line 2294  These functions are supplied by the OpenXM server @sam
 @item  @item
 \BJP  \BJP
 @code{open_canvas} $B$O(B, $BIA2hMQ$N%&%#%s%I%&(B($B%-%c%s%P%9(B)$B$r@8@.$9$k(B.  @code{open_canvas} $B$O(B, $BIA2hMQ$N%&%#%s%I%&(B($B%-%c%s%P%9(B)$B$r@8@.$9$k(B.
 @var{geometry} $B$K$h$j%&%#%s%I%&$N%5%$%:$r(B pixel $BC10L$G(B @var{[x,y]} $B$G;XDj$9$k(B.  @var{geometry} $B$K$h$j%&%#%s%I%&$N%5%$%:$r(B pixel $BC10L$G(B [@var{x},@var{y}] $B$G;XDj$9$k(B.
 default size $B$O(B @var{[}@code{300},@code{300}@var{]}.  default size $B$O(B [@code{300},@code{300}].
 $B%-%c%s%P%9$N<1JL;R$H$7$F(B, $B@0?tCM$r(B OpenXM $B%5!<%P$N%9%?%C%/$K(B push $B$9$k(B.  $B%-%c%s%P%9$N<1JL;R$H$7$F(B, $B@0?tCM$r(B OpenXM $B%5!<%P$N%9%?%C%/$K(B push $B$9$k(B.
 $B$3$N<1JL;R$O(B @code{draw_obj} $B$N8F$S=P$7$KI,MW$G$"$j(B, @code{ox_pop_cmo} $B$K(B  $B$3$N<1JL;R$O(B @code{draw_obj} $B$N8F$S=P$7$KI,MW$G$"$j(B, @code{ox_pop_cmo} $B$K(B
 $B$h$j<h$j=P$7$FJ];}$9$kI,MW$,$"$k(B.  $B$h$j<h$j=P$7$FJ];}$9$kI,MW$,$"$k(B.
Line 2240  default size $B$O(B @var{[}@code{300},@code{300}@var
Line 2303  default size $B$O(B @var{[}@code{300},@code{300}@var
 \BEG  \BEG
 @code{open_canvas} opens a canvas, which is a window for drawing objecgts.  @code{open_canvas} opens a canvas, which is a window for drawing objecgts.
 One can specifies the size of a canvas in pixel by  One can specifies the size of a canvas in pixel by
 supplying @var{geometry} option @var{[x,y]}. The default size is  supplying @var{geometry} option [@var{x},@var{y}]. The default size is
 @var{[}@code{300},@code{300}@var{]}.  [@code{300},@code{300}].
 This function pushes an integer value onto the stack of the OpenXM server.  This function pushes an integer value onto the stack of the OpenXM server.
 The value is used to distiguish the opened canvas and one has to pop  The value is used to distiguish the opened canvas and one has to pop
 and maintain the value by @code{ox_pop_cmo} for subsequent calls of  and maintain the value by @code{ox_pop_cmo} for subsequent calls of
Line 2260  and a canvas id @var{index}.
Line 2323  and a canvas id @var{index}.
 \BJP  \BJP
 @code{draw_obj} $B$O(B, $B%5!<%P(B id @var{id}, $B%-%c%s%P%9(B id @var{index}  @code{draw_obj} $B$O(B, $B%5!<%P(B id @var{id}, $B%-%c%s%P%9(B id @var{index}
 $B$G;XDj$5$l$k%-%c%s%P%9$KE@$^$?$O@~J,$rIA2h$9$k(B. @var{pointorsegment}  $B$G;XDj$5$l$k%-%c%s%P%9$KE@$^$?$O@~J,$rIA2h$9$k(B. @var{pointorsegment}
 $B$,(B @var{[x,y]} $B$N>l9gE@$N:BI8(B, @var{[x,y,u,v]} $B$N>l9g(B @var{[x,y]},  $B$,(B [@var{x},@var{y}] $B$N>l9gE@$N:BI8(B, [@var{x},@var{y},@var{u},@var{v}] $B$N>l9g(B [@var{x},@var{y}],
 @var{[u,v]} $B$r7k$V@~J,$rI=$9$H8+$J$5$l$k(B.  [@var{u},@var{v}] $B$r7k$V@~J,$rI=$9$H8+$J$5$l$k(B.
 $B%-%c%s%P%9$N:BI8$O(B, $B:8>e6y$r86E@$H$7$F2#J}8~$K(B  $B%-%c%s%P%9$N:BI8$O(B, $B:8>e6y$r86E@$H$7$F2#J}8~$K(B
 $BBh0l:BI8(B, $B=DJ}8~$KBhFs:BI8$r$H$k(B. $BCM$O(B pixel $BC10L$G;XDj$9$k(B.  $BBh0l:BI8(B, $B=DJ}8~$KBhFs:BI8$r$H$k(B. $BCM$O(B pixel $BC10L$G;XDj$9$k(B.
 @var{color} $B$N;XDj$,$"$k>l9g(B, @var{color/65536} mod 256,  @var{color} $B$N;XDj$,$"$k>l9g(B, @var{color/65536} mod 256,
Line 2269  and a canvas id @var{index}.
Line 2332  and a canvas id @var{index}.
 $B$NCM(B ($B:GBg(B 255) $B$H$_$J$9(B.  $B$NCM(B ($B:GBg(B 255) $B$H$_$J$9(B.
 \E  \E
 \BEG  \BEG
 @code{draw_obj_canvas} draws a point or a line segment on  @code{draw_obj} draws a point or a line segment on
 a canvas specified by a server id @var{id} and a canvas id @var{index}.  a canvas specified by a server id @var{id} and a canvas id @var{index}.
 If @var{pointorsegment} is @var{[x,y]}, it is regarded as a point.  If @var{pointorsegment} is [@var{x},@var{y}], it is regarded as a point.
 If @var{pointorsegment} is @var{[x,y,u,v]}, it is regarded  If @var{pointorsegment} is [@var{x},@var{y},@var{u},@var{v}], it is regarded
 as a line segment which connects @var{[x,y]} and @var{[u,v]}.  as a line segment which connects [@var{x},@var{y}] and [@var{u},@var{v}].
 If @var{color} is specified, @var{color/65536} mod 256,  If @var{color} is specified, @var{color/65536} mod 256,
 @var{color/256} mod 256, @var{color} mod 256 are regarded as the vaules  @var{color/256} mod 256, @var{color} mod 256 are regarded as the vaules
 of Red, Green, Blue (Max. 255) respectively.  of Red, Green, Blue (Max. 255) respectively.
 \E  \E
   @item
   \BJP
   @code{draw_string} $B$O(B, $B%5!<%P(B id @var{id}, $B%-%c%s%P%9(B id @var{index}
   $B$G;XDj$5$l$k%-%c%s%P%9$KJ8;zNs$rIA2h$9$k(B. $B0LCV$O(B [@var{x},@var{y}] $B$K$h$j;XDj$9$k(B.
   \E
   \BEG
   @code{draw_string} draws a character string @var{string} on
   a canvas specified by a server id @var{id} and a canvas id @var{index}.
   The position of the string is specified by [@var{x},@var{y}].
   \E
 @end itemize  @end itemize
   
 @example  @example
Line 2293  of Red, Green, Blue (Max. 255) respectively.
Line 2366  of Red, Green, Blue (Max. 255) respectively.
 0  0
 [187] draw_obj(Id,Ind,[10,10,50,50],0xff00ff);  [187] draw_obj(Id,Ind,[10,10,50,50],0xff00ff);
 0  0
 [188] clear_canvas(Id,Ind);  [187] draw_string(Id,Ind,[100,50],"hello",0xffff00);
   0
   [189] clear_canvas(Id,Ind);
 0  0
 @end example  @end example
   

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.15

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