estack.h Header File

Header File Index

Routines for symbolic manipulation and expression handling

 Functions
add_to_top
Adds a value to the expression on the top of the EStack.
add1_to_top
Adds 1 to the top of the EStack.
all_tail
Checks whether all elements in the list have some property.
and_onto_top
Logical ANDs an expression onto the EStack.
any_tail
Checks whether any element in the list has some property.
are_expressions_identical
Checks whether two expressions are identical.
can_be_approxed
Checks whether an expression can be approximated to a number.
check_estack_size
Checks if there is enough room on the expression stack.
compare_complex_magnitudes
Compares magnitudes of two complex number entries on the expression stack.
compare_expressions
Compares two expressions.
compare_Floats
Compares two floating point entries on the expression stack.
CreateEmptyList
Creates a MULTI_EXPR containing an empty list and returns its handle.
delete_between
Deletes a sequence of bytes from the expression stack.
delete_expression
Deletes an expression from the expression stack.
deleted_between
Deletes a sequence of bytes from the expression stack.
deleted_expression
Deletes an expression from the expression stack.
did_push_cnvrt_Float_to_integer
Pushes a floating point entry converted to an integer, but only if it is an exact whole number.
display_statements
Converts tokenized expressions or TI-Basic statements to the printable form.
divide_top
Divides the expression onto the EStack.
estack_number_to_Float
Converts entry on the expression stack to floating point number.
estack_to_short
Converts entry on the expression stack to signed short integer.
estack_to_ushort
Converts entry on the expression stack to unsigned short integer.
ESTACK
Reads the expression stack at a specific index.
factor_base_index
Gets the index of the base of an expression.
factor_exponent_index
Gets the index of the exponent of an expression.
gcd_exact_whole_Floats
Finds the greatest common divisor of two floating point entries.
get_key_ptr
Converts a tag code to a tag name.
GetValue
Converts entry on the expression stack to short integer and checks whether it is in a given range.
HS_popEStack
Pops the entire expression stack into memory.
HToESI
Converts a handle to an expression stack index.
im_index
Gets the index of the imaginary part of an expression.
index_below_display_expression_aux
Main routine for detokenizing.
index_main_var
Searches an expression for a first encountered variable.
index_numeric_term
Searches terms in the expression for a numeric term.
index_of_lead_base_of_lead_term
Gets the index of the base of the lead term of an expression.
init_list_indices
Computes and stores the indices of the elements of a list.
init_matrix_indices
Computes and stores the indices of the elements of a matrix.
integer_non_unknown
Tests if an expression is an integer.
is0
Tests if an expression is equal to 0.
is1
Tests if an expression is equal to 1.
is_advanced_tag
Checks whether a tag is an advanced tag.
is_antisymmetric
Checks for a antisymmetry.
is_complex0
Checks whether an expression is reducible to zero.
is_complex_number
Checks whether an expression is a number.
is_constant
Checks whether an expression is constant.
is_Float_exact_whole_number
Checks whether a floating point entry is an exact whole number.
is_free_of_tag
Checks whether an expression is free of a particular tag.
is_independent_of_de_seq_vars
Checks whether an expression is independent of differential equation and sequence variables.
is_independent_of_elements
Checks whether an expression is independent of the elements of a list.
is_independent_of_tail
Checks whether an expression is independent of a sequence of variables (or expressions).
is_independent_of
Checks whether an expression is independent of a variable (or expression).
is_matrix
Checks whether an expression is a matrix.
is_minus1
Tests if an expression is equal to -1.
is_monomial_in_kernel
Checks whether an expression is a monomial in kernel.
is_monomial
Checks whether an expression is a monomial.
is_narrowly_independent_of
Checks whether an expression is narrowly independent of a variable (???).
is_negative
Tests if an expression is less than 0.
is_never0
Tests if an expression is never 0.
is_nonnegative
Tests if an expression is >= 0.
is_nonpositive
Tests if an expression is <= 0.
is_polynomial_in_var_or_kern
Checks if an expression is a polynomial with respect to another expression.
is_pos_int_and_eq_quantum
Determines whether expr points to the tag of a positive integer equal to num.
is_positive
Tests if an expression is greater than 0.
is_reciprocal_of_quantum
Determines whether expr points to the tag of the reciprocal of ESQ num.
is_square_matrix
Checks whether an expression is a square matrix.
is_symmetric
Checks for symmetry.
is_tail_independent_of
Checks whether a sequence of expressions is independent of a variable (or expression).
is_temperature_unit
Checks for strings of temperature units.
is_totally_polynomial
Checks if an expression is polynomial in all variables.
is_valid_smap_aggregate
Checks whether an expression is a valid aggregate type.
is_variable
Checks if the expression is a variable.
is_whole_number
Tests if an expression is a whole number.
last_element_index
Searches for the last expression in the list.
lead_base_index
Gets the index of the base of the lead factor of an expression.
lead_exponent_index
Gets the index of the exponent of the lead factor of an expression.
lead_factor_index
Gets the index of the lead factor of an expression.
lead_term_index
Gets the index of the lead term of an expression.
likely_approx_to_complex_number
Checks if it is likely that an expression can be approxed to a complex number.
likely_approx_to_number
Checks is it likely that an expression can be approxed to a real number.
main_gen_var_index
Searches an expression for a generalized variable.
map_tail_Int
Applies an extended function to all elements in the list.
map_tail
Applies a function to all elements in the list.
map_unary_over_comparison
Calls callback function for both comparison terms and pushes the comparison tag.
min_quantum
Finds smaller of two tags.
move_between_to_top
Moves a sequence of bytes to the top of the expression stack.
moved_between_to_top
Moves a sequence of bytes to the top of the expression stack.
negate_top
Negates the top of the EStack.
next_expression_index
Finds the next entry on the expression stack.
NG_approxESI
Evaluates an expression in "APPROX" mode.
NG_execute
Executes TI-Basic statements.
NG_graphESI
Evaluates an expressions for graphing purposes.
NG_rationalESI
Evaluates an expression in "EXACT" mode.
NG_RPNToText
Detokenizes a tokenized structure associated with a handle.
NG_tokenize
Tokenizes text associated with a handle and pushes them to the expression stack.
norm1_complex_Float
Finds the 1-norm of a complex number entry.
numeric_factor_index
Searches factors in the expression for a numeric factor.
or_onto_top
Logical ORs an expression onto the estack.
Parms2D
Gets information about dimensions of block which will be "pretty printed".
Parse1DExpr
Parses a tokenized expression to be printed.
Parse2DExpr
Parses a tokenized expression to be pretty printed using Print2DExpr.
Parse2DMultiExpr
Parses a multi-statement expression associated with a handle to be pretty printed using Print2DExpr.
Print2DExpr
Performs "pretty printing" (or "2D printing") of an expression.
push0
Pushes a tagged integer or a tagged float 0, depending on the mode setting.
push1
Pushes a tagged integer or a tagged float 1, depending on the mode setting.
push_ANSI_string
Pushes a standard C string to the expression stack.
push_between
Pushes a sequence of bytes to the expression stack.
push_cnvrt_integer_if_whole_nmb
Pushes a floating point entry eventually converted to an integer.
push_e
Pushes e.
push_END_TAG
Pushes end-of-list marker to the expression stack.
push_exact0
Pushes a tagged integer 0.
push_exact1
Pushes a tagged integer 1.
push_exact_minus1
Pushes a tagged integer -1.
push_expr_quantum
Pushes an expression followed by a tag to the expression stack.
push_expr2_quantum
Pushes two expressions followed by a tag to the expression stack.
push_expression
Pushes an expression to the expression stack.
push_Float_to_nonneg_int
Rounds a floating point value to an integer, then pushes it to the expression stack.
push_Float_to_rat
Pushes a rational approximation of a floating point entry.
push_Float
Pushes a floating point value to the expression stack.
push_half
Pushes a tagged fraction +1/2 or a tagged float 0.5, depending on the mode setting.
push_i
Pushes i.
push_internal_simplify
Converts an expression into internal canonic form and pushes the result to the expression stack.
push_LIST_TAG
Pushes list tag to the expression stack.
push_long_to_integer
Pushes a signed long integer to the expression stack.
push_longint
Pushes a long integer to the expression stack.
push_longlongint
Pushes a double-long integer to the expression stack.
push_minus1
Pushes a tagged integer or a tagged float -1, depending on the mode setting.
push_minus_half
Pushes a tagged fraction -1/2 or a tagged float -0.5, depending on the mode setting.
push_minus_recip_of_quantum
Pushes on the EStack minus the reciprocal of the argument as a tagged negative fraction.
push_negate_quantum_as_negint
Pushes on the EStack the argument as a tagged negative integer.
push_next_arb_int
Pushes a next "arbitrary integer" symbol to the expression stack.
push_next_arb_real
Pushes a next "arbitrary real" symbol to the expression stack.
push_next_internal_var
Pushes an internal variable to the expression stack.
push_no_solution_found_string
Pushes "No solution found", or its localized version if a language localization is active (on AMS 2.xx), on the EStack.
push_offset_array
Pushes an array of offsets to the list items.
push_overflow_to_infinity
Displays a warning, and pushes a tag to the expression stack.
push_parse_text
Parses an expression given in a string and pushes tokenized expression to the expression stack.
push_pi_on_quantum
Pushes on the EStack the quotient of PI (numerator) and of the argument (denominator), in a way depending on the mode setting.
push_pi
Pushes on the EStack a tagged float PI if the mode setting is APPROX, otherwise pushes a PI_TAG.
push_quantum_as_nonnegative_int
Pushes on the EStack the argument as a tagged positive integer.
push_quantum_pair_as_pos_frac
Pushes on the EStack the quotient of the first argument (numerator) and the second argument (denominator).
push_quantum_pair
Pushes two bytes (tags) to the expression stack.
push_quantum
Pushes a byte (tag) to the expression stack.
push_reciprocal_of_quantum
Pushes on the EStack the reciprocal of the argument as a tagged positive fraction.
push_reversed_tail
Pushes elements of the list up to tail onto the stack in reversed order.
push_round_Float
Pushes an approximation of a floating point entry.
push_shortint
Pushes a short integer to the expression stack.
push_simplify
Simplifies the argument and pushes onto the estack.
push_transpose_aux
Pushes transposed matrix to the expression stack.
push_ulong_to_integer
Pushes an unsigned long integer to the expression stack.
push_ushort_to_integer
Pushes an unsigned short integer to the expression stack.
push_zstr
Pushes a standard C string to the expression stack.
raise_to_top
Raises a value to the power given by the expression on the top of the EStack.
re_index
Gets the index of the real part of an expression.
reductum_index
Gets the index of remaining terms of an expression.
remaining_element_count
Returns number of elements remaining.
remaining_factors_index
Gets the index of remaining factors of an expression.
replace_top_with_post_simplified
Replaces the expression on top of the EStack, in internal form, with the external (printing) form.
replace_top_with_reciprocal
Replaces the expression on top of the EStack by its reciprocal.
replace_top2_with_and
Replace the two top-most expressions on the EStack by their logical AND.
replace_top2_with_difference
Replace the two top-most expressions on the EStack by their difference.
replace_top2_with_imre
Replace the two top-most expressions on the EStack by a complex number.
replace_top2_with_or
Replace the two top-most expressions on the EStack by their logical OR.
replace_top2_with_pow
Replace the two top-most expressions on the EStack by a power.
replace_top2_with_prod
Replace the two top-most expressions on the EStack by their product.
replace_top2_with_ratio
Replace the two top-most expressions on the EStack by their ratio.
replace_top2_with_sum
Replace the two top-most expressions on the EStack by their sum.
reset_control_flags
Resets the control flags for operations with the expression stack.
reset_estack_size
Reallocates the expression stack.
should_and_did_push_approx_arg2
Pushes a second floating point argument, if possible.
signum_Float
Finds the signum of a floating point entry.
subtract_from_top
Subtracts a value from the top of the EStack.
subtract1_from_top
Subtracts 1 from the top of the EStack.
times_top
Multiplies the expression onto the EStack.
TokenizeSymName
Tokenizes a C string into a symbol name.
 Global Variables
