Appendix A: System Routines — Algebra Utilities
239
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
index_if_pushed_binomial_info
Declaration:
EStackIndex
index_if_pushed_binomial_info
(EStackIndex
i
,
EStackIndex
vi
)
Category(ies):
Algebra Utilities
Description:
If the algebraic expression indexed by
i
is a generalized binomial in the
variable or kernel indexed by
vi
, pushes the constant term, then the
coefficient of the nonconstant term, then the degree; then returns the index
of the constant term. Otherwise returns NULL_INDEX. The degree can be
any nonzero number, including negative and/or fractional.
Inputs:
i
— Index of the top tag of an internally-simplified algebraic expression.
vi
— Index of the top tag of a variable or kernel.
Outputs:
If the algebraic expression indexed by
i
is a generalized binomial in the
variable or kernel indexed by
vi
, pushes the constant term, then the
coefficient of the nonconstant term, then the degree; then returns the index
of the constant term. Otherwise returns NULL_INDEX. The degree can be
any nonzero number, including negative and/or fractional.
Assumptions:
None
Side Effects:
None
Availability:
All versions of the TI
-
89 / TI
-
92 Plus.
TI
-
89 / TI
-
92 Plus
Differences:
None
See Also: push_poly_deg_in_var_or_kernel, linear_degree, did_push_lincf,
index_if_pushed_qquad_info
Example:
If
i
indexes (x^2
†
ln(y)^-(1/2) + x + ln(y)^-(1/2))
†
z
and
vi
indexes ln(y), pushes x
†
z, then (x^2 + 1)
†
z,
then
L
1/2, then returns TRUE.
/* Pushes a tagged integer 2 constant term, then a tagged float coefficient 0.5,
then a tagged integer 1 degree, then returns the index of the tagged integer 2
constant terms that it pushed.
*/
push_quantum (8u);
vi = top_estack; /* vi = variable x */
push_product (vi, FloatHalfIndex); /* top_estack -> x * (1/2) */
add_to_top (Integer2Index); /* top_estack -> x * (1/2) + 2 */
index_if_pushed_binomial_info (top_estack, vi);