\doxysection{Todo List }
\hypertarget{todo}{}\label{todo}\index{Todo List@{Todo List}}

\begin{DoxyRefList}
\item[Class \doxylink{classfunc_1_1ArgumentRecord}{Argument\+Record\texorpdfstring{$<$}{<} TIN \texorpdfstring{$>$}{>}} ]\hfill \\
\label{todo__todo000006}%
\Hypertarget{todo__todo000006}%
Implement functions to\+\_\+json \& from\+\_\+json 



The histogram will never have that many buckets so we could likely get away with simply making every one of this class\textquotesingle{}s member variables threadprivate. 



Perhaps we should use boost histogram instead but that would add an additional dependency  
\item[Member \doxylink{classfunc_1_1ArgumentRecord_a9c7f243579c213a1325c291c676432e9}{Argument\+Record\texorpdfstring{$<$}{<} TIN \texorpdfstring{$>$}{>}\+::Argument\+Record} (nlohmann\+::json json\+Stats)]\hfill \\
\label{todo__todo000007}%
\Hypertarget{todo__todo000007}%
Maybe optionally provide an ostream?  
\item[Class \doxylink{classfunc_1_1CompositeLookupTable}{Composite\+Lookup\+Table\texorpdfstring{$<$}{<} TIN, TOUT \texorpdfstring{$>$}{>}} ]\hfill \\
\label{todo__todo000008}%
\Hypertarget{todo__todo000008}%
Implement to/from\+\_\+json. We can use the unique\+\_\+ptr$<$\+Lookup\+Table$>$ version of from\+\_\+json in \doxylink{classfunc_1_1LookupTableFactory}{Lookup\+Table\+Factory} to build each member LUT easily  
\item[Class \doxylink{classfunc_1_1FailureProofTable}{Failure\+Proof\+Table\texorpdfstring{$<$}{<} LUT\+\_\+\+TYPE \texorpdfstring{$>$}{>}} ]\hfill \\
\label{todo__todo000010}%
\Hypertarget{todo__todo000010}%
This class will support {\ttfamily to\+\_\+json} but not {\ttfamily from\+\_\+json} because it needs a {\ttfamily \doxylink{classfunc_1_1FunctionContainer}{Function\+Container}}. Add another constructor to build this class from a {\ttfamily \doxylink{classfunc_1_1FunctionContainer}{Function\+Container}} and a {\ttfamily filename}  
\item[Member \doxylink{cxx17utils_8hpp_a0c6a439cab5d8702d7bcdc629d333a58}{func\+::ndim\+LUT} (F f, const std\+::vector\texorpdfstring{$<$}{<} \doxylink{structfunc_1_1LookupTableParameters}{Lookup\+Table\+Parameters$<$ TIN $>$} \texorpdfstring{$>$}{>} \&params, TIN2... other)]\hfill \\
\label{todo__todo000009}%
\Hypertarget{todo__todo000009}%
This is not compatible with function derivatives (needed for nonuniform partition \& Taylor tables). Is that impossible to support anyways? 



Template argument classname should be variadic! Is this possible?  
\item[Member \doxylink{classfunc_1_1LinearRawInterpTable_a19a1de294ffbb53d7d95c3044b220d1c}{Linear\+Raw\+Interp\+Table\texorpdfstring{$<$}{<} TIN, TOUT, GT \texorpdfstring{$>$}{>}\+::operator()} (TIN x) const override]\hfill \\
\label{todo__todo000001}%
\Hypertarget{todo__todo000001}%
is there a way to make this work with nonuniform grids in a way that works with our model?  
\item[Class \doxylink{classfunc_1_1LookupTableComparator}{Lookup\+Table\+Comparator\texorpdfstring{$<$}{<} TIN, TOUT \texorpdfstring{$>$}{>}} ]\hfill \\
\label{todo__todo000011}%
\Hypertarget{todo__todo000011}%
{\ttfamily \doxylink{classfunc_1_1LookupTableComparator}{Lookup\+Table\+Comparator}}\textquotesingle{}s constructor should accept any callable type  
\item[Class \doxylink{classfunc_1_1LookupTableGenerator}{Lookup\+Table\+Generator\texorpdfstring{$<$}{<} TIN, TOUT, TERR \texorpdfstring{$>$}{>}} ]\hfill \\
\label{todo__todo000012}%
\Hypertarget{todo__todo000012}%
Newton\textquotesingle{}s iterations are currently unused because sometimes it\textquotesingle{}ll try building a LUT so large it\textquotesingle{}ll kill mortal computers. There must be a way to use it, but I\textquotesingle{}m not sure how.  
\item[Member \doxylink{structfunc_1_1LookupTableGenerator_1_1OptimalStepSizeFunctor_a88165c6da43e1bcc3d160d425eec0665}{Lookup\+Table\+Generator\texorpdfstring{$<$}{<} TIN, TOUT, TERR \texorpdfstring{$>$}{>}\+::Optimal\+Step\+Size\+Functor\+::error\+\_\+of\+\_\+table} (const \doxylink{classfunc_1_1LookupTable}{Lookup\+Table$<$ TIN, TOUT $>$} \texorpdfstring{$\ast$}{*}impl)]\hfill \\
\label{todo__todo000013}%
\Hypertarget{todo__todo000013}%
This parallelizes reasonably well, but does it really use the best pragma possible? 



brent\textquotesingle{}s method occasionally spends much more time on single intervals (stragglers) so there\textquotesingle{}s some potential for  
\item[Member \doxylink{classfunc_1_1MetaTable_ad6406f15f1b656dcde38acd434d0d3ce}{Meta\+Table\texorpdfstring{$<$}{<} N, TIN, TOUT, GT \texorpdfstring{$>$}{>}\+::diff} (unsigned int s, TIN x) const]\hfill \\
\label{todo__todo000004}%
\Hypertarget{todo__todo000004}%
Make this function virtual and override in \doxylink{classfunc_1_1PadeTable}{Pade\+Table} and Linear\+Raw\+Interp\+Tables  
\item[Member \doxylink{classfunc_1_1MetaTable_a19a1de294ffbb53d7d95c3044b220d1c}{Meta\+Table\texorpdfstring{$<$}{<} N, TIN, TOUT, GT \texorpdfstring{$>$}{>}\+::operator()} (TIN x) const override]\hfill \\
\label{todo__todo000003}%
\Hypertarget{todo__todo000003}%
\doxylink{classfunc_1_1PadeTable}{Pade\+Table} \& \doxylink{classfunc_1_1LinearRawInterpTable}{Linear\+Raw\+Interp\+Table} must override this operator. Maybe operator() will be faster if each implementation provides their own operator() and \doxylink{classfunc_1_1MetaTable_ad6406f15f1b656dcde38acd434d0d3ce}{diff()}. If the vtable isn\textquotesingle{}t optimized out then perchance removing the use of virtual will remove that overhead. 



surely this could use openmp simd...  
\item[Class \doxylink{classfunc_1_1TransferFunction}{Transfer\+Function\texorpdfstring{$<$}{<} TIN \texorpdfstring{$>$}{>}} ]\hfill \\
\label{todo__todo000005}%
\Hypertarget{todo__todo000005}%
Currently, transfer functions are basically useless if $f\textnormal{\textquotesingle}$ is not extreme near the endpoints of its domain. (b/c we use cubic hermite interpolation at the endpoints).
\end{DoxyRefList}