Directory structure
Top level folders
There are really two folders with sources:
src
for the programsdocs
for the documentation
src folder
Grumps is open source. If you clone the repository at the github site you will have accesss to the full directory tree.
Within src
you will find the main package file Grumps.jl
plus includes.jl
, which loads all source code, and exports.jl
which contains all exported symbols, i.e. symbols that you can use directly in your program without prefacing it with Grumps.
.
Beyond that, you will find several folders in src
:
packages
: loads all packagescommon
: loads code that is common to several estimatorsestimators
: code that is specific to one estimatorintegrators
: code that is specific to one integrator
common folder
Within common
there are a number of folders depending on the role they play in the program. These are listed below.
array
utilities for dealing with arraysdata
data handlingearly
code that should be read and processed before other codeerror
error handlingest
code that gets called to compute estimatorsimports
imports from other packages, mostlyBase
inference
standard errors and suchintegration
numerical integrationio
reading data from and to filesoptim
optimizationprobs
computation of choice probabilitiessol
handling solution objectspace
dealing with objects that reserve space ahead of timethreads
multithreading objectstree
contains code to print object typestypes
contains code that defines object typesutils
contains miscellaneous utilities
estimators folder
The estimators
folder contains a number of folders, one per estimator. Each folder corresponds to a specific estimator. For instance, cler
contains code specific to the main Grumps estimator.
integrators folder
The integrators
folder contains folders, one per integration method, for any integrators beyond the default integrators, which are handled under common
.