basop.h Header File

Header File Index

Routines for executing TI-Basic operators

Very few of the functions from this header file are documented as of now. Of course, the ones which are undocumented have not been tested, either. It is very likely that there are errors in this file, so use it with care.

However, we thought it might be a good idea to provide a header file for all of the built-in TI-Basic operators which have a documented entry in the jump table. This way, you can easily search for particular operators if you need them. If you use a function from this header file, please document it, too.

Many functions from this header file require their arguments to have some specific format. They usually have to be internally simplified, which can be achieved with the push_internal_simplify function from estack.h, and the result is an internally simplified expression as well.

If you do not want to accept the AMS dependency of these functions, you can usually construct an expression using their appropriate tags, and then call push_internal_simplify.

 Functions
did_push_to_polar
Executes TI-Basic '>Polar' operator.
push_and
Executes TI-Basic 'and' operator.
push_arg_minus_1
Executes TI-Basic '-' operator with constant 1.
push_arg_plus_1
Executes TI-Basic '+' operator with constant 1.
push_assignment
Executes TI-Basic '->' operator or 'Define' command.
push_degrees
Executes TI-Basic '°' operator.
push_difference
Executes TI-Basic '-' operator.
push_dot_add
Executes TI-Basic '.+' operator.
push_dot_div
Executes TI-Basic './' operator.
push_dot_exponentiate
Executes TI-Basic '.^' operator.
push_dot_mult
Executes TI-Basic '.*' operator.
push_dot_sub
Executes TI-Basic '.-' operator.
push_equals
Executes TI-Basic '=' operator.
push_exponentiate
Executes TI-Basic '^' operator.
push_factorial
Executes TI-Basic '!' operator.
push_greater_than_or_equals
Executes TI-Basic '>=' operator.
push_greater_than
Executes TI-Basic '>' operator.
push_indir_name
Executes TI-Basic '#' operator.
push_less_than_or_equals
Executes TI-Basic '<=' operator.
push_less_than
Executes TI-Basic '<' operator.
push_list_plus
Executes TI-Basic '.+' operator.
push_list_times
Executes TI-Basic '.*' operator.
push_matrix_product
Executes TI-Basic '*' operator for matrices.
push_negate
Executes TI-Basic '-' (negation) operator.
push_not_equals
Executes TI-Basic '/=' operator.
push_not
Executes TI-Basic 'not' operator.
push_or
Executes TI-Basic 'or' operator.
push_percent
Executes TI-Basic '%' operator.
push_pow
Executes TI-Basic '^' operator for floats.
push_product
Executes TI-Basic '*' operator.
push_radians
Executes TI-Basic 'r' operator.
push_ratio
Executes TI-Basic '/' operator.
push_square
Executes TI-Basic '^' operator with exponent 2.
push_substitute_no_simplify
Executes TI-Basic '|' operator (unsimplified).
push_substitute_simplify
Executes TI-Basic '|' operator (simplified).
push_substitute_using_such_that
Executes TI-Basic '|' operator.
push_sum
Executes TI-Basic '+' operator.
push_to_cylin
Executes TI-Basic '>Cylind' operator.
push_to_sphere
Executes TI-Basic '>Sphere' operator.
 Predefined Types
CESI
Represents a pointer to a constant expression.
ESI
Represents an index of a value on the TIOS expression stack.
ESQ
Represents a quantum within an expression.
EStackIndex
Represents an index of a value on the TIOS expression stack.
Quantum
Represents a quantum within an expression.
SYM_STR
Represents a pointer to the terminating zero byte of a string.

Note: All functions from this header file get parameters from the expression stack, so this header file must be used in conjunction with estack.h. You need to learn about the usage of the expression stack before using any function from this header file. All functions defined here execute particular TI-Basic operators. They sometimes may be useful to perform some operations which can not be implemented in C easily. But note that if you use functions from this header file too much, this will decrease the performance of your program significantly. In an extreme case, it will in fact decrease to that of a TI-Basic program! So use functions from this header file only if it is really necessary. Also note that these functions act exactly like the appropriate TI-Basic commands (including throwing errors if something is wrong), so the use of an error tracking mechanism from the error.h header file is highly recommended.


See also: bascmd.h, basfunc.h