# if !defined (PS_LIB_H)
# define PS_LIB_H

#include <complex.h>
#include <stdint.h>
#include <stdio.h>
#include <stdarg.h>

/** \file psLib.h
 *  \brief Master header file for PSLib
 */

/** @defgroup SystemGroup System Utilities */
/** @defgroup DataGroup General Data Container Utilities */
/** @defgroup MathGroup Math Utilities */
/** @defgroup AstroGroup Astronomy-Specific Utilities */

/** @ingroup SystemGroup */
# include <psMemory.h>
# include <psTrace.h>
# include <psLogMsg.h>
# include <psMisc.h>
# include <psError.h>

/** @ingroup DataGroup */
# include <psType.h>
# include <psVector.h>
# include <psHash.h>
# include <psDlist.h>

/* These are here to ensure things compile --- ordering is important.  ): */
/* They are also listed later to keep things together */
/** @ingroup MathGroup */
# include <psStats.h>
# include <psFunctions.h>
/** @ingroup AstroGroup */
# include <psMetadata.h>
# include <psImage.h>

/** @ingroup MathGroup */
# include <psBitset.h>
# include <psFFT.h>
# include <psFunctions.h>
# include <psMath.h>
# include <psMatrix.h>
# include <psMinimize.h>
# include <psStats.h>
# include <psSort.h>

/** @ingroup AstroGroup */
# include <psDateTime.h>
# include <psPosition.h>
# include <psMetadata.h>
# include <psImage.h>
# include <psPhotom.h>
# include <psAstrom.h>
/* # include <psObject.h> */

# endif
