Appendix A: System Routines — EStack Arithmetic
471
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
get_ub
Declaration:
float
get_ub
(EStackIndex
var
)
Category(ies):
EStack Arithmetic
Description:
If global
NG_such_that_index
includes
var
<= expression, and
approx (expression) -> float, returns that float. Otherwise if global
NG_such_that_index
includes
var
< expression, and approx (expression)
-> float, returns that float + epsilon, where epsilon = 1E-38 if approx (x) ==
0.0 and 8
†
FLOAT_EPSILON
†
ABS (Float) if approx (x) != 0.0. Otherwise
returns FLOAT_MIN.
Inputs:
var
— Index to a variable.
Outputs:
None
Assumptions:
None
Side Effects:
None
Availability:
On AMS 2.02 and higher.
TI
-
89 / TI
-
92 Plus
Differences:
None
See Also: get_lb
Example:
Int var_lt_eq_other_const (EStackIndex ki, EStackIndex j)
/* ki indexes a kernel and j indexes a number.
Using NG_such_that_index:
returns 1 if deduces the variable indexed by ki < the number indexed by j,
returns 0 if deduces the variable indexed by ki = the number indexed by j,
returns -1 otherwise.
*/
{ Access_AMS_Global_Variables;
Float fki = get_ub (ki);
if (fki > -FLOAT_MAX)
{ ki = top_estack;
push_approx (j);
j = top_estack;
if (FLOAT_TAG == ESTACK (j))
{ Float fj = ESTACK_TO_FLOAT (j);
top_estack = ki;
return fki > fj ? -1 : fki < fj;
}
}
return -1;
}