| Overview | Group | Index | Concepts | 
This is an advanced routine. Advanced routines typically demand a thorough understanding of the algorithms used by ILOG CPLEX. Thus they incur a higher risk of incorrect behavior in your application, behavior that can be difficult to debug. Therefore, ILOG encourages you to consider carefully whether you can accomplish the same task by means of other Callable Library routines instead.
The routine CPXuncrushform uncrushes a linear formula of
 the presolved problem to a linear formula of the original problem.
Let cols = CPXgetnumcols (env, lp). If ind[i] <
 cols then the ith variable in the formula is variable
 with index ind[i] in the original problem. If ind[i]
 >= cols, then the ith variable in the formula is the
 slack for the (ind[i] - cols)th ranged row. The
 arrays ind and val must be of length at least the
 number of columns plus the number of ranged rows in the original LP problem
 object.
Example
 status = CPXuncrushform (env, lp, plen, pind, pval,
                          &len, &offset, ind, val);
 | env | A pointer to the CPLEX environment, as returned by   | 
| lp | A pointer to a CPLEX LP problem object, as returned by   | 
| plen | The number of entries in the arrays   | 
| pval | The linear formula in terms of the presolved problem. Each entry,   | 
| len_p | A pointer to an integer to receive the number of nonzero coefficients, that is, the true length of the arrays   | 
| offset_p | A pointer to a double to contain the value of the linear formula corresponding to variables that have been removed in the presolved problem.  | 
| val | The linear formula in terms of the original problem.  |