Routines, variables and structures related to graphing in general.
GR_WIN_VARS.rngp
if the current graphing mode if GraphMode.Note: This header is currently very incomplete.
unsigned char CkValidDelta (float maxrng, float minrng, float delta); 
Checks the validity of a given delta.
CkValidDelta checks to see if the exponent of delta is too small relative to the exponents
of maxrng and minrng so that all the significant digits of delta would be
shifted out of the floatingpoint mantissa when performing arithmetic.
The parameter maxrng is the final value in the graph window variable sequence (e.g., xmax,
ymax, tmax, etc.). The parameter minrng is the first value in the graph window variable sequence (e.g., xmin,
ymin, tmin, etc.). The parameter delta is the increment value which will be used to compute the sequence from
minrng to maxrng (e.g., Δx, Δy, tstep, etc.).
CkValidDelta returns 1 if delta is valid, 0 if the exponent of delta is too small.
Note: CkValidDelta assumes the sign of delta has already been verified as correct for
computing a sequence from minrng to maxrng. It is valid for maxrng to be
less than minrng if delta is negative.
See also: StepCk
unsigned char CptDeltax (GR_WIN_VARS *); 
Computes the system variable Δx.
Given a pointer to a GR_WIN_VARS structure (usually gr_active
or gr_other), CptDeltax computes the system variable Δx.
This function calls ck_valid_float and CkValidDelta, among others.
unsigned char CptDeltay (GR_WIN_VARS *); 
Computes the system variable Δy.
Given a pointer to a GR_WIN_VARS structure (usually gr_active
or gr_other), CptDeltay computes the system variable Δy.
This function calls ck_valid_float and CkValidDelta, among others.
unsigned long gdb_len (void); 
Returns the length of the GDB in the current graph mode.
Used internally by cmd_stogdb, there's no point in using gdb_len directly.
void gdb_recall (HSym var); 
Actual core of cmd_rclgdb.
This is the routine which retrieves the current GDB from the variable described by var.
This routine is wrapped by cmd_rclgdb, which is
basically a combination of VarRecall and gdb_recall, so
there's no point in using gdb_recall directly.
void gdb_store (ESI dest); 
Actual core of cmd_stogdb.
This is the routine which stores the current GDB at the memory location starting at dest.
This routine is wrapped by cmd_stogdb, so there's no
point in using gdb_store directly.
unsigned long rngLen (unsigned char GraphMode); 
Returns the size of the array pointed to by GR_WIN_VARS.rngp
if the current graphing mode if GraphMode.
This function is used by many ROM_CALLs related to graphing, through gdb_len, gdb_recall and gdb_store.
Valid values for GraphMode are described in GraphModes.
See also: GR_WIN_VARS, GraphModes
void StepCk (float *indep); 
Verifies that the input min, max, and step values are valid in parametric or polar mode.
StepCk verifies that the input min, max, and step values in the array pointed to by
indep are valid values for the independent variable in parametric mode
(tmin, tmax, and tstep) or polar mode (θmin, θmax, and θstep). The
function will return to the calling routine if the values are valid, otherwise an
error is thrown.
indep is a pointer to an array of floatingpoint values where
indep[0] = min, indep[1] = max, and indep[2] = step.
An error is thrown if the input values are not valid for the independent
variable in parametric mode or polar mode, such as the step value being
negative when it should have been positive for the given min and max.
See also: CkValidDelta, error.h
GR_WIN_VARS *gr_active; 
Pointer to the active GR_WIN_VARS struct.
gr_active is a pointer to a GR_WIN_VARS struct that contain most of the data used by the Graph application and other graphrelated apps. gr_active points to the GR_WIN_VARS struct containing all the information for the active graph (whereas gr_other points to the information for the second graph in twograph mode). As the calculator user switches between the two windows in twograph mode, the pointers in gr_active and gr_other are swapped so that gr_active is always referring to the active graph. The members of a GR_WIN_VARS struct are given along with an explanation of the contents of each in the description of GR_WIN_VARS. None of the data should be changed directly by a program, but can be accessed for use. System routines may be called to change many items (for example, VarStore may be used to change the graph system variables), but some data is for internal use only and should only be changed by the appropriate system app.
See also: GR_WIN_VARS, gr_other
GR_FLAGS gr_flags; 
Global flags used by the Graph application.
gr_flags returns the Global flags used by the Graph application. Each flag is a separate member of the GR_FLAGS struct. The contents of these flags should not be changed by a program, but may be accessed for testing the value. The names of the flags and their purposes are given with the GR_FLAGS struct.
See also: GR_FLAGS
GR_WIN_VARS *gr_other; 
Pointer to the second GR_WIN_VARS struct.
gr_other is a pointer to a GR_WIN_VARS struct that contain most of the data used by the Graph application and other graph related apps. gr_other points to the GR_WIN_VARS struct containing all the information for the second graph in twograph mode (whereas gr_active points to the information for the active graph). As the calculator user switches between the two windows in twograph mode, the pointers in gr_other and gr_active are swapped so that gr_active is always referring to the active graph. The members of a GR_WIN_VARS struct are given along with an explanation of the contents of each in the description of GR_WIN_VARS. None of the data should be changed directly by a program, but can be accessed for use. System routines may be called to change many items (for example, VarStore may be used to change the graph system variables), but some data is for internal use only and should only be changed by the appropriate system app.
See also: GR_WIN_VARS, gr_active
typedef struct {

Structure for defining a 3D function spin database.
Structure for defining a 3D function spin database. This structure is only used in the GR_WIN_VARS structure. It is not very well known, so if you have more information, please help.
See also: GR_WIN_VARS
typedef struct SEquDS_AMS1 {

Structure for defining internal Y = Editor app data (AMS 1.xx version).
EQU_DS_AMS1 is the AMS 1.xx version of the EQU_DS structure. It uses the AMS 1.xx version of the WINDOW structure.
See also: EQU_DS
typedef struct SEquDS {

Structure for defining internal Y = Editor app data.
Structure for defining internal Y = Editor app data. This structure is not very well known for the moment, and it is open to anyone who knows more than I do.
Anyway, this structure is needed by the GR_WIN_VARS structure.
See also: GR_WIN_VARS, EQU_DS_AMS1
typedef struct {

Function identifier structure.
Function identifier structure. This structure is not very well known for the moment, and it is open to anyone who knows more than I do.
Anyway, this structure is needed by the GR_WIN_VARS structure.
typedef struct {

A structure for defining global flags used by the Graph application.
The GR_FLAGS structure is used for defining global flags used by the Graph application (this structure is pointed to by gr_flags). Each flag is a separate
member of the structure (each member is in fact a boolean value). The contents of these flags should not be changed by a program,
but may be accessed for testing the value.
The purposes of these flags are:
gr_in_progress  A graph is currently being plotted. Among other things, this flag alerts VarRecall to set the graph reference flag for every user variable accessed until this flag is reset to enable the Smart Graph feature to work. 
gr_zoom_fit  ZoomFit is being executed. Every graph point is computed to determine the min and max Window variable values, but while this flag is set, nothing is plotted. 
gr_cpt_seq_flag  A graph sequence mode function (u1  u99) is being executed. 
stat_in_progress  A statistics calculation is currently being performed. Among other things, this flag alerts VarRecall to set the stat reference flag for every user variable accessed until this flag is reset to enable the calculator to determine when the statistics results are no longer valid. 
gr_trace_seq  A sequence function is being traced. 
de_init_conds  A differential equation is being plotted with initial conditions selected interactively using the graph cursor. 
gr_cpt_de_flag  A differential equation graphing mode function (y1'  y99') is being executed. 
new_eqn  The Numeric Solver system variable eqn has changed. This alerts the solver graph to regraph. 
de_error  An error has occurred while computing a differential equation graphing mode function. 
See also: gr_flags
typedef struct {

Structure for describing graph modes.
The members of the GR_MODES struct and their contents are as follows:
Contents of the gr_fmt_flags (Graph Format flags) member as given in the GrFmtFlags enum:
GR_SEQ_TIME  SEQUENCE Axes settings:

GR_SEQ_WEB  
GR_BUILD_WEB  SEQUENCE WEB Build Web:

GR_3dEXPAND  Set for 3D expanded view mode. 
GR_COORDOFF  Graph Coordinates:

GR_COORD_POLAR  
GR_SIMUL  Graph Order:

GR_GRIDON  Graph Grid:

GR_AXESOFF  Graph Axes:

GR_AXESBOX  3D Axes:

GR_LABELSON  Graph Labels:

GR_LEAD_CURSOR  Graph Leading Cursor:

SEQUENCE X Axis:
gr_xaxis value:  meaning: 
1  n 
0  u 
1,2,...,99  u1,u2,...,u99 
DIFF EQUATIONS X Axis:
gr_xaxis value:  meaning: 
100  y' 
1,2,...,99  y1',y2',...,y99' 
0  t 
1,2,...,99  y1,y2,...,y99 
100  y 
Meaning of the gr_yaxis member, Y Axis for SEQUENCE or DIFF EQUATIONS CUSTOM Axes setting:
SEQUENCE Y Axis:
gr_yaxis value:  meaning: 
1  n 
0  u 
1,2,...,99  u1,u2,...,u99 
DIFF EQUATIONS Y Axis:
gr_yaxis value:  meaning: 
100  y' 
1,2,...,99  y1',y2',...,y99' 
0  t 
1,2,...,99  y1,y2,...,y99 
100  y 
Contents of the gr_fmt_flags2 (Graph Format flags) member as given in the GrFmtFlags2 enum:
GR_DE_CUSTOM  GR_DE_CUSTOM = 1: DIFF EQUATIONS Axes = CUSTOM 
GR_DE_FIELDS  DIFF EQUATIONS Fields:

GR_DIRFLD  
GR_EULER  DIFF EQUATIONS Solution Method:

GR_3D_WIRE_FRAME  Wire frame 
GR_3D_HIDDEN_SURFACE  Hidden surface 
GR_3D_CONTOUR  Contour levels 
GR_3D_CONTOUR_WIRE  Wire and contour 
GR_3D_IMPLICIT  Implicit plot 
See also: GR_WIN_VARS
typedef struct {

Structure defining data for the graph related apps.
GR_WIN_VARS is a structure which contains most of the data used by the Graph Application and other graphrelated apps.
Caution: This structure is different on AMS 1.xx and AMS 2.xx (34 bytes bigger on AMS 2.xx, see WINDOW_AMS1 for a more detailed explanation)!
There are two main GR_WIN_VARS structures in the calculator which are pointed by gr_active and gr_other.
In most cases, you will not have to create a GR_WIN_VARS structure, and therefore the GR_WIN_VARS will only be useful to access data pointed to by gr_active or gr_other.
None of the data contained in the GR_WIN_VARS struct should be changed directly, but it can be accessed for use. System routines may be called to
change many items (for example, VarStore may be used to change the
graph system variables), but some data is for internal use only and should
only be changed by the appropriate system app.
Here is an explanation of all the special structure members:
The size of the rngp array and the meaning of the elements depend on the current graphing mode (see GraphModes and rngLen).
It can point to one of the following sets of indices, as described in the WinVarEnum enum:
FUNCTION mode indices:
GR_XMIN  System variable xmin. 
GR_XMAX  System variable xmax. 
GR_XSCL  System variable xscl. 
GR_YMIN  System variable ymin. 
GR_YMAX  System variable ymax. 
GR_YSCL  System variable yscl. 
GR_DELTAX  System variable Δx. 
GR_DELTAY  System variable Δy. 
GR_XRES  System variable xres. 
PARAMETRIC mode indices:
GR_XMIN  System variable xmin. 
GR_XMAX  System variable xmax. 
GR_XSCL  System variable xscl. 
GR_YMIN  System variable ymin. 
GR_YMAX  System variable ymax. 
GR_YSCL  System variable yscl. 
GR_DELTAX  System variable Δx. 
GR_DELTAY  System variable Δy. 
GR_TMIN  System variable tmin. 
GR_TMAX  System variable tmax. 
GR_TSTEP  System variable tstep. 
POLAR mode indices:
GR_XMIN  System variable xmin. 
GR_XMAX  System variable xmax. 
GR_XSCL  System variable xscl. 
GR_YMIN  System variable ymin. 
GR_YMAX  System variable ymax. 
GR_YSCL  System variable yscl. 
GR_DELTAX  System variable Δx. 
GR_DELTAY  System variable Δy. 
GR_THETMIN  System variable θmin. 
GR_THETMAX  System variable θmax. 
GR_THETSTEP  System variable θstep. 
SEQUENCE mode indices:
GR_XMIN  System variable xmin. 
GR_XMAX  System variable xmax. 
GR_XSCL  System variable xscl. 
GR_YMIN  System variable ymin. 
GR_YMAX  System variable ymax. 
GR_YSCL  System variable yscl. 
GR_DELTAX  System variable Δx. 
GR_DELTAY  System variable Δy. 
GR_NMIN  System variable nmin. 
GR_NMAX  System variable nmax. 
GR_NPLOT  System variable plotStrt. 
GR_NSTEP  System variable plotStep. 
3D mode indices:
GR_XMIN  System variable xmin. 
GR_XMAX  System variable xmax. 
GR_XGRID  System variable xgrid. 
GR_YMIN  System variable ymin. 
GR_YMAX  System variable ymax. 
GR_YGRID  System variable ygrid. 
GR_DELTAX  Internal data. 
GR_DELTAY  Internal data. 
GR_ZMIN  System variable zmin. 
GR_ZMAX  System variable zmax. 
GR_ZSCL  System variable zscl. (Note that zscl is not used on the TI89, TI89 Titanium, TI92 Plus or Voyage 200.) 
GR_EYE_THETA  System variable eyeθ. 
GR_EYE_PHI  System variable eyeΦ. 
GR_EYE_PSI  System variable eyeΨ. 
GR_NCONTOUR  System variable ncontour. 
GR_XSCALE  Internal data. 
GR_YSCALE  Internal data. 
GR_ZSCALE  Internal data. 
DIFF EQUATIONS mode indices:
GR_XMIN  System variable xmin. 
GR_XMAX  System variable xmax. 
GR_XSCL  System variable xscl. 
GR_YMIN  System variable ymin. 
GR_YMAX  System variable ymax. 
GR_YSCL  System variable yscl. 
GR_DELTAX  System variable Δx. 
GR_DELTAY  System variable Δy. 
GR_T0  System variable t0. 
GR_TMAX  System variable tmax. 
GR_TSTEP  System variable tstep. 
GR_TPLOT  System variable tplot. 
GR_DIFTOL  System variable diftol. 
GR_ESTEP  System variable Estep. 
GR_FLDRES  System variable fldres. 
GR_NCURVES  System variable ncurves. 
GR_DTIME  System variable dtime. 
The parameter gr_win_flags can be a combination of the following as described in the GrWinFlags enum:
GR_REDRAW  Redraw 3D graph without recomputing. 
GR_DIRTY  The current graph needs to be recomputed. 
TAB_DIRTY  The current table needs to be recomputed. 
GR_ADD_TO  Add a function to the current graph without recomputing. 
GR_OPEN  The current graph window is open. 
GRAPH_FOLDER  The temporary folder for functions created by the Graph and Table commands exists. 
EYE_DIRTY  The eye of the 3D graph has changed. 
GR_SHADE_NO_PAN  The panning is not valid after shading. 
FLDPIC_DIRTY  The system variable fldpic needs to be recomputed. 
GR_FUNC  FUNCTION mode. 
GR_PAR  PARAMETRIC mode. 
GR_POL  POLAR mode. 
GR_SEQ  SEQUENCE mode. 
GR_3D  3D mode. 
GR_DE  DIFF EQUATIONS mode. 
AP_SIDE_A  Top or left split. 
AP_SIDE_B  Bottom or right split. 
AP_SIDE_UNKNOWN  Unknown. 
A_SHADE_V  Vertical shade pattern. 
A_SHADE_H  Horizontal shade pattern. 
A_SHADE_NS  Negative slope 45° shade pattern. 
A_SHADE_PS  Positive slope 45° shade pattern. 
TBL_CONNECT_TRC  Set when Graph<>Table = ON. 
TBL_INDEP_ASK  Set when Independent = ASK. 
TBL_NO_MODE_CHANGE  Set when executing the DispTbl command. 
enum GrFmtFlags2 {

Enumerates different Graph Format flags for the GR_MODES struct.
Enumerates different Graph Format flags. The meaning of these flags is given in the description of GR_MODES.
See also: GR_MODES, GR_WIN_VARS
enum GrFmtFlags {

Enumerates different Graph Format flags for the GR_MODES struct.
Enumerates different Graph Format flags. The meaning of these flags is given in the description of GR_MODES.
See also: GR_MODES, GR_WIN_VARS
enum GrMode3dStyles {GR_3D_WIRE_FRAME = 0, GR_3D_HIDDEN_SURFACE = 1, GR_3D_CONTOUR = 2, GR_3D_CONTOUR_WIRE = 3, GR_3D_IMPLICIT = 4}; 
Enumerates different 3D Graph Style flags for the GR_MODES struct.
Enumerates different 3D Graph Style flags. The meaning of these flags is given in the description of GR_MODES.
See also: GR_MODES, GR_WIN_VARS
enum GrSides {AP_SIDE_A = 0, AP_SIDE_B = 1, AP_SIDE_UNKNOWN = 2}; 
Enumerates different Graph side flags for the GR_WIN_VARS struct.
Enumerates different Graph side flags used in the GR_WIN_VARS structure.
The meaning of these flags is given in the description of GR_WIN_VARS.
See also: GR_WIN_VARS
enum GrWinFlags {

Enumerates different Graph app flags for the GR_WIN_VARS struct.
Enumerates different Graph app flags used in the GR_WIN_VARS structure.
The meaning of these flags is given in the description of GR_WIN_VARS.
See also: GR_WIN_VARS
typedef struct {

Structure for defining Table app data.
TABLE_WIN_VARS Structure is used to define Table app data. It is only used in the GR_WIN_VARS structure and is not very well known for the moment. If you have any information about this structure, please help.
See also: GR_WIN_VARS
enum TableFlags {TBL_CONNECT_TRC = 0x80, TBL_INDEP_ASK = 0x40, TBL_NO_MODE_CHANGE = 0x20}; 
Enumerates different Table app flags for the GR_WIN_VARS struct.
Enumerates different Table app flags used in the GR_WIN_VARS structure.
The meaning of these flags is given in the description of GR_WIN_VARS.
See also: GR_WIN_VARS
enum WinVarEnum {GR_XMIN = 0, GR_XMAX = 1, GR_XSCL = 2, GR_YMIN = 3, R_YMAX = 4, GR_YSCL = 5, GR_DELTAX = 6, GR_DELTAY = 7, GR_XRES = 8, GR_TMIN = 8, GR_T0 = 8, GR_TMAX = 9, GR_TSTEP = 10, GR_TPLOT = 11, GR_DIFTOL = 12, GR_ESTEP = 13, GR_FLDRES = 14, GR_NCURVES = 15, GR_DTIME = 16, GR_THETMIN = 8, GR_THETMAX = 9, GR_THETSTEP = 10, GR_XGRID = 2, GR_YGRID = 5, GR_ZMIN = 8, GR_ZMAX = 9, GR_ZSCL = 10, GR_EYE_THETA = 11, GR_EYE_PHI = 12, GR_EYE_PSI = 13, GR_NCONTOUR = 14, GR_XSCALE = 15, GR_YSCALE = 16, GR_ZSCALE = 17, GR_NMIN = 8, GR_NMAX = 9, GR_NPLOT = 10, GR_NSTEP = 11}; 
Describes different Window variables.
WinVarEnum describes different Window variables. They are mainly used in the GR_WIN_VARS structure.
The meaning of the flags is explained in the description of GR_WIN_VARS.
See also: GR_WIN_VARS