| 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