ARb_int_count
Represents the number of times arbitrary-integer variables were already used by some calculus.
ARb_real_count
Represents the number of times arbitrary variables were already used by some calculus.
bottom_estack
Points to the bottom of the expression stack.
command_tag_list
Array of structures containing information on InstructionTags.
estack_max_index
Points to the end of the expression stack.
Float0Index
Pointer to the end tag (FLOAT_TAG) of a 14-digit tagged floating-point value 0.0.
Float1Index
Pointer to the end tag (FLOAT_TAG) of a 14-digit tagged floating-point value 1.0.
FloatExp1Index
Pointer to the end tag (FLOAT_TAG) of a 14-digit tagged floating-point value e.
FloatHalfIndex
Pointer to the end tag (FLOAT_TAG) of a 14-digit tagged floating-point value 0.5.
FloatMinus1Index
Pointer to the end tag (FLOAT_TAG) of a 14-digit tagged floating-point value -1.0.
FloatPiIndex
Pointer to the end tag (FLOAT_TAG) of a 14-digit tagged floating-point value pi.
FLOATTAB
A pointer to an array of more or less commonly used untagged floats.
index_false
Pointer on a FALSE_TAG (0x2B) stored in the Flash.
index_true
Pointer on a TRUE_TAG (0x2C) stored in the Flash.
Integer0Index
Pointer to the end tag (POSINT_TAG) of an integer value 0.
Integer1Index
Pointer to the end tag (POSINT_TAG) of an integer value 1.
Integer2Index
Pointer to the end tag (POSINT_TAG) of an integer value 2.
IntegerMinus1Index
Pointer to the end tag (NEGINT_TAG) of an integer value -1.
primary_tag_list
Array of structures containing information on Tags.
secondary_tag_list
Array of structures containing information on ExtTags.
sysvar_tag_list
Array of structures containing information on SysvarTags.
top_estack
Points to the top of the expression stack.
 Constants
