Exemplo n.º 1
0
static void heightmap_del_positionable(ilG_heightmap *self, il_positionable pos)
{
    for (unsigned i = 0; i < self->positionables.length-1; i++) {
        if (pos_eq(self->positionables.data[i], pos)) {
            self->positionables.data[i] = self->positionables.data[--self->positionables.length];
            return;
        }
    }
    if (self->positionables.length > 0 && pos_eq(self->positionables.data[self->positionables.length-1], pos)) {
        --self->positionables.length;
        return;
    }
    il_error("Heightmap %p does not own positionable %i[%p]", self, pos.id, pos.world);
}
/* PUBLIC */
void fwrite_demod_clist(FILE *fp, Clist lst, int format)
{
  Clist_pos p;
    
  if (lst->name == NULL || str_ident(lst->name, ""))
    fprintf(fp, "\nformulas(anonymous).\n");
  else
    fprintf(fp, "\nformulas(%s).\n", lst->name);
	  
  for (p = lst->first; p != NULL; p = p->next) {
    Topform c = p->c;
    fwrite_clause(fp, c, format);
    if (unit_clause(c->literals)&&
	pos_eq(c->literals) &&
	!oriented_eq(c->literals->atom)) {
      fprintf(fp, "        %% (lex-dep)\n");
    }
  }
  fprintf(fp, "end_of_list.\n");
  fflush(fp);
}  /* fwrite_demod_clist */