Go to the first, previous, next, last section, table of contents.


Types of Variables

There are four kinds of user defined variables that are used in this mode:

  1. Integer Variables. Used to store integer values.
  2. Inequality Variables. Used to store systems of linear inequalities.
  3. Variables within Inequalities. Used inside inequalities to describe the inequality. These represent loop indices and symbolic constants.
  4. Symbolic Coefficients within Inequalities. Used inside inequalities to represent symbolic coefficients. Symbolic coefficients are an extension to the linear inequality framework (See the SUIFMATH Library Reference Manual).

The type of a variable is one of the above four depending on the first use of the variable. In the case of Integer Variables and Inequality Variables use of a variable without first assigning to it is illegal. Variable names cannot have multiple types or be moved across different types. The names of the variables can be any combination of alphabetic characters except the reserved keywords or character strings used to represent variables within the inequality system.

n = 4
A =  [ i <= j ]
B = [ L*Pr <= ir < L*Pr + L]

where `n' is an integer variable, `A' and `B' are Inequality Variables, `i', `j', `Pr' and `ir' are Variables within Inequalities and finally `L' is a Symbolic Coefficient within the Inequality. The determination of whether a variable is a symbolic coefficient or a variable within an inequality is made by looking at the expression. If two variables are multiplied, the variable on the left is considered a symbolic coefficient, while the variable on the right is a variable within an inequality. There is no other way to distinguish between the two types of variables. However, once a variable has been determined to be one or the other, it will remain that type throughout the execution of LIC.


Go to the first, previous, next, last section, table of contents.