H_NULL
A null-handle value.
NULL_INDEX
Describes an empty expression stack index.
 Predefined Types
bcd
Represents the internal organization of floating point numbers in the format recognized by the TIOS.
Bool
An enumeration to describe true or false values.
CESI_Callback_t
Represents a pointer to a CESI callback function.
CESI
Represents a pointer to a constant expression.
cmd_info
Structure containing information about AMS EStack command tags (InstructionTags).
ESI_Callback_Int_t
Represents a pointer to an ESI callback function with integer extensions.
ESI_Callback_t
Represents a pointer to an ESI callback function.
ESI
Represents an index of a value on the TIOS expression stack.
ESQ
Represents a quantum within an expression.
EStackDisplacement
Type used for representing difference of two ESI pointers.
EStackIndex
Represents an index of a value on the TIOS expression stack.
ExtTags
An enumeration to describe extra types of entries on the expression stack.
FLOATTABIndexes
An enumeration for describing the valid indexes for FLOATTAB.
HANDLE
Represents a handle associated with an allocated memory block.
InstructionTags
An enumeration to describe types of instructions on the expression stack.
MULTI_EXPR
Describes a multi-expression, which is processed as a separate expression stack.
Quantum
Represents a quantum within an expression.
SCR_RECT
A scructure for defining a rectangular area.
SCR_STATE
A structure for saving the state of the graphics system.
SYM_STR
Represents a pointer to the terminating zero byte of a string.
sysvar_info
Structure containing information about AMS EStack tags (SysvarTags).
SysvarTags
An enumeration to describe types of system variable entries on the expression stack.
tag_info
Structure containing information about AMS EStack tags (Tags, ExtTags).
Tags
An enumeration to describe types of entries on the expression stack.
ti_float
An alias for the standard ANSI float type.
TokenizeSymNameFlags
Contains flags specifying how a symbol name is tokenized.
WINDOW
The main window-describing structure.


See also: args.h