function destroy_edge(e)
global all_edges;

f = Symet(e);

if(any(Onext(e) ~= e))
   splice(e, Oprev(e));
end
if(any(Onext(f) ~= f))
   splice(f, Oprev(f));
end

set_Destroyed(e);
%void destroy_edge(edge_ref e)
%  {
%    edge_ref f = SYM(e);
%    if (ONEXT(e) != e) splice(e, OPREV(e));
%    if (ONEXT(f) != f) splice(f, OPREV(f));  
%    free((char *) ((e) & 0xfffffffcu));
%  }
