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;
}