Appendix A: System Routines — EStack Arithmetic
489
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
push_difference
Declaration:
void 
push_difference
 (EStackIndex 
i
, EStackIndex 
j
)
Category(ies):
EStack Arithmetic
Description:
Pushes onto the estack the internally-simplified difference of the
expression indexed by 
i
 minus the expression indexed by 
j
. If one operand
is a scalar and the other is a square matrix, the scalar is distributed only
over the diagonal of the matrix.
Inputs:
i, j
— Index of top tags of internally-simplified algebraic expressions,
algebraic comparisons, or aggregates thereof.
Outputs:
None
Assumptions:
None
Side Effects:
None
Availability:
On AMS 2.02 and higher.
TI
-
89 / TI
-
92 Plus
Differences:
None
See Also: push_sum, replace_top2_with_sum, add_to_top, subtract_from_top,
replace_top2_with_difference, add1_to_top, subtract1_from_top,
push_arg_plus_1, push_arg_minus_1
Example:
void push_coef_list (EStackIndex i, EStackIndex ki)
/* i indexes a polynomial in the variable or kernel indexed by ki.
   Pushes a tail of its coefficients (including zero-coefficients),
   with the constant coefficient deepest.
*/
{  Access_AMS_Global_Variables;
   EStackIndex j, ans;
   push_quantum (END_TAG);
   ans = top_estack;
   push_expression (i);
   i = top_estack;
   while (! is_independent_of (i, ki))
   {  push_substitute_simplify (i, ki, Integer0Index);
      j = top_estack;
      push_difference (i, j);
      divide_top (ki);
      ans = j - deleted_between (ans, i);
      i = top_estack;
   }
}