Texas Instruments TI89 Developer Guide - Page 218
Estack Arguments and Results, is used to step from each
![]() |
UPC - 033317198566
View all Texas Instruments TI89 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 218 highlights
176 Chapter 15: Expressions and The Expression Stack 15.6.1. Estack Arguments and Results Lets modify the future value function to accept its arguments as a tail on the estack and return its result on the estack. This example continues to accept and return only floating-point values. The changes use the following features. • An EstackIndex called arg is used to access each of the arguments in turn. • BCD16 variables fv, pv, ir, and np are declared to receive the argument values and perform the computation. • The system function next_expression_index is used to step from each argument to the next. • The system function estack_to_float is used to copy the tagged floats from the estack into the BCD16 variables. • The system function push_Float is used to push the BCD16 result onto the estack as a tagged float. /* This function takes three tagged BCD16 arguments. The arguments are required to be in a tail on top of the expression stack in the following order. pv = present value ir = interest rate np = number of periods The function returns future value fv as a tagged float on top of the expression stack. */ void fv (void) { EStackIndex arg; /* argument pointer */ BCD16 fv, pv, ir, np; /* BCD16 variables */ /* point arg to the first argument in the tail */ arg = top_estack; /* get the present value argument */ pv = estack_to_float (arg); /* advance the argument pointer to the next argument */ arg = next_expression_index (arg); /* get the interest rate argument */ ir = estack_to_float (arg); /* advance the argument pointer to the next argument */ arg = next_expression_index (arg); /* get the number of periods argument */ np = estack_to_float (arg); /* perform the future value calculation */ fv = pv * pow (ir + 1.0, np); /* push the future value on the estack */ push_Float (fv); } TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
![](/manual_guide/products/texas-instruments-ti89-developer-guide-95b636f/218.png)