diff --git a/Makefile.in b/Makefile.in index 0cc11139..05b4b237 100644 --- a/Makefile.in +++ b/Makefile.in @@ -47,7 +47,8 @@ endif ifdef WITH_INCLUDED_PLANARITY KEXT_SOURCES += \ $(PLANARITY_SUITE_DIR)/c/graphLib/graphDFSUtils.c \ - $(PLANARITY_SUITE_DIR)/c/graphLib/graphUtils.c \ + $(PLANARITY_SUITE_DIR)/c/graphLib/graph.c \ + $(PLANARITY_SUITE_DIR)/c/graphLib/graphLib.c \ $(PLANARITY_SUITE_DIR)/c/graphLib/extensionSystem/graphExtensions.c \ $(PLANARITY_SUITE_DIR)/c/graphLib/homeomorphSearch/graphK23Search.c \ $(PLANARITY_SUITE_DIR)/c/graphLib/homeomorphSearch/graphK23Search_Extensions.c \ @@ -70,6 +71,8 @@ ifdef WITH_INCLUDED_PLANARITY $(PLANARITY_SUITE_DIR)/c/graphLib/planarityRelated/graphIsolator.c \ $(PLANARITY_SUITE_DIR)/c/graphLib/planarityRelated/graphNonplanar.c \ $(PLANARITY_SUITE_DIR)/c/graphLib/planarityRelated/graphOuterplanarObstruction.c \ + $(PLANARITY_SUITE_DIR)/c/graphLib/planarityRelated/graphOuterplanarity_Extensions.c \ + $(PLANARITY_SUITE_DIR)/c/graphLib/planarityRelated/graphPlanarity_Extensions.c \ $(PLANARITY_SUITE_DIR)/c/graphLib/planarityRelated/graphTests.c KEXT_CFLAGS += -I$(PLANARITY_SUITE_DIR) -include extern/eaps_flags.h diff --git a/m4/ax_check_planarity.m4 b/m4/ax_check_planarity.m4 index 4f1c66d5..70af478a 100644 --- a/m4/ax_check_planarity.m4 +++ b/m4/ax_check_planarity.m4 @@ -23,7 +23,7 @@ AC_DEFUN([AX_CHECK_PLANARITY], [ #else #error too old #endif - int main(void) { gp_InitGraph(0, 0); } + int main(void) { gp_EnsureVertexCapacity(0, 0); } ])], [ AC_MSG_RESULT([yes]) ], [ diff --git a/src/planar.c b/src/planar.c index 72e5b304..f705f8eb 100644 --- a/src/planar.c +++ b/src/planar.c @@ -33,12 +33,12 @@ #pragma GCC diagnostic ignored "-Wswitch-default" #endif #ifdef DIGRAPHS_WITH_INCLUDED_PLANARITY -#include "c/graph.h" +#include "c/graphLib.h" #include "c/graphLib/homeomorphSearch/graphK23Search.h" #include "c/graphLib/homeomorphSearch/graphK33Search.h" #include "c/graphLib/homeomorphSearch/graphK4Search.h" #else -#include "planarity/graph.h" +#include "planarity/graphLib.h" #include "planarity/c/graphLib/homeomorphSearch/graphK23Search.h" #include "planarity/c/graphLib/homeomorphSearch/graphK33Search.h" #include "planarity/c/graphLib/homeomorphSearch/graphK4Search.h" @@ -169,13 +169,13 @@ Obj boyers_planarity_check(Obj digraph, int flags, bool krtwsk) { graphP theGraph = gp_New(); - if (gp_InitGraph(theGraph, V) != OK) { + if (gp_EnsureVertexCapacity(theGraph, V) != OK) { gp_Free(&theGraph); ErrorQuit("Digraphs: boyers_planarity_check (C): invalid number of nodes!", 0L, 0L); return 0L; - } else if (gp_EnsureArcCapacity(theGraph, 2 * E) != OK) { + } else if (gp_EnsureEdgeCapacity(theGraph, 2 * E) != OK) { gp_Free(&theGraph); ErrorQuit("Digraphs: boyers_planarity_check (C): invalid number of edges!", 0L, @@ -185,13 +185,13 @@ Obj boyers_planarity_check(Obj digraph, int flags, bool krtwsk) { switch (flags) { case EMBEDFLAGS_SEARCHFORK33: - gp_AttachK33Search(theGraph); + gp_ExtendWith_K33Search(theGraph); break; case EMBEDFLAGS_SEARCHFORK23: - gp_AttachK23Search(theGraph); + gp_ExtendWith_K23Search(theGraph); break; case EMBEDFLAGS_SEARCHFORK4: - gp_AttachK4Search(theGraph); + gp_ExtendWith_K4Search(theGraph); break; default: break; @@ -202,11 +202,11 @@ Obj boyers_planarity_check(Obj digraph, int flags, bool krtwsk) { // Construct the antisymmetric digraph with no loops for (Int v = 1; v <= LEN_LIST(out); ++v) { - DIGRAPHS_ASSERT(gp_VertexInRange(theGraph, v)); - gp_SetVertexIndex(theGraph, v, v); + DIGRAPHS_ASSERT(v < gp_UpperBoundVertices(theGraph)); + gp_SetIndex(theGraph, v, v); Obj const out_v = ELM_LIST(out, v); for (Int w = 1; w <= LEN_LIST(out_v); ++w) { - DIGRAPHS_ASSERT(gp_VertexInRange(theGraph, w)); + DIGRAPHS_ASSERT(w < gp_UpperBoundVertices(theGraph)); Int u = INT_INTOBJ(ELM_LIST(out_v, w)); if (v < u || CALL_3ARGS(IsDigraphEdge, digraph, INTOBJ_INT(u), INTOBJ_INT(v))