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 floating-point 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 floating-point 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 graph-related 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 two-graph mode). As the calculator user switches between the two windows in two-graph 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 two-graph mode (whereas gr_active points to the information for the active graph). As the calculator user switches between the two windows in two-graph 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 graph-related 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 TI-89, TI-89 Titanium, TI-92 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