navigation map

Chapters:
  1: Introduction
  2: Simple example
  3: Invocation
  4: Finer Control
  5: X-Y 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
index.html#Top ListOfGriCommands.html#ListOfGriCommands Gri: `rewind' command Gri: Set commands index.html#Top Gri: Set commands

9.3.40: `rpnfunction'


`rpnfunction name replacement-words'

Create a new keyword for use in rpn expressions. Inside any RPN expression which follows this line, the word `name' will be substituted with the indicated replacement words.

For example, the following shows the definition and use of a function which computes the sine of twice an angle, by multiplying whatever is on the stack by `2', and then taking the sine of the result.


rpnfunction sin2 2 * sin
show "expect the number 1 to follow: " {rpn 45 sin2}

The replacement words will have any synonyms in them translated first, unless they start with an underscore followed by a double backslash. Similarly, variables are substituted unless they start with an underscore. These exceptions are to allow the use of the `defined' operator (see rpn Mathematics).

Note: The mathematical constants `e' and `pi' are stored using `rpnfunctions'. Also, two `rpnfunctions' are provided for finding the slope and intercept of a line joining two points, e.g.


# Expect answers 1 and 10 ...
show "slope=" {rpn 0 1 1 11 linear_slope}
show "inter=" {rpn 0 1 1 11 linear_intercept}

These are useful in `set grid missing above .intercept. .slope.' and `set z missing above .intercept. .slope.'.

navigation map