\doxysubsection{Class List}
Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1ArgumentRecord}{Argument\+Record$<$ TIN $>$}} \\*A class used internally by FunC. Wraps a vector of unsigned int that act as a histogram for recording the usage of a function\textquotesingle{}s domain }{\pageref{classfunc_1_1ArgumentRecord}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1ChebyInterpTable}{Cheby\+Interp\+Table$<$ N, TIN, TOUT, GT $>$}} \\*LUT using degree 1 to 7 polynomial interpolation over Chebyshev nodes on each subinterval }{\pageref{classfunc_1_1ChebyInterpTable}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1CompositeLookupTable}{Composite\+Lookup\+Table$<$ TIN, TOUT $>$}} \\*Approximate a single $1$D function with \$\+M\$ LUTs over pairwise disjoint subintervals of its domain. {\ttfamily \doxylink{classfunc_1_1CompositeLookupTable}{Composite\+Lookup\+Table}} works well for functions with disconnected domains, or unused regions, or regions with difficult to approximate behaviour }{\pageref{classfunc_1_1CompositeLookupTable}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1CubicHermiteTable}{Cubic\+Hermite\+Table$<$ TIN, TOUT, GT $>$}} \\*A LUT using cubic splines on each subinterval }{\pageref{classfunc_1_1CubicHermiteTable}}{}
\item\contentsline{section}{\mbox{\hyperlink{structfunc_1_1curriedLUT}{curried\+LUT$<$ N, TIN, TOUT, classname $>$}} }{\pageref{structfunc_1_1curriedLUT}}{}
\item\contentsline{section}{\mbox{\hyperlink{structfunc_1_1curriedLUT_3_010_00_01TIN_00_01TOUT_00_01classname_01_4}{curried\+LUT$<$ 0, TIN, TOUT, classname $>$}} }{\pageref{structfunc_1_1curriedLUT_3_010_00_01TIN_00_01TOUT_00_01classname_01_4}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1DirectEvaluation}{Direct\+Evaluation$<$ TIN, TOUT $>$}} \\*Wrap a {\ttfamily std\+::function} and optionally plot that function\textquotesingle{}s domain usage with an {\ttfamily \doxylink{classfunc_1_1ArgumentRecord}{Argument\+Record}} (builds a histogram). To determine useful LUT bounds, users should replace their mathematical function with this class and compile with {\ttfamily -\/DFUNC\+\_\+\+DEBUG} }{\pageref{classfunc_1_1DirectEvaluation}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1ExactInterpTable}{Exact\+Interp\+Table$<$ N, TIN, TOUT, GT $>$}} \\*Interpolation over Chebyshev nodes of the second kind. The inverse Vandermonde matrix is hard-\/coded. This class allows for full type generality, but numerical output is not quite as good as \doxylink{classfunc_1_1ChebyInterpTable}{Cheby\+Interp\+Table} for $n>4$ because Armadillo does iterative refinement }{\pageref{classfunc_1_1ExactInterpTable}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1FailureProofTable}{Failure\+Proof\+Table$<$ LUT\+\_\+\+TYPE $>$}} \\*A wrapper for any implementation of \doxylink{classfunc_1_1LookupTable}{Lookup\+Table} $L$. The {\ttfamily operator()(x)} ensures $x$ is within the bounds of $L$ before returning $L(x)$. Returns $f(x)$ for out of bounds arguments. If {\ttfamily FUNC\+\_\+\+DEBUG} is defined then out of bounds arguments are recorded in a histogram }{\pageref{classfunc_1_1FailureProofTable}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1FuncMutex}{Func\+Mutex}} }{\pageref{classfunc_1_1FuncMutex}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1FuncScopedLock}{Func\+Scoped\+Lock}} }{\pageref{classfunc_1_1FuncScopedLock}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1FunctionContainer}{Function\+Container$<$ TIN, TOUT $>$}} \\*Wrapper for {\ttfamily std\+::function\texorpdfstring{$<$}{<}TOUT(\+TIN)\texorpdfstring{$>$}{>}} and some optional {\ttfamily std\+::function}s of Boost\textquotesingle{}s automatic differentiation type }{\pageref{classfunc_1_1FunctionContainer}}{}
\item\contentsline{section}{\mbox{\hyperlink{structfunc_1_1ImplTimer}{Impl\+Timer$<$ TIN, TOUT $>$}} \\*Helper struct\+: takes a \doxylink{classfunc_1_1LookupTable}{Lookup\+Table} and attaches a set of timings to it }{\pageref{structfunc_1_1ImplTimer}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1LinearRawInterpTable}{Linear\+Raw\+Interp\+Table$<$ TIN, TOUT, GT $>$}} \\*Linear Interpolation LUT where coefficients are computed when calling operator(). Uses approx 50\% less memory than an equivalent Uniform\+Exact\+Interp\+Table$<$1$>$ but the hash involves an additional subtraction }{\pageref{classfunc_1_1LinearRawInterpTable}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1LookupTable}{Lookup\+Table$<$ TIN, TOUT $>$}} \\*Abstract interface for representing an approximation to a user provided mathematical function }{\pageref{classfunc_1_1LookupTable}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1LookupTableComparator}{Lookup\+Table\+Comparator$<$ TIN, TOUT $>$}} \\*Compare the average time taken to call the {\ttfamily operator()} of any \doxylink{classfunc_1_1LookupTable}{Lookup\+Table} implementation }{\pageref{classfunc_1_1LookupTableComparator}}{}
\item\contentsline{section}{\mbox{\hyperlink{structfunc_1_1LookupTableGenerator_1_1LookupTableErrorFunctor}{Lookup\+Table\+Generator$<$ TIN, TOUT, TERR $>$\+::\+Lookup\+Table\+Error\+Functor}} }{\pageref{structfunc_1_1LookupTableGenerator_1_1LookupTableErrorFunctor}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1LookupTableFactory}{Lookup\+Table\+Factory$<$ TIN, TOUT $>$}} \\*Factory design patter for \doxylink{classfunc_1_1LookupTable}{Lookup\+Table} implementations }{\pageref{classfunc_1_1LookupTableFactory}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1LookupTableGenerator}{Lookup\+Table\+Generator$<$ TIN, TOUT, TERR $>$}} \\*Generate a FunC \doxylink{classfunc_1_1LookupTable}{Lookup\+Table} from a given name and one of the following\+: stepsize, tolerance, memory size limit, or filename with generate\+\_\+by\+\_\+step, generate\+\_\+by\+\_\+tol, generate\+\_\+by\+\_\+impl\+\_\+size, and generate\+\_\+by\+\_\+file respectively. This class is also equipped to compute the error in a LUT built with any given stepsize and plot a LUT against its exact function }{\pageref{classfunc_1_1LookupTableGenerator}}{}
\item\contentsline{section}{\mbox{\hyperlink{structfunc_1_1LookupTableParameters}{Lookup\+Table\+Parameters$<$ TIN, TOUT $>$}} \\*A struct containing data necessary/useful for constructing a LUT }{\pageref{structfunc_1_1LookupTableParameters}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1MetaTable}{Meta\+Table$<$ N, TIN, TOUT, GT $>$}} \\*\doxylink{classfunc_1_1MetaTable}{Meta\+Table} handles any piecewise {\itshape polynomial} based interpolation. Highly templated }{\pageref{classfunc_1_1MetaTable}}{}
\item\contentsline{section}{\mbox{\hyperlink{structfunc_1_1nth__differentiable}{nth\+\_\+differentiable$<$ TIN, TOUT, N $>$}} \\*These structs provide an indexed typedef for Boost\textquotesingle{}s autodiff\+\_\+fvar type }{\pageref{structfunc_1_1nth__differentiable}}{}
\item\contentsline{section}{\mbox{\hyperlink{structfunc_1_1nth__differentiable_3_01TIN_00_01TOUT_00_010_01_4}{nth\+\_\+differentiable$<$ TIN, TOUT, 0 $>$}} \\*Base case for {\ttfamily \doxylink{structfunc_1_1nth__differentiable}{nth\+\_\+differentiable}} when N=0 }{\pageref{structfunc_1_1nth__differentiable_3_01TIN_00_01TOUT_00_010_01_4}}{}
\item\contentsline{section}{\mbox{\hyperlink{structfunc_1_1LookupTableGenerator_1_1OptimalStepSizeFunctor}{Lookup\+Table\+Generator$<$ TIN, TOUT, TERR $>$\+::\+Optimal\+Step\+Size\+Functor}} }{\pageref{structfunc_1_1LookupTableGenerator_1_1OptimalStepSizeFunctor}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1PadeTable}{Pade\+Table$<$ M, N, TIN, TOUT, GT $>$}} \\*LUT using \mbox{[}M/N\mbox{]} pade approximants }{\pageref{classfunc_1_1PadeTable}}{}
\item\contentsline{section}{\mbox{\hyperlink{structfunc_1_1polynomial__helper}{polynomial\+\_\+helper$<$ TOUT, N, B $>$}} \\*A typedef for std\+::array$<$\+TOUT,\+N$>$ along with some functions that interpret the array as polynomial coefficients }{\pageref{structfunc_1_1polynomial__helper}}{}
\item\contentsline{section}{\mbox{\hyperlink{structfunc_1_1polynomial__helper_3_01TOUT_00_01N_00_01false_01_4}{polynomial\+\_\+helper$<$ TOUT, N, false $>$}} \\*Arrays of this type of polynomial are not aligned }{\pageref{structfunc_1_1polynomial__helper_3_01TOUT_00_01N_00_01false_01_4}}{}
\item\contentsline{section}{\mbox{\hyperlink{structfunc_1_1polynomial__helper_3_01TOUT_00_01N_00_01true_01_4}{polynomial\+\_\+helper$<$ TOUT, N, true $>$}} \\*Arrays of this type of polynomial are aligned }{\pageref{structfunc_1_1polynomial__helper_3_01TOUT_00_01N_00_01true_01_4}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1RngInterface}{Rng\+Interface$<$ POINT\+\_\+\+TYPE $>$}} \\*Abstract interface for classes that can generate random numbers }{\pageref{classfunc_1_1RngInterface}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1StdRng}{Std\+Rng$<$ POINT\+\_\+\+TYPE, DIST\+\_\+\+TYPE, RNG\+\_\+\+TYPE $>$}} \\*An implementation of \doxylink{classfunc_1_1RngInterface}{Rng\+Interface}, intended to be used with the generators/ distributions defined in std\+::random. Only \doxylink{classfunc_1_1LookupTableComparator}{Lookup\+Table\+Comparator} uses this class, and it\textquotesingle{}s for sampling random arguments }{\pageref{classfunc_1_1StdRng}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1TaylorTable}{Taylor\+Table$<$ N, TIN, TOUT, GT $>$}} \\*LUT using degree 1 to 7 truncated Taylor series }{\pageref{classfunc_1_1TaylorTable}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1Timer}{Timer}} \\*Starts a timer when created. Stops when {\ttfamily \doxylink{classfunc_1_1Timer_a8c528baf37154d347366083f0f816846}{stop()}} is called and returns the duration in seconds with {\ttfamily \doxylink{classfunc_1_1Timer_adf529da375562b5aeb2f963055a03d19}{duration()}} }{\pageref{classfunc_1_1Timer}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfunc_1_1TransferFunction}{Transfer\+Function$<$ TIN $>$}} \\*Transforms a uniformly spaced partition of $[a,b]$ into a nonuniform partition of $[a,b]$ }{\pageref{classfunc_1_1TransferFunction}}{}
\end{DoxyCompactList}
