[Main]
Name=map_tail
Type=Function
Subtype=ROM Call
Header Files=estack.h
Definition=void map_tail (ESI_Callback_t f, ESI start_ptr);
MinAMS=1.01

[ROM Call]
Index=$3BB

[Description]
Applies a function to all elements in the list.

[Explanation]
map_tail first pushes <A HREF="$$LINK(Tags)">END_TAG</A> on the expression stack, then
calls callback function <I>f</I> for every expression on the expression stack
(in reversed order), starting from the expression pointed to by <I>start_ptr</I> until
<A HREF="$$LINK(Tags)">END_TAG</A> is reached. Each time <I>f</I> is called, a pointer to the
actual expression is passed to it. This function is very useful if you want to apply some
operation on all elements of the list (then <I>start_ptr</I> need to point to the first
element of the list). If the callback function does not push anything on the stack, the
<A HREF="$$LINK(Tags)">END_TAG</A> pushed by map_tail should probably be deleted.
<BR><BR>
<B>Note:</B> map_tail calls <A HREF="$$LINK(next_expression_index)">next_expression_index</A>
to step from one expression to another.

[References]
In=push_parse_text, basfunc.h/did_push_anti_deriv, basfunc.h/push_1st_derivative, basfunc.h/push_abs, basfunc.h/push_acosh, basfunc.h/push_asin, basfunc.h/push_asinh, basfunc.h/push_atan, basfunc.h/push_atanh, basfunc.h/push_char, basfunc.h/push_conj, basfunc.h/push_cosh, basfunc.h/push_csolve, basfunc.h/push_czeros, basfunc.h/push_def_int, basfunc.h/push_desolve, basfunc.h/push_exp, basfunc.h/push_floor, basfunc.h/push_fractional_part, basfunc.h/push_im, basfunc.h/push_integer_part, basfunc.h/push_lim, basfunc.h/push_ln, basfunc.h/push_log10, basfunc.h/push_max, basfunc.h/push_min, basfunc.h/push_nsolve, basfunc.h/push_ord, basfunc.h/push_phase, basfunc.h/push_re, basfunc.h/push_sign, basfunc.h/push_sinh, basfunc.h/push_solve, basfunc.h/push_stddev, basfunc.h/push_tan, basfunc.h/push_tanh, basfunc.h/push_variance, basfunc.h/push_zeros, basop.h/push_equals, basop.h/push_factorial, basop.h/push_greater_than, basop.h/push_greater_than_or_equals, basop.h/push_less_than, basop.h/push_less_than_or_equals, basop.h/push_not, basop.h/push_not_equals, unknown.h/get_ub, unknown.h/push_parse_prgm_or_func_text, unknown.h/push_reciprocal, unknown.h/push_trig, unknown.h/push_user_func, unknown.h/_ROM_CALL_450, unknown.h/_ROM_CALL_48D, unknown.h/_ROM_CALL_4C6, unknown.h/_ROM_CALL_4C7, unknown.h/_ROM_CALL_4D1, unknown.h/_ROM_CALL_4DC
Out=delete_between, push_offset_array, push_quantum, top_estack
