=================================================================== RCS file: /home/cvs/OpenXM/src/asir-doc/parts/builtin/misc.texi,v retrieving revision 1.7 retrieving revision 1.22 diff -u -p -r1.7 -r1.22 --- OpenXM/src/asir-doc/parts/builtin/misc.texi 2001/03/12 05:01:18 1.7 +++ OpenXM/src/asir-doc/parts/builtin/misc.texi 2017/03/28 03:47:36 1.22 @@ -1,4 +1,4 @@ -@comment $OpenXM: OpenXM/src/asir-doc/parts/builtin/misc.texi,v 1.6 2000/02/07 07:11:38 noro Exp $ +@comment $OpenXM: OpenXM/src/asir-doc/parts/builtin/misc.texi,v 1.21 2016/08/29 04:56:58 noro Exp $ \BJP @node $B$=$NB>(B,,, $BAH$_9~$_H!?t(B @section $B$=$NB>(B @@ -15,6 +15,9 @@ * help:: * time:: * cputime tstart tstop:: +* timer:: +* currenttime:: +* sleep:: * heap:: * version:: * shell:: @@ -72,7 +75,7 @@ on $B$N;~$OI8=`F~NO$r7+$jJV$7$F=PNO$7(B, off $B$N;~ @code{output} $B%3%^%s%I$rMQ$$$k:]$KM-8z$G$"$k(B. @item bigfloat on $B$N;~(B, $BF~NO$5$l$?IbF0>.?t$O(B @b{bigfloat} $B$KJQ49$5$l(B, $BIbF0>.?t1i;;$O(B -@b{PARI} (@xref{pari}) $B$K$h$j9T$o$l$k(B. $B%G%U%)%k%H$NM-8z7e?t$O(B 9 $B7e$G$"$k(B. +@b{PARI} (@ref{pari}) $B$K$h$j9T$o$l$k(B. $B%G%U%)%k%H$NM-8z7e?t$O(B 9 $B7e$G$"$k(B. $BM-8z7e?t$rA}$d$7$?$$;~$K$O(B @code{setprec()} $B$rMQ$$$k(B. off $B$N;~(B, $BF~NO$5$l$?IbF0>.?t$O(B, $BG\@:EYIbF0>.?t$KJQ49$5$l$k(B. @cindex PARI @@ -83,9 +86,21 @@ off $B$N;~(B, $BF~NO$5$l$?IbF0>.?t$O(B, $BG\@:EYI @xref{$B%3%^%s%I%i%$%s%*%W%7%g%s(B}. @item verbose on $B$N;~(B, $BH!?t$N:FDj5A;~$K%a%C%;!<%8$rI=<($9$k(B. +@item quiet_mode +1 $B$N$H$-(B, $B5/F0;~$KCx:n8"I=<($r9T$o$J$$(B. +@xref{$B%3%^%s%I%i%$%s%*%W%7%g%s(B}. +@item prompt +0 $B$N$H$-%W%m%s%W%H$rI=<($7$J$$(B. 1 $B$N$H$-I8=`%W%m%s%W%H$rI=<((B. +C $B%9%?%$%k$N%U%)%^%C%HJ8;zNs$r$b$A$$$k$H%f!<%6Dj5A$N%W%m%s%W%H(B. +$BNc(B(asirgui $B$G$OIT2D(B): +@code{ ctrl("prompt","\033[32m[%d]:= \033[0m")} @item hex 1 $B$N$H$-(B, $B@0?t$O(B 0x $B$G;O$^$k(B 16 $B?J?t$H$7$FI=<($5$l$k(B. -1 $B$N$H$-(B, 16 $B?J?t$O(B, $B4V$K(B @samp{|} $B$r$O$5$s$G(B 8 $B7e$4$H$K6h@Z$C$FI=<($5$l$k(B. +@item real_digit +$BG\@:EYIbF0>.?t$NI=<($N7e?t$r;XDj$9$k(B. +@item double_output +1 $B$N$H$-(B, $BG\@:EYIbF0>.?t$O$D$M$K(B ddd.ddd $B$N7A$GI=<($5$l$k(B. @item fortran_output 1 $B$N$H$-(B, $BB?9`<0$NI=<($,(B FORTRAN $B%9%?%$%k$K$J$k(B. $B$9$J$o$AQQ$,(B @samp{^} $B$NBe$o$j$K(B @samp{**} $B$GI=$5$l$k(B. @@ -93,15 +108,25 @@ on $B$N;~(B, $BH!?t$N:FDj5A;~$K%a%C%;!<%8$rI=<($9$k @item ox_batch 1 $B$N$H$-(B, $BAw?.%P%C%U%!$,$$$C$Q$$$K$J$C$?;~$N$_<+F0E*$K(B flush. 0 $B$N$H$-(B, $B%G!<%?(B, $B%3%^%s%IAw?.Kh$K(B flush. ($B%G%U%)%k%HCM$O(B 0.) -@xref{$BJ,;67W;;(B} +@xref{$BJ,;67W;;(B}. @item ox_check 1 $B$N$H$-(B, $BAw?.%G!<%?$rAj$^$7$$(B. +($B%G%U%)%k%HCM$O(B 0.) +@xref{$BJ,;67W;;(B}. @end table \E \BEG @@ -136,7 +161,7 @@ This command will be useful when used with command @co If `on', floating operations will be done by @b{PARI} system with arbitrary precision floating point operations. Default precision is set to 9 digits. To change the precision, use -command @code{setprec}. +command @code{setbprec setprec}. If `off', floating operations will be done by @b{Asir}'s own floating operation routines with a fixed precision operations of standard floating double. @@ -149,10 +174,23 @@ and as a result, the frequency of garbage collection d @xref{Command line options}. @item verbose If `on' a warning messages is displayed when a function is redefined. +@item quiet_mode +If 1 is set, the copyright notice has been displayed at boot time. +@item prompt +If the value is 0, then prompt is not output. +If the value is 1, then the standard prompt is output. +Asir prompt can be customized by giving a C-style format string. +Example (for unix asir); +@code{ ctrl("prompt","\033[32m[%d]:= \033[0m")} + @item hex If 1 is set, integers are displayed as hexadecimal numbers with prefix -@code{0x}. if -1 is set, hexadecimal numbers are desplayed with +@code{0x}. if -1 is set, hexadecimal numbers are displayed with @samp{|} inserted at every 8 hexadecimal digits. +@item real_digit +Sets the number of digits used to print a floating double. +@item double_output +If set to 1, any floating double is printed in the style ddd.ddd. @item fortran_output If `on' polynomials are displayed in FORTRAN style. That is, a power is represented by @samp{**} instead of @samp{^}. @@ -161,15 +199,27 @@ The default value is 'off. If 'on', the OpenXM send buffer is flushed only when the buffer is full. If 'off', the buffer is always flushed at each sending of data or command. The default value is 'off'. -@xref{Distributed computation} +@xref{Distributed computation}. @item ox_check If 'on' the check by mathcap is done before sending data. The default value is 'on'. -@xref{Distributed computation} +@xref{Distributed computation}. @item ox_exchange_mathcap If 'on' Asir forces the exchange of mathcaps at the communication startup. The default value is 'on'. -@xref{Distributed computation} +@xref{Distributed computation}. +@item debug_window +When 1, a debug window pops up. +(The default value is 0.) +@item fake_ox_reset +When 1, the function ox_reset sends ox_shutdown insread of ox_reset +to servers which do not implement ox_reset protocol. +It is checked by the optional argument (the fourth argument) +containing the string "no_ox_reset" +of mathcap if ox_reset is implemented or not. +When you use ox_pari, it is recommended to set this flag 1. +(The default value is 0.) +@xref{Distributed computation}. @end table \E @end itemize @@ -178,7 +228,7 @@ The default value is 'on'. \JP @item $B;2>H(B \EG @item References @fref{cputime tstart tstop}, @fref{output}, -@fref{pari}, @fref{setprec}, @fref{eval deval}. +@fref{pari}, @fref{setbprec setprec}, @fref{eval deval}. @end table \JP @node debug,,, $B$=$NB>(B @@ -211,7 +261,7 @@ the debugger is ready for commands. Typing in @code{quit} (Note! without a semicolon.) brings you to exit the debug-mode. @item -@xref{Debugger} for details. +See @ref{Debugger} for details. \E @end itemize @@ -330,8 +380,8 @@ return to toplevel $B$"$k$$$O(B @samp{more} $B$r8F$S=P$7$F$=$N%U%!%$%k$rI=<($9$k(B. @item $B4D6-JQ?t(B @code{LANG} $B$,@_Dj$5$l$F$$$k>l9g(B, $B$=$NCM$,(B @code{"japan"} $B$^$?$O(B -@code{"ja_JP"} $B$G;O$^$k$J$i(B, @samp{help} $B$NBe$o$j$K(B @samp{help-jp} -$B$K$"$k%U%!%$%k$,I=<($5$l$k(B. $B$=$&$G$J$$>l9g(B, @samp{help-eg} +@code{"ja_JP"} $B$G;O$^$k$J$i(B, @samp{help} $B$NBe$o$j$K(B @samp{help-ja} +$B$K$"$k%U%!%$%k$,I=<($5$l$k(B. $B$=$&$G$J$$>l9g(B, @samp{help-en} $B$K$"$k%U%!%$%k$,I=<($5$l$k(B. @item Windows $BHG$G$O(B, $B%3%^%s%I%i%$%s$+$i$N%X%k%W8F$S=P$7$OL$%5%]!<%H$@$,(B, @@ -348,8 +398,8 @@ the file is displayed by a command set to the environm @item If the @code{LANG} environment variable is set and its value begins with @code{"japan"} or @code{"ja_JP"}, then the file in -@samp{help-jp} is displayed. If its value does not begin with -@code{"japan"} or @code{"ja_JP"}, then the file in @samp{help-eg} +@samp{help-ja} is displayed. If its value does not begin with +@code{"japan"} or @code{"ja_JP"}, then the file in @samp{help-en} is displayed. @item On Windows HTML-style help is available from the menu. @@ -462,7 +512,7 @@ for a reply to interruption prompting are added to the @table @t \JP @item $B;2>H(B \EG @item References -@fref{cputime tstart tstop}. +@fref{cputime tstart tstop}, @fref{currenttime}. @end table \JP @node cputime tstart tstop,,, $B$=$NB>(B @@ -559,9 +609,137 @@ the debug-mode and execute @code{cputime(1)}. @table @t \JP @item $B;2>H(B \EG @item References -@fref{time}, @fref{ctrl}. +@fref{time}, @fref{currenttime}, @fref{ctrl}. @end table +\JP @node timer,,, $B$=$NB>(B +\EG @node timer,,, Miscellaneouses +@subsection @code{timer} +@findex timer + +@table @t +@item timer(@var{interval},@var{expr},@var{val}) +\JP :: $B@)8B;~4V$D$-$G7W;;$rl9g$=$NCM$rJV$9(B. $B;XDj;~4VFb$K7W;;$,40N;$7$J$+$C$?>l9g(B, $BBh(B 3 $B0z?t(B +$B$rJV$9(B. + +@item +$BBh(B 3 $B0z?t$NCM$O(B, $B7W;;$,40N;$7$?>l9g$NCM$H6hJL$G$-$kI,MW$,$"$k(B. +\E + +\BEG +@item +@code{timer()} computes an expression under the interval timer. +If the computation finishes within the specified interval, it +returns the result of the computation. Otherwise it returns the third +argument. + +@item +The third argument should be distinguishable from the result on success. +\E + +@end itemize + +@example +[0] load("cyclic"); +1 +[10] timer(10,dp_gr_main(cyclic(7),[c0,c1,c2,c3,c4,c5,c6],1,1,0),0); +interval timer expired (VTALRM) +0 +[11] +@end example + +\JP @node currenttime,,, $B$=$NB>(B +\EG @node currenttime,,, Miscellaneouses +@subsection @code{currenttime} +@findex currenttime + +@table @t +@item currenttime() +\JP :: $B8=:_;~9o$rl9g(B, time(3) $B$r8F$s$G$$$k$@$1$G$"$k(B. +\EG See also time(3) in UNIX manuals. + +@end itemize + +@example +[0] currenttime(); +1071639228 +[1] +@end example + +\JP @node sleep,,, $B$=$NB>(B +\EG @node sleep,,, Miscellaneouses +@subsection @code{sleep} +@findex sleep + +@table @t +@item sleep(@var{interval}) +\JP :: $B%W%m%;%9$Nl9g(B, usleep $B$r8F$s$G$$$k$@$1$G$"$k(B. +\EG See also usleep(3) in UNIX manuals. + +@end itemize + +@example +[0] sleep(1000); +1 +[1] +@end example + \JP @node heap,,, $B$=$NB>(B \EG @node heap,,, Miscellaneouses @subsection @code{heap} @@ -670,8 +848,9 @@ at the activation of @b{Asir}. (@xref{Command line opt @b{Asir} $B$N%P!<%8%g%s$r<+A3?t$GJV$9(B. \E \BEG -Command @code{version()} returns the version identification number -, an integer of @b{Asir} in use. +@item +Command @code{version()} returns the version identification number, +an integer of @b{Asir} in use. \E @end itemize @@ -715,16 +894,16 @@ as its return value. @example [0] shell("ls"); -alg da katsura ralg suit -algt defs.h kimura ratint test -alpi edet kimura3 robot texput.log -asir.o fee mfee sasa wang -asir_symtab gr mksym shira wang_data -base gr.h mp snf1 wt -bgk help msubst solve -chou hom p sp -const ifplot proot strum -cyclic is r sugar +alg da katsura ralg suit +algt defs.h kimura ratint test +alpi edet kimura3 robot texput.log +asir.o fee mfee sasa wang +asir_symtab gr mksym shira wang_data +base gr.h mp snf1 wt +bgk help msubst solve +chou hom p sp +const ifplot proot strum +cyclic is r sugar 0 [1] @end example @@ -750,7 +929,7 @@ cyclic is r sugar @item arg0 \JP $B%j%9%H(B, $B%Y%/%H%k(B, $B9TNs(B \EG list, vector or matrix -@item arg1, ... +@item arg1 ... \JP $BG$0U(B ($B;D$j$N0z?t(B) \EG arbitrary (the rest of arguments) @end table @@ -769,6 +948,12 @@ cyclic is r sugar @var{arg0} $B$,%j%9%H(B, $B%Y%/%H%k(B, $B9TNs0J30$N>l9g(B, $BC1$K(B @var{arg0}, @var{arg1}, ... $B$r0z?t$H$7$F(B @var{function} $B$r8F$S=P$7$=$N(B $B7k2L$rJV$9(B. +@item +@code{map} $B$N0z?t(B @var{function} $B$GM?$($i$l$kH!?t$O(B, $BFbItE*$K$bH!?t$H(B +$B$7$F$rJ8;zNs%j%9%H$H$7$FJV$9(B. \EG :: Returns the list of function names currently defined. +@item mname +\JP $B%b%8%e!<%kL>(B +\EG a module name @end table @table @var @@ -814,7 +1002,8 @@ returns the value of @var{function}(@var{arg0},@var{ar \BJP @item $B8=:_Dj5A$5$l$F$$$kAH$_9~$_H!?t(B, $B%f!<%6Dj5AH!?t$NH!?tL>$rJ8;zNs%j%9%H(B -$B$H$7$FJV$9(B. +$B$H$7$FJV$9(B. $B%b%8%e!<%kL>$,;XDj$5$l$?>l9g(B, $B$=$N%b%8%e!<%k$GDj5A$5$l$F$$$k(B +$B4X?tL>$N$_$rJV$9(B. @item $B%7%9%F%`H!?t$N8e$K%f!<%6Dj5AH!?t$,B3$/(B. \E @@ -822,6 +1011,8 @@ returns the value of @var{function}(@var{arg0},@var{ar @item Returns the list of names of built-in functions and user defined functions currently defined. The return value is a list of character strings. +If a module name is specified, only the names of functions defined in the module +are returned. @item The names of built-in functions are followed by those of user defined functions. @@ -941,7 +1132,7 @@ of the install directory. @findex getopt @table @t -@item getopt(@var{key}) +@item getopt([@var{key}]) \JP :: $B%*%W%7%g%s$NCM$rJV$9(B. \EG :: Returns the value of an option. @end table @@ -960,6 +1151,11 @@ of the install directory. $B$,$"$k(B (@pxref{$B%*%W%7%g%s;XDj(B}). $B;XDj$5$l$?%*%W%7%g%s$r4X?tFb$G(B $Bl9g(B, @code{getopt()} $B$O(B +@code{[[key1,value1],[key2,value2],...]} $B$J$k%j%9%H$rJV$9(B. +$B$3$3$G(B, @code{key} $B$O4X?t8F$S=P$7;~$K;XDj$5$l$?%*%W%7%g%s(B, @code{value} +$B$O$=$NCM$G$"$k(B. +@item $B4X?t8F$S=P$7$N:]$K(B @var{key} $B$,%*%W%7%g%s$H$7$F;XDj$5$l$F$$$k(B $B>l9g$K$O(B, $B$=$NCM$rJV$9(B. $B$b$7;XDj$,$J$$>l9g$K$O(B, VOID $B7?%*%V%8%'%/%H(B ($B7?<1JL;R(B -1) $B$rJV$9(B. @code{getopt()} $B$,JV$7$?CM$N7?$r(B @code{type()} @@ -981,6 +1177,12 @@ must be equal to that in the declaration of the functi A function with indefinite number of arguments can be realized by using @var{options} (@pxref{option}). The value of a specified option is retrieved by @code{getopt}. +@item +If @code{getopt()} is called with no argument, then it returns a list +@code{[[key1,value1],} @code{[key2,value2],@dots{}]}. +In the list, each @code{key} +is an option which was specified when the function executing @code{getopt} +was invoked, and @code{value} is the value of the option. @item If an option @var{key} is specified upon a function call, @code{getopt} return the value of the option. If such an option is not specified,