468
Appendix A: System Routines — EStack Arithmetic
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
did_push_cnvrt_Float_to_integer
Declaration:
Boolean
did_push_cnvrt_Float_to_integer
(EStackIndex
i
)
Category(ies):
EStack Arithmetic
Description:
If the fractional part of the float indexed by
i
is any zero and the number is
representable as a big integer, pushes the tagged big-integer equivalent.
Inputs:
i
— Index of a tagged float.
Outputs:
Returns TRUE if a tagged big-integer is pushed. Otherwise returns FALSE.
Assumptions:
i
points to the top tag of a tagged float.
Side Effects:
None
Availability:
On AMS 1.05 and higher.
TI
-
89 / TI
-
92 Plus
Differences:
None
See Also: is_whole_number, is_Float_exact_whole_number,
push_cnvrt_integer_if_whole_nmb, push_floor, push_ceiling,
push_integer_part
Example:
void push_cnvrt_integer_if_whole_nmb (EStackIndex i)
/* i indexes an expression.
If it is a whole number that is representable as an integer, pushes the
integer equivalent. Otherwise pushes expression i.
*/
{ if (FLOAT_TAG == ESTACK (i) && did_push_cnvrt_Float_to_integer (i))
;
else
push_expression (i);
}