596
Appendix A: System Routines — Graphing
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
FindGrFunc
Declaration:
SYM_ENTRY *
FindGrFunc
(BYTE
funcNum
, HSYM *
hsym
,
EStackIndex *
funcTag
, BYTE
funcName
[ ], UCHAR
xory
)
Category(ies):
Graphing
Description:
Create a function name in
funcName
for function number
funcNum
in the
current graph mode (
gr_active
) and return a pointer to the symbol table
entry for that function, its HSYM, and a pointer to its function tag.
Inputs:
funcNum
— Function number (i.e. 1 for y1(x) in function mode).
hsym
— Address of an HSYM.
funcTag
— BYTE pointer.
funcName
— Address of BYTE array of at least 9 bytes to use for
function name.
xory
— 'x' or 'y' for parametric function name.
Outputs:
SYM_ENTRY of symbol if found, NULL otherwise.
hsym
— Returned HSYM of symbol if found, NULL otherwise.
funcTag
— Returned pointer to function tag of symbol if found.
funcName
— Name of function found stored here (in tokenized form – so
the first byte will be zero).
Assumptions:
None
Side Effects:
None
Availability:
All versions of the TI-89 / TI-92 Plus.
TI-89 / TI-92 Plus
Differences:
None
See Also: FindFunc
Example:
This example pushes a list of the names of all of the graph functions with
defined functions for the current graph mode on the estack.
short fNum;
HSYM hsym;
SYM_ENTRY *symPtr;
BYTE fName[9];
EStackIndex funcTag;
push_quantum( END_TAG );
for (fNum = 99; fNum >= 1; fNum--) {
if (symPtr = FindGrFunc( fNum, &hsym, &funcTag, fName, 'x' ))
push_zstr( (char *) fName+1 ); /* 1st byte is zero */
}
push_quantum( LIST_TAG );