#include #include "gst_cond.h" struct cond_st { FIL *entree; int *sortie; int *force; int *drapeau_n; int *drapeau_z; int *drapeau_c; int *drapeau_v; }; cond_st cond_init (FIL *entree, int *sortie, int *force, int *drapeau_n, int *drapeau_z, int *drapeau_c, int *drapeau_v) { cond_st cond = (cond_st) malloc (sizeof (struct cond_st)); assert (cond != NULL); cond->entree = entree; cond->sortie = sortie; cond->force = force; cond->drapeau_n = drapeau_n; cond->drapeau_z = drapeau_z; cond->drapeau_c = drapeau_c; cond->drapeau_v = drapeau_v; return cond; } void cond_evalue (cond_st cond) { if (*cond->force || (cond->entree [N] && *cond->drapeau_n) || (cond->entree [Z] && *cond->drapeau_z) || (cond->entree [C] && *cond->drapeau_c) || (cond->entree [V] && *cond->drapeau_v)) *cond->sortie = 1; else *cond->sortie = 0; } void cond_libere (cond_st cond) { free (cond); }