Chapters:
1: Introduction
2: Simple example
3: Invocation
4: Finer Control
5: XY Plots
6: Contour Plots
7: Image Plots
8: Examples
9: Gri Commands
10: Programming
11: Environment
12: Emacs Mode
13: History
14: Installation
15: Gri Bugs
16: Test Suite
17: Gri in Press
18: Acknowledgments
19: License
Indices:
Concepts
Commands
Variables

10.9.8: rpn Examples
Here are some reversepolish expressions and the corresponding algebraic
interpretations:
 `
{rpn 1 2 + 10 / } '
= (1+2)/10
 `
{rpn .a. .b. + .c. + .d. / } '
= (.a.+.b.+.c.)/.d.
 `
{rpn e 2 / } '
= e/2 (Gri knows values of ``e'' and ``pi'')
 `
{rpn 23 sin 100 * 12 cos + } '
= cos(12) + 100sin(23)
 `
{rpn 5 2 power } '
= 25
 `
{rpn 2 log exp } '
= exp(log 2)
 `
{rpn 2 ln exp10 } '
= 10^ln2
 `
{rpn 1.7 floor } '
= 1 (rounds down to nearest integer. Note that the floor of 1.7 is 2)
 `
{rpn 10.1 2 remainder } '
= 0.1 (remainder of 10.1 after division by 2; see C function `remainder(x,y) ')
 `
{rpn 10.1 2 remainder } '
= 0.1
 `
{rpn 10.1 2 remainder } '
= 0.1
 `
{rpn .num. 10 > } '
= 1 if 10 exceeds .num., or 0 otherwise
NOTES:

The units of `
sin ', `cos ', etc, are degrees, not radians.

The scales of the plot are accessible to `
rpn '. For example, with
the command
you draw the indicated string at the indicated location in
user coordinates. To put it 0.15 centimetres to the right of this
location and 0.1 centimetres lower, you could do as follows:
draw label "\label" at \
{rpn .x. xusertocm 0.15 + xcmtouser} \
{rpn .y. yusertocm 0.10  ycmtouser}

(Note that the x and y scales have individual translations from "user"
to "cm" coordinates.)

Some conversion factors are built into `
rpn '; `cmtopt '
converts from centimetres to points (by dividing by 28.45; the
conversion factor to inches is 72.27) while `pttocm ' converts from
points to centimetres. For example, here is how to label a data curve
with a label placed near the last yvalue of the data set:
draw curve
.y. = {rpn ..ylast.. yusertocm 0.5  ycmtouser}
draw label "Smoothed" at ..xlast.. .y.

