Skip to content
Charles Ofria edited this page Mar 28, 2015 · 3 revisions

An overview of the tools/ directory

The tools directory contains all of the basic tools used throughout empirical. No dependencies should exist outside of this directory, and all of the included tools should be compatible with (and in many cases optimized for) Emscripten.

The fundamental tool files (used throughout all of the others) include:

  • assert.h - Creates an emp_assert macro, similar to the built-in assert, but also produces alerts in web-browsers.
  • const.h - Contains a set of generally useful constant values (bit counts as well as physical constants)
  • errors.h - General error reporting tool, that goes to standard error or web alerts, as appropriate.
  • Ptr.h - Pointer wrapper that can be toggled to track memory and alert when memory loss or corruption occurs.

More targeted objects include:

  • BitMatrix.h
  • BitSet.h
  • BitVector.h
  • callbacks.h
  • command_line.h
  • fixed.h
  • FunctionSet.h
  • Graph.h
  • ProbSchedule.h
  • Random.h
  • SolveState.h
  • Trait.h

The following files have sets of functions to facilitate the use of some of the objects above:

  • functions.h
  • bitset_utils.h
  • graph_utils.h
  • random_utils.h
  • string_utils.h
Clone this wiki locally