Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes for 40 release #139

Merged
merged 4 commits into from
Feb 10, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion LICENSE.TXT
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
The Edge Addition Planarity Suite
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved. Includes a reference implementation of the following:

* John M. Boyer. "Subgraph Homeomorphism via the Edge Addition Planarity Algorithm".
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The primary purpose of this repository is to provide implementations of the edge

* [Simplified O(n) Algorithms for Planar Graph Embedding, Kuratowski Subgraph Isolation, and Related Problems](https://dspace.library.uvic.ca/handle/1828/9918)

As secondary purpose of this repository is to provide a generalized graph API that enables implementation of a very wide range of in-memory graph algorithms including basic methods for reading, writing, depth first search, and lowpoint as well as advanced methods for solving planarity, outerplanarity, drawing, and selected subgraph homeomorphism problems. An extension mechanism is also provided to enable implementation of planarity-related algorithms by overriding and augmenting data structures and methods of the core planarity algorithm.
A secondary purpose of this repository is to provide a generalized graph API that enables implementation of a very wide range of in-memory graph algorithms including basic methods for reading, writing, depth first search, and lowpoint as well as advanced methods for solving planarity, outerplanarity, drawing, and selected subgraph homeomorphism problems. An extension mechanism is also provided to enable implementation of planarity-related algorithms by overriding and augmenting data structures and methods of the core planarity algorithm.

## Getting Started

Expand Down Expand Up @@ -60,9 +60,9 @@ On Linux, the planarity program can also be installed by entering `sudo make ins

## Versioning

The APIs for the graph library and the planarity algorithm implementations are versioned using the method documented in [`configure.ac`](configure.ac).
The overall project and the APIs for the graph library and the planarity-related algorithm implementations are versioned using the methods documented in [`configure.ac`](configure.ac) and [`graphLib.h`](c/graphLib/graphLib.h). The overall project version adheres to a `Major.Minor.Maintenance.Tweak` numbering system, and the `libPlanarity` shared library, which contains the graph library and planarity-related algorithm implementations, is versioned using the _current:revision:age_ system from `LibTool`.

The `planarity.exe` application, which provides command-line and menu-driven interfaces for the graph library and planarity algorithms, is versioned according to the `Major.Minor.Maintenance.Tweak` numbering system documented in the comments in [`planarity.c`](c/planarity.c).
The `planarity.exe` application, which provides command-line and menu-driven interfaces for the graph library and planarity-related algorithms, is versioned using the overall project version defined in [`graphLib.h`](c/graphLib/graphLib.h) (see [`planarityHelp.c`](c/planarityApp/planarityHelp.c)).

## License

Expand Down
2 changes: 1 addition & 1 deletion c/graph.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define HELPERSTUB_GRAPH_H

/*
Copyright (c) 1997-2024, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define HELPERSTUB_GRAPHLIB_H

/*
Copyright (c) 1997-2024, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/extensionSystem/graphExtensions.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/extensionSystem/graphExtensions.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define GRAPH_EXTENSIONS_H

/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/extensionSystem/graphExtensions.private.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define GRAPH_EXTENSIONS_PRIVATE_H

/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/extensionSystem/graphFunctionTable.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define GRAPHFUNCTIONTABLE_H

/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/graph.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define GRAPH_H

/*
Copyright (c) 1997-2024, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/graphDFSUtils.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
28 changes: 27 additions & 1 deletion c/graphLib/graphLib.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define GRAPHLIB_H

/*
Copyright (c) 1997-2024, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand All @@ -26,6 +26,32 @@ extern "C"
#include "homeomorphSearch/graphK4Search.h"
#include "planarityRelated/graphDrawPlanar.h"

// This is the main location for the project and shared library version numbering.
// Changes here must be mirrored in configure.ac
//
// The overall project version numbering format is major.minor.maintenance.tweak
// Major is for an overhaul (e.g. many features, data structure change, change of backward compatibility)
// Minor is for feature addition (e.g. a new algorithm implementation added, new interface)
// Maintenance is for functional revision (e.g. bug fix to existing algorithm implementation)
// Tweak is for a non-functional revision (e.g. change of build scripts or testing code, user-facing string changes)

#define GP_PROJECTVERSION_MAJOR 4
#define GP_PROJECTVERSION_MINOR 0
#define GP_PROJECTVERSION_MAINT 0
#define GP_PROJECTVERSION_TWEAK 0

char *gp_GetProjectVersionFull(void);

// Any change to the project version numbers should also affect the
// shared library version numbers below.
//
// See configure.ac for how to update these version numbers
#define GP_LIBPLANARITYVERSION_CURRENT 2
#define GP_LIBPLANARITYVERSION_REVISION 0
#define GP_LIBPLANARITYVERSION_AGE 0

char *gp_GetLibPlanarityVersionFull(void);

#ifdef __cplusplus
}
#endif
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/graphStructures.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define GRAPHSTRUCTURE_H

/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
36 changes: 33 additions & 3 deletions c/graphLib/graphUtils.c
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/

#include <stdlib.h>

#include "graphStructures.h"
#include "graph.h"
#include "graphLib.h"

/* Imported functions for FUNCTION POINTERS */

Expand Down Expand Up @@ -81,6 +80,37 @@ int _InitGraph(graphP theGraph, int N);
void _ReinitializeGraph(graphP theGraph);
int _EnsureArcCapacity(graphP theGraph, int requiredArcCapacity);

/********************************************************************
gp_GetProjectVersionFull()
Return full major.minor.maint.tweak version string for the graph planarity project
********************************************************************/

char *gp_GetProjectVersionFull(void)
{
static char projectVersionStr[MAXLINE + 1];
sprintf(projectVersionStr, "%d.%d.%d.%d",
GP_PROJECTVERSION_MAJOR,
GP_PROJECTVERSION_MINOR,
GP_PROJECTVERSION_MAINT,
GP_PROJECTVERSION_TWEAK);
return projectVersionStr;
}

/********************************************************************
gp_GetLibPlanarityVersionFull()
Returns full current:revision:age version string for the graph planarity shared library
********************************************************************/

char *gp_GetLibPlanarityVersionFull(void)
{
static char libPlanarityVersionStr[MAXLINE + 1];
sprintf(libPlanarityVersionStr, "%d:%d:%d",
GP_LIBPLANARITYVERSION_CURRENT,
GP_LIBPLANARITYVERSION_REVISION,
GP_LIBPLANARITYVERSION_AGE);
return libPlanarityVersionStr;
}

/********************************************************************
gp_New()
Constructor for graph object.
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/homeomorphSearch/graphK23Search.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/homeomorphSearch/graphK23Search.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define GRAPH_K23SEARCH_H

/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/homeomorphSearch/graphK23Search.private.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define GRAPH_K23SEARCH_PRIVATE_H

/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/homeomorphSearch/graphK23Search_Extensions.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/homeomorphSearch/graphK33Search.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/homeomorphSearch/graphK33Search.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define GRAPH_K33SEARCH_H

/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/homeomorphSearch/graphK33Search.private.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define GRAPH_K33SEARCH_PRIVATE_H

/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/homeomorphSearch/graphK33Search_Extensions.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/homeomorphSearch/graphK4Search.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/homeomorphSearch/graphK4Search.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define GRAPH_K4SEARCH_H

/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/homeomorphSearch/graphK4Search.private.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define GRAPH_K4SEARCH_PRIVATE_H

/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/homeomorphSearch/graphK4Search_Extensions.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/io/g6-api-utilities.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2024, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/io/g6-api-utilities.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2024, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/io/g6-read-iterator.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2024, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/io/g6-read-iterator.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2024, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/io/g6-write-iterator.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2024, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/io/g6-write-iterator.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2024, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
4 changes: 2 additions & 2 deletions c/graphLib/io/graphIO.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down Expand Up @@ -1016,7 +1016,7 @@ void _LogLine(char *Str)
_Log("\n");
}

static char LogStr[512];
static char LogStr[MAXLINE + 1];

char *_MakeLogStr1(char *format, int one)
{
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/io/strOrFile.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2024, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/io/strOrFile.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2024, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/io/strbuf.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/io/strbuf.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2022, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/lowLevelUtils/apiutils.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2024, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
2 changes: 1 addition & 1 deletion c/graphLib/lowLevelUtils/apiutils.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 1997-2024, John M. Boyer
Copyright (c) 1997-2025, John M. Boyer
All rights reserved.
See the LICENSE.TXT file for licensing information.
*/
Expand Down
Loading