=================================================================== RCS file: /home/cvs/OpenXM/doc/calc2000/openxm-clients.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- OpenXM/doc/calc2000/openxm-clients.tex 2000/04/24 04:20:11 1.1 +++ OpenXM/doc/calc2000/openxm-clients.tex 2000/04/26 08:18:31 1.2 @@ -1,4 +1,4 @@ -% $OpenXM: OpenXM/doc/issac2000/openxm-clients.tex,v 1.12 2000/01/17 07:15:52 noro Exp $ +% $OpenXM: OpenXM/doc/calc2000/openxm-clients.tex,v 1.1.1.1 2000/04/24 04:20:11 noro Exp $ \section{OpenXM Clients} @@ -17,29 +17,14 @@ and {\tt ox\_get()} for receiving data from a stream. Some operations including the reset operation are implemented by combining these primitives. Among them, frequently used ones are -provided as built-in functions. We show some of them. +provided as built-in functions. +{\tt ox\_pop\_cmo()} receives the data on the stack of a server. +{\tt ox\_cmo\_rpc()} requests a server to execute a function. +{\tt ox\_reset()} completes +the operations stated in Section \ref{control}. +{\tt ox\_select()} is provided to detect if streams are ready for +reading to avoid blocking on read operations. -\begin{itemize} -\item {\tt ox\_pop\_cmo()} - -It requests a server to send data on the stack to the stream, then -it receives the data from the stream. - -\item {\tt ox\_cmo\_rpc()} - -After pushing the name of a function, arguments and the number of the -arguments to the stack of a server, it requests the server to execute -the function. It does not wait the termination of the function call. - -\item {\tt ox\_reset()} - -After sending {\tt SM\_control\_reset\_connection} to a control server, -it completes the operations stated in Section \ref{control}. -\end{itemize} -Furthermore {\tt ox\_select()} is provided to detect if streams are ready for -reading. It is implemented by the {\tt select()} system call and is used -to avoid blocking on read operations. - \subsection{Mathematica} We provide an OpenXM client {\tt math2ox} written as an external module @@ -50,17 +35,18 @@ By using the module {\tt math2ox}, we can call OpenXM servers from Mathematica; here is a demonstration of a computation of the de Rham cohomology groups of ${\bf C}^2 \setminus V(x^3-y^2)$ from Mathematica. + {\footnotesize \begin{verbatim} In[1]:= Install["math2ox"] In[2]:= OxStart["../lib/sm1/bin/ox_sm1_forAsir"] In[3]:= OxExecute[" [(x^3-y^2) (x,y)] deRham "] In[4]:= OxPopString[] -Out[4]= [ 1 , 1 , 0 ] (* The dimension of - cohomology groups *) +Out[4]= [ 1 , 1 , 0 ] (* The dimension of cohomology groups *) \end{verbatim} } +\noindent The {\tt math2ox} adds the following functions to Mathematica. \begin{quote} {\tt OxStart[s\_String]},