Extension program
It is possible to enhance some of the statistics menus using a user library. The calculator does not provide every possible function in every area, but they let you customize the built in menu in order to add your functions as if they were built in.
Example: Customize the main statistic menu.
Ensure you are in RPL mode (H, W, `) and attach the development library (256 ATTACH).
In a directory, create the following variables: $ROMID 1324
$CONFIG 1
$TITLE "Statistic enhancements" $VISIBLE { ABOUT }
$HIDDEN { MessageHandler } $EXTPRG 'MessageHandler'
ABOUT "This library is a statistic enhancement example" MessageHandler
«
IF DUP 1 R~SB ==
THEN SWAP
{{ "7.New entry" « "My Stats" 1 DISP 7 * FREEZE » } } +
SWAP
END
»
Create the library (CRLIB) and store it in an extension port (0 K). Now, run the statistic menu (@5)!
How does it work? Each time the stat menu pops up, the calculator executes every extension program of every library in the system. This extension program takes on the stack a message number (and leaves it on the stack!). Each message number has a specific meaning as described below.
Here are the expected inputs and outputs for the extension program for different menus:
APPS menu
Input: { { "String" Action } ... } ZERO
Output: Modified list ZERO
Main Statistics menu
Input: { { "String" Action } ... } ONE
Output: Modified list ONE
Hypothesis statistics menu
Input: { { "String" Action } ... } TWO
Output: Modified list TWO
Confidence interval statistics menu
Input: { { "String" Action } ... } THREE
Output: Modified list THREE
Finance menu
Input: { { "String" Action } ... } FOUR
Output: Modified list FOUR
Numeric solver menu
Input: { { "String" Action } ... } FIVE
Output: Modified list FIVE