\hypertarget{doc_decisions_null_pointer_checks_md_autotoc_md1291}{}\doxysection{Problem}\label{doc_decisions_null_pointer_checks_md_autotoc_md1291}
Currently all functions do proper argument checking which might degrade performance.\hypertarget{doc_decisions_null_pointer_checks_md_autotoc_md1292}{}\doxysection{Constraints}\label{doc_decisions_null_pointer_checks_md_autotoc_md1292}
\hypertarget{doc_decisions_null_pointer_checks_md_autotoc_md1293}{}\doxysection{Assumptions}\label{doc_decisions_null_pointer_checks_md_autotoc_md1293}
\hypertarget{doc_decisions_null_pointer_checks_md_autotoc_md1294}{}\doxysection{Considered Alternatives}\label{doc_decisions_null_pointer_checks_md_autotoc_md1294}

\begin{DoxyItemize}
\item Removing all null pointer checks and do assert on debug code
\item Removing some null pointer checks
\item adding functional high-\/level methods that avoid most null pointer checks
\end{DoxyItemize}\hypertarget{doc_decisions_null_pointer_checks_md_autotoc_md1295}{}\doxysection{Decision}\label{doc_decisions_null_pointer_checks_md_autotoc_md1295}
Rejected (keep checks) due to time constraints\hypertarget{doc_decisions_null_pointer_checks_md_autotoc_md1296}{}\doxysection{Rationale}\label{doc_decisions_null_pointer_checks_md_autotoc_md1296}

\begin{DoxyItemize}
\item should have consistent, defined behavior
\end{DoxyItemize}\hypertarget{doc_decisions_null_pointer_checks_md_autotoc_md1297}{}\doxysection{Implications}\label{doc_decisions_null_pointer_checks_md_autotoc_md1297}

\begin{DoxyItemize}
\item A\+BI, A\+PI
\end{DoxyItemize}\hypertarget{doc_decisions_null_pointer_checks_md_autotoc_md1298}{}\doxysection{Related Decisions}\label{doc_decisions_null_pointer_checks_md_autotoc_md1298}
\hypertarget{doc_decisions_null_pointer_checks_md_autotoc_md1299}{}\doxysection{Notes}\label{doc_decisions_null_pointer_checks_md_autotoc_md1299}

\begin{DoxyItemize}
\item Benchmarks needed 
\end{DoxyItemize}