Appendix A: System Routines — Variable Name Utilities
1121
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
is_variable
Declaration:
Boolean
is_variable
(EStackIndex
i
)
Category(ies):
Variable Name Utilities, Algebra Utilities
Description:
Determines whether
i
indexes a subscripted or unsubscripted variable.
Inputs:
i
— Index of the top tag of an internally-simplified expression.
Outputs:
Returns TRUE if
i
indexes a subscripted or unsubscripted variable.
Assumptions:
None
Side Effects:
None
Availability:
On AMS 2.00 and higher.
TI
-
89 / TI
-
92 Plus
Differences:
None
See Also: is_complex_number, is_constant
Example:
Boolean is_rational_expression (EStackIndex i)
/* i indexes an expression.
Returns TRUE if it is a rational expression in all of its variables.
Otherwise returns FALSE.
*/
{ EStackIndex j;
for (;;)
if (IS_NUMBER_OR_VARIABLE_TAG (ESTACK (i)) || is_variable (i))
return TRUE;
else if (ADD_TAG == ESTACK (i) || MULTIPLY_TAG == ESTACK (i))
if (is_rational_expression (--i))
i = next_expression_index (i);
else
return FALSE;
else if (EXPONENTIATION_TAG == ESTACK (i))
{ j = next_expression_index (--i);
if (! IS_INTEGER_TAG (ESTACK (j)))
return is_constant (i);
}
else
return is_constant (i);
}