Appendix A: System Routines — Logic
731
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
is_nonnegative
Declaration:
Boolean
is_nonnegative
(EStackIndex
i
)
Category(ies):
Logic
Description:
Determines whether the internally-simplified algebraic expression indexed
by
i
is non-negative real for all finite values of all variables therein. Takes
into account bounds indexed by
NG_such_that_index
. ALL zeros are
considered non-negative, even
L
0 and
L
0.0
Inputs:
i
— Index of the top tag of an internally-simplified expression.
Outputs:
Returns TRUE if it can determine that the internally-simplified algebraic
expression indexed by
i
is non-negative real for all finite values of all
variables therein. Otherwise returns FALSE, even though the expression
indexed by
i
might always be non-negative.
Assumptions:
None
Side Effects:
None
Availability:
On AMS 2.02 and higher.
TI
-
89 / TI
-
92 Plus
Differences:
None
See Also: is_never0, is_positive, is_nonpositive, is0, is_negative, is_real
Example:
EStackIndex index_nonnegative_factor (EStackIndex i)
/* i indexes a term.
Returns NULL_INDEX if it cannot determine that one of its explicit
factors is non-negative.
Otherwise returns i or the index of its first remaining factors for which
the lead factor has been determined to be nonnegative.
*/
{ while (! is1 (i))
if (is_nonnegative (lead_factor_index (i)))
return i;
else
i = remaining_factors_index (i);
return NULL_INDEX;
}