| map_tail | Function (ROM Call 0x3BB)

AMS 1.01 or higher | estack.h

void map_tail (ESI_Callback_t f, ESI start_ptr);

Applies a function to all elements in the list.

map_tail first pushes END_TAG on the expression stack, then calls callback function f for every expression on the expression stack (in reversed order), starting from the expression pointed to by start_ptr until END_TAG is reached. Each time f 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 start_ptr need to point to the first element of the list). If the callback function does not push anything on the stack, the END_TAG pushed by map_tail should probably be deleted.
Note: map_tail calls next_expression_index to step from one expression to another.

Uses: delete_between, push_offset_array, push_quantum, top_estack
Used by: push_parse_text, did_push_anti_deriv, push_1st_derivative, push_abs, push_acosh, push_asin, push_asinh, push_atan, push_atanh, push_char, push_conj, push_cosh, push_csolve, push_czeros, push_def_int, push_desolve, push_exp, push_floor, push_fractional_part, push_im, push_integer_part, push_lim, push_ln, push_log10, push_max, push_min, push_nsolve, push_ord, push_phase, push_re, push_sign, push_sinh, push_solve, push_stddev, push_tan, push_tanh, push_variance, push_zeros, push_equals, push_factorial, push_greater_than, push_greater_than_or_equals, push_less_than, push_less_than_or_equals, push_not, push_not_equals, get_ub, push_parse_prgm_or_func_text, push_reciprocal, push_trig, push_user_func, ROM Call 0x450, ROM Call 0x48D, ROM Call 0x4C6, ROM Call 0x4C7, ROM Call 0x4D1, ROM Call 0x4DC