Appendix A: System Routines — Lists and Matrices
673
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
did_map_aggregate_arg
Declaration:
Boolean
did_map_aggregate_arg
(void (*
proc
) (EStackIndex, EStackIndex), EStackIndex
i
, EStackIndex
j
)
Category(ies):
Lists and Matrices
Description:
Determines if
i
and/or
j
index aggregates.
A NON_CONFORMING_LISTS_ERROR is thrown if
i
and
j
index
nonconforming aggregates.
Inputs:
proc
— Address of a procedure that takes two EStackIndex arguments.
i
,
j
— Indices of the top tag of internally-simplified algebraic
expressions.
Outputs:
If
i
and/or
j
index aggregates, maps
proc
over their elements then returns
TRUE. Otherwise returns FALSE.
Assumptions:
None
Side Effects:
None
Availability:
On AMS 2.04 and higher.
TI
-
89 / TI
-
92 Plus
Differences:
None
See Also: map_tail, all_tail, any_tail
Example:
/* Title: push_dot_mult
** Description: push element by element product of two arguments
** onto the estack
** Input: estack index i of the first simplified argument
** estack index j of the second simplified argument
** Output: pushes the element by element product onto the estack
*/
void push_dot_mult (EStackIndex i, EStackIndex j)
{ if (! did_map_aggregate_arg (push_dot_mult, i, j))
push_product (i, j);
}