PIPS
|
#include <stdio.h>
#include "genC.h"
#include "linear.h"
#include "ri.h"
#include "ri-util.h"
#include "constants.h"
#include "boolean.h"
#include "arithmetique.h"
#include "vecteur.h"
#include "misc.h"
#include "contrainte.h"
#include "sc.h"
#include "matrice.h"
#include "matrix.h"
#include "sparse_sc.h"
#include "tiling.h"
#include "movements.h"
Go to the source code of this file.
Functions | |
expression | complex_bound_generation (Value coeff1, Value coeff2, Value coeff3, Pvecteur exp1, Variable __attribute__((unused)) var1, Pvecteur exp2, Variable __attribute__((unused)) var2) |
Print the complex expression [coeff1 * (exp1 / coeff2) + exp2 ] / coeff3. More... | |
expression | complex_bound_computation (Psysteme __attribute__((unused)) sc, Pbase index_base, Pcontrainte ineq1, Pcontrainte ineq2, int rank) |
Compute the complex bounds associated to the variable of higher rank, after the variable "el_var" of rank "rank". More... | |
expression complex_bound_computation | ( | Psysteme __attribute__((unused)) | sc, |
Pbase | index_base, | ||
Pcontrainte | ineq1, | ||
Pcontrainte | ineq2, | ||
int | rank | ||
) |
Compute the complex bounds associated to the variable of higher rank, after the variable "el_var" of rank "rank".
variable "el_var" is eliminated from the two inequations ineq1 and ineq2. Bound expression of the higher variable belonging to ineq1 or ineq2 is then computed.
the right_exp is assigned to the inequation where the coefficient of the variable "el_var" is positive. the left_exp is assigned to the inequation where the coefficient of the variable "el_var" is negative.
computation of the bound expression of the variable of higher rank, after el_var, when this variable belongs to left_exp
??? bug? was sign
computation of the bound expression of the variable of higher rank, after el_var, when this variable belongs to right_exp
??? was sign
Definition at line 119 of file complex_bound_generation.c.
References complex_bound_generation(), constraint_integer_combination(), debug(), debug_off, debug_on, int_to_value, rank, TCST, value_abs, value_mult, VALUE_ONE, value_plus, value_pos_p, value_sign, value_uminus, VALUE_ZERO, variable_of_rank(), vect_add_elem(), vect_chg_coeff(), vect_chg_sgn(), vect_coeff(), vect_dup(), and Scontrainte::vecteur.
Referenced by lower_bound_generation(), and upper_bound_generation().
expression complex_bound_generation | ( | Value | coeff1, |
Value | coeff2, | ||
Value | coeff3, | ||
Pvecteur | exp1, | ||
Variable __attribute__((unused)) | var1, | ||
Pvecteur | exp2, | ||
Variable __attribute__((unused)) | var2 | ||
) |
Print the complex expression [coeff1 * (exp1 / coeff2) + exp2 ] / coeff3.
where exp(s) are Pvecteur(s) corresponding to parts of complex bound
Definition at line 62 of file complex_bound_generation.c.
References CONS, debug(), debug_off, debug_on, entity_domain, EXPRESSION, expression_undefined, gen_find_tabulated(), int_to_expression(), make_div_expression(), make_entity_fullname(), make_op_expression(), make_vecteur_expression(), NIL, PLUS_OPERATOR_NAME, TOP_LEVEL_MODULE_NAME, value_abs, value_notone_p, and VALUE_TO_INT.
Referenced by complex_bound_computation().