Giter VIP home page Giter VIP logo

sgb's Introduction

The Stanford GraphBase

“The Stanford GraphBase (SGB) is a collection of datasets and computer programs that generate and examine a wide variety of graphs and networks.” It was developed and published by Donald E. Knuth in 1993. The fully documented source code is available for download from Stanford University and in the book “The Stanford GraphBase, A Platform for Combinatorial Computing,” published jointly by ACM Press and Addison-Wesley Publishing Company in 1993. (This book contains several chapters with additional information not available in the electronic distribution.)

Prerequisites

The source code of SGB is written in accordance with the rules of the Literate Programming paradigm, so you need to make sure that your computer supports the CWEB system. The CWEB sources are available for download from Stanford University. Bootstrapping CWEB on Unix systems is elementary and documented in the CWEB distribution; pre-compiled binary executables of the CWEB tools for Win32 systems are available from www.literateprogramming.com.

Getting Started

Details of this software can be found in the README file.

Why have another project here?

The present project on Github holds all releases by DEK from 1992 to 2021 in the master branch. Much more interesting is the local branch; it provides further improvements to the SGB sources plus a “specfile” sgb.spec for building installable packages for rpm and deb based Linux distributions with the help of the rpmbuild and debbuild utilities respectively.

Major features added

  • Fix compiler warnings (gcc -Wall -Wextra -O3) with modified changefiles
  • Advanced build script sgb.spec for rpm and deb packaging
  • Extract shared object libgb.so for general use

Postscript

The extensively patched version of SGB is used in the Boost Graph Library as a VertexListGraph adaptor.

sgb's People

Contributors

ascherer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

sgb's Issues

Clean up library interfaces

Each C source gb_WHY.c should #include "gb_WHY.h" as the first line of code. This should reduce some redundancy. Also the @definitions should not be repeated.

Move more stuff to header files.

For example, gb_flip.h should be the first #include line in gb_flip.c, and it should provide the “Preprocessor definitions” by adding @h in section 6.

Similarly, other library modules should include their interfaces and redundant #defines should be eliminated.

Fix overfull \hboxes

  • gb_basic §63, line 1277: s/corresponding/that corresponds/
  • gb_lisa §3, line 76: Insert | | after lisa(360, and @t}\kern-.5em{@> between area and ); see comment below
  • gb_miles §20, line 389: delete Moreover and insert some

Generating PDFs of the modules

Hi Andreas

I needed to create the PDFs for my own use. I can send you a PR, if you're accepting to contributions :-)

Fred

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.