<html> <head> <title>Gri: RPN solitary operators</title> </head> <body bgcolor="#FFFFFF" text="#000000" link="#0000EE" vlink="#551A8B" alink="FF0000"> <!-- newfile SolitaryOperators.html "Gri: RPN solitary operators" "Programming Gri" --> <!-- @node Solitary Operators, Manipulation of Columns etc, Unary Operators, rpn Mathematics --> <a name="SolitaryOperators" ></a> <img src="./resources/top_banner.gif" usemap="#navigate_top" border="0"> <table summary="top banner" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="150" valign="top"> <font size=-1> <br> Chapters: </br> <a href="Introduction.html">1: Introduction</a><br> <a href="SimpleExample.html">2: Simple example</a><br> <a href="InvokingGri.html">3: Invocation</a><br> <a href="GettingMoreControl.html">4: Finer Control</a><br> <a href="X-Y.html">5: X-Y Plots</a><br> <a href="ContourPlots.html">6: Contour Plots</a><br> <a href="Images.html">7: Image Plots</a><br> <a href="Examples.html">8: Examples</a><br> <a href="Commands.html">9: Gri Commands</a><br> <a href="Programming.html">10: Programming</a><br> <a href="Environment.html">11: Environment</a><br> <a href="Emacs.html">12: Emacs Mode</a><br> <a href="History.html">13: History</a><br> <a href="Installation.html">14: Installation</a><br> <a href="Bugs.html">15: Gri Bugs</a><br> <a href="TestSuite.html">16: Test Suite</a><br> <a href="Acknowledgments.html">17: Acknowledgments</a><br> <a href="License.html">18: License</a><br> <br> Indices:</br> <a href="ConceptIndex.html"><i>Concepts</i></a><br> <a href="CommandIndex.html"><i>Commands</i></a><br> <a href="BuiltinIndex.html"><i>Variables</i></a><br> </font> <td width="500" valign="top"> <map name="navigate_top"> <area alt="index.html#Top" shape="rect" coords="5,2,218,24" href="index.html#Top"> <area alt="ReversePolishMath.html#rpnMathematics" shape="rect" coords="516,2,532,24" href="ReversePolishMath.html#rpnMathematics"> <area alt="Gri: RPN unary operators" shape="rect" coords="557,2,573,24" href="UnaryOperators.html"> <area alt="Gri: RPN column manipulation" shape="rect" coords="581,2,599,24" href="ManipulatingColumns.html"> </map> <map name="navigate_bottom"> <area alt="index.html#Top" shape="rect" coords="5,2,218,24" href="index.html#Top"> <area alt="Gri: RPN column manipulation" shape="rect" coords="581,2,599,24" href="ManipulatingColumns.html"></map> <h3>10.9.6: Solitary Operators</h3> Solitary operators do not act on items on the stack; rather, they generate items themselves and insert them on the stack. <p> The solitary operators are illustrated below, in alphabetical order. <p> <dl> <dt> <tt>{rpn argc}</tt> <dd>Yields number of command-line arguments given by the user when Gri was invoked. Thus, invoking Gri as <p> <TABLE SUMMARY="Example" BORDER="0" BGCOLOR="#efefef" WIDTH="100%"> <TR> <TD> <PRE> <font color="#82140F"> gri myfile.gri file1.dat file2.dat </font></PRE> </TD> </TR> </TABLE> <p> <p> yields 3, for arguments `<font color="#82140F"><samp>myfile.gri</samp></font>', `<font color="#82140F"><code>file1.dat</code></font>', and `<font color="#82140F"><code>file2.dat</code></font>'. These arguments are accessible through the `<font color="82140F"><code>argv</code></font>' unary operator (see <a href="UnaryOperators.html#UnaryOperators">Unary Operators</a>). <p> <dt> <tt>{rpn e}</tt> <dd>Yields the base of natural logarithms, i.e. `<font color="#82140F"><code>2.718</code></font>'... <p> <dt> <tt>{rpn pi}</tt> <dd>Yields Pi, i.e. `<font color="#82140F"><code>3.141</code></font>'... <p> <dt> <tt>{rpn rand}</tt> <dd>Generate a random number in the range 0 to 1, using the C subroutine `<font color="#82140F"><code>drand48()</code></font>' if it is available, otherwise the less well-distributed `<font color="#82140F"><code>rand()</code></font>' subroutine. <p> <dt> <tt>{rpn wordc}</tt> <dd>Returns number of words used in invoking the present command. Similar to the `<font color="82140F"><code>\.words.</code></font>' synonym (see <a href="Synonyms.html#LocalSynonyms">Local Synonyms</a>). Example: <p> <TABLE SUMMARY="Example" BORDER="0" BGCOLOR="#efefef" WIDTH="100%"> <TR> <TD> <PRE> <font color="#82140F"> `let us test .it.' { show "This command has " {rpn wordc} " words" } let us test 10 let us test {rpn 3 1 +} let us test "this" let us test "this thing" </font></PRE> </TD> </TR> </TABLE> <p> The operator `<font color="#82140F"><code>wordv</code></font>' may be used to extract the words of the command (see <a href="UnaryOperators.html#UnaryOperators">Unary Operators</a>). </dl> </table> <img src="./resources/bottom_banner.gif" usemap="#navigate_bottom" border="0"> </body> </html>