PIPS
sc_oppose.c File Reference
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "boolean.h"
#include "arithmetique.h"
#include "vecteur.h"
#include "contrainte.h"
#include "sc.h"
+ Include dependency graph for sc_oppose.c:

Go to the source code of this file.

Functions

Psysteme sc_oppose (Psysteme ps)
 package sc More...
 

Function Documentation

◆ sc_oppose()

Psysteme sc_oppose ( Psysteme  ps)

package sc

Psysteme sc_oppose(Psysteme ps): calcul, pour un systeme de contraintes sans egalites, du systeme de contraintes dont les inegalites sont les negations des inegalites originelles; attention, cela ne calcule pas le complementaire, qui n'est d'aileurs pas un polyedre!

Pour chaque inegalite de, AX <= B, on construit une inegalites "opposee" AX > B approximee par -AX <= -B

Un systeme non trivial risque fort d'etre transforme en systeme non faisable. For instance, -1<=x<=1 is changed into 1<=-x<=-1.

The function aborts if ps contains equalities.

The constraint system ps is modified by side effect and returned. No new system is allocated.

Definition at line 58 of file sc_oppose.c.

60 {
62 
63  if (ps->nb_eq != 0) {
64  (void) fprintf(stderr,"sc_oppose: systeme contenant des egalites\n");
65  abort();
66  }
67 
68  for (eq = ps->inegalites; eq != (Pcontrainte )NULL; eq = eq->succ)
70 
71  return(ps);
72 }
#define VALUE_MONE
#define abort()
Definition: misc-local.h:53
Pcontrainte eq
element du vecteur colonne du systeme donne par l'analyse
Definition: sc_gram.c:108
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
Pvecteur vect_multiply(Pvecteur v, Value x)
Pvecteur vect_multiply(Pvecteur v, Value x): multiplication du vecteur v par le scalaire x,...
Definition: scalaires.c:123
Pvecteur vecteur
struct Scontrainte * succ
Pcontrainte inegalites
Definition: sc-local.h:71
int nb_eq
Definition: sc-local.h:72

References abort, eq, fprintf(), Scontrainte::succ, VALUE_MONE, vect_multiply(), and Scontrainte::vecteur.

+ Here is the call graph for this function: