\section{sources/gkmod/kl.cpp File Reference}
\label{kl_8cpp}\index{sources/gkmod/kl.cpp@{sources/gkmod/kl.cpp}}
{\tt \#include \char`\"{}kl.h\char`\"{}}\par
{\tt \#include $<$cassert$>$}\par
{\tt \#include $<$map$>$}\par
{\tt \#include $<$stack$>$}\par
{\tt \#include \char`\"{}bitmap.h\char`\"{}}\par
{\tt \#include \char`\"{}blocks.h\char`\"{}}\par
{\tt \#include \char`\"{}error.h\char`\"{}}\par
{\tt \#include \char`\"{}kl\_\-error.h\char`\"{}}\par


Include dependency graph for kl.cpp:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=284pt]{kl_8cpp__incl}
\end{center}
\end{figure}
\subsection*{Namespaces}
\begin{CompactItemize}
\item 
namespace {\bf atlas}
\item 
namespace {\bf atlas::kl}
\end{CompactItemize}
\subsection*{Typedefs}
\begin{CompactItemize}
\item 
typedef std::set$<$ {\bf KLPol} $>$::iterator {\bf KLPtr}
\item 
typedef std::vector$<$ {\bf Edge} $>$ {\bf Edge\-List}
\item 
typedef klsupport::Extremal\-Row::iterator {\bf PI}
\item 
typedef KLRow::iterator {\bf KLI}
\item 
typedef {\bf Thicket::Edge\-List} {\bf Edge\-List}
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
void {\bf atlas::pause} ()
\item 
size\_\-t {\bf atlas::first\-Ascent} (const descents::Descent\-Status \&, const descents::Descent\-Status \&, size\_\-t)
\item 
size\_\-t {\bf atlas::good\-Ascent} (const descents::Descent\-Status \&, const descents::Descent\-Status \&, size\_\-t)
\item 
void {\bf atlas::kl::w\-Graph} (wgraph::WGraph \&wg, const KLContext \&klc)
\item 
size\_\-t {\bf atlas::first\-Ascent} (const descents::Descent\-Status \&d1, const descents::Descent\-Status \&d2, size\_\-t rank)
\item 
size\_\-t {\bf atlas::good\-Ascent} (const descents::Descent\-Status \&d1, const descents::Descent\-Status \&d2, size\_\-t rank)
\end{CompactItemize}
\subsection*{Variables}
\begin{CompactItemize}
\item 
std::vector$<$ size\_\-t $>$ {\bf d\_\-vertices}
\item 
std::vector$<$ {\bf Edge\-List} $>$ {\bf d\_\-edges}
\item 
std::vector$<$ size\_\-t $>$ {\bf d\_\-xlist}
\item 
std::vector$<$ {\bf klsupport::Extremal\-Row} $>$ {\bf d\_\-extr}
\item 
std::vector$<$ {\bf klsupport::Extremal\-Row} $>$ {\bf d\_\-prim}
\item 
std::vector$<$ {\bf KLRow} $>$ {\bf d\_\-klr}
\item 
std::vector$<$ {\bf PI} $>$ {\bf d\_\-first\-Prim}
\item 
std::vector$<$ {\bf KLI} $>$ {\bf d\_\-first\-KL}
\item 
Helper $\ast$ {\bf d\_\-helper}
\item 
size\_\-t {\bf source}
\item 
size\_\-t {\bf y}
\item 
size\_\-t {\bf s}
\item 
std::vector$<$ {\bf KLPol} $>$ {\bf recursion}
\item 
std::stack$<$ size\_\-t $>$ {\bf d\_\-stack}
\item 
bitmap::Bit\-Map {\bf d\_\-done}
\item 
Edge\-List::const\_\-iterator {\bf d\_\-current}
\item 
Edge\-List::const\_\-iterator {\bf d\_\-current\-End}
\item 
size\_\-t {\bf d\_\-pos}
\item 
const Thicket $\ast$ {\bf d\_\-thicket}
\end{CompactItemize}


\subsection{Typedef Documentation}
\index{kl.cpp@{kl.cpp}!EdgeList@{EdgeList}}
\index{EdgeList@{EdgeList}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Thicket::Edge\-List} {\bf Edge\-List}}\label{kl_8cpp_85767de3e123ce0bfdc06932f686b391}


\index{kl.cpp@{kl.cpp}!EdgeList@{EdgeList}}
\index{EdgeList@{EdgeList}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef std::vector$<${\bf Edge}$>$ {\bf Edge\-List}}\label{kl_8cpp_79e5e75cf1bce39d6d8a7eedcdc391e1}


\index{kl.cpp@{kl.cpp}!KLI@{KLI}}
\index{KLI@{KLI}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef KLRow::iterator {\bf KLI}}\label{kl_8cpp_4351a0d5f346e85c71a59b3bb9773503}


\index{kl.cpp@{kl.cpp}!KLPtr@{KLPtr}}
\index{KLPtr@{KLPtr}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef std::set$<${\bf KLPol}$>$::iterator {\bf KLPtr}}\label{kl_8cpp_6662f0ae43b232e1537ccc182b824d93}


\index{kl.cpp@{kl.cpp}!PI@{PI}}
\index{PI@{PI}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef klsupport::Extremal\-Row::iterator {\bf PI}}\label{kl_8cpp_9a72c67bafcdc0d398a51834267807ee}




\subsection{Variable Documentation}
\index{kl.cpp@{kl.cpp}!d_current@{d\_\-current}}
\index{d_current@{d\_\-current}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Edge\-List::const\_\-iterator {\bf d\_\-current}}\label{kl_8cpp_3fc2167446921d5c787fc708620c2b9c}


\index{kl.cpp@{kl.cpp}!d_currentEnd@{d\_\-currentEnd}}
\index{d_currentEnd@{d\_\-currentEnd}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Edge\-List::const\_\-iterator {\bf d\_\-current\-End}}\label{kl_8cpp_83e7b54bf9f7ba45c6dfbe30fbe07706}


\index{kl.cpp@{kl.cpp}!d_done@{d\_\-done}}
\index{d_done@{d\_\-done}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bitmap::Bit\-Map {\bf d\_\-done}}\label{kl_8cpp_46ed7cd8322757fe698b29dc7f60a584}


\index{kl.cpp@{kl.cpp}!d_edges@{d\_\-edges}}
\index{d_edges@{d\_\-edges}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::vector$<${\bf Edge\-List}$>$ {\bf d\_\-edges}}\label{kl_8cpp_78c1b1dc3c8a4bcb2a2dbb9c7dea35c4}


\index{kl.cpp@{kl.cpp}!d_extr@{d\_\-extr}}
\index{d_extr@{d\_\-extr}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::vector$<${\bf klsupport::Extremal\-Row}$>$ {\bf d\_\-extr}}\label{kl_8cpp_12e0eec77b1dcc4e36570c1afe3f27dd}


\index{kl.cpp@{kl.cpp}!d_firstKL@{d\_\-firstKL}}
\index{d_firstKL@{d\_\-firstKL}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::vector$<${\bf KLI}$>$ {\bf d\_\-first\-KL}}\label{kl_8cpp_cb1d9e7824c886bfa32fcf10e50f4224}


\index{kl.cpp@{kl.cpp}!d_firstPrim@{d\_\-firstPrim}}
\index{d_firstPrim@{d\_\-firstPrim}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::vector$<${\bf PI}$>$ {\bf d\_\-first\-Prim}}\label{kl_8cpp_d2bb4859aaefac3117e4785a72692bb0}


\index{kl.cpp@{kl.cpp}!d_helper@{d\_\-helper}}
\index{d_helper@{d\_\-helper}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Helper$\ast$ {\bf d\_\-helper}}\label{kl_8cpp_9276e733592ac412fa7b14ec897ab181}


\index{kl.cpp@{kl.cpp}!d_klr@{d\_\-klr}}
\index{d_klr@{d\_\-klr}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::vector$<${\bf KLRow}$>$ {\bf d\_\-klr}}\label{kl_8cpp_878fbf0f8ece8cd32686f40972b34805}


\index{kl.cpp@{kl.cpp}!d_pos@{d\_\-pos}}
\index{d_pos@{d\_\-pos}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}size\_\-t {\bf d\_\-pos}}\label{kl_8cpp_55255207ae37e136454fd57b93344825}


\index{kl.cpp@{kl.cpp}!d_prim@{d\_\-prim}}
\index{d_prim@{d\_\-prim}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::vector$<${\bf klsupport::Extremal\-Row}$>$ {\bf d\_\-prim}}\label{kl_8cpp_510a01e41f45baf01bb51933e847d1c8}


\index{kl.cpp@{kl.cpp}!d_stack@{d\_\-stack}}
\index{d_stack@{d\_\-stack}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::stack$<$size\_\-t$>$ {\bf d\_\-stack}}\label{kl_8cpp_38e7bcd9090882ccf6c8b5fe291c6421}


\index{kl.cpp@{kl.cpp}!d_thicket@{d\_\-thicket}}
\index{d_thicket@{d\_\-thicket}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const Thicket$\ast$ {\bf d\_\-thicket}}\label{kl_8cpp_37321f1a4e73d23f1d935c6ac50cf915}


\index{kl.cpp@{kl.cpp}!d_vertices@{d\_\-vertices}}
\index{d_vertices@{d\_\-vertices}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::vector$<$size\_\-t$>$ {\bf d\_\-vertices}}\label{kl_8cpp_9d2f969313b6457e7433ebc7a0047322}


\index{kl.cpp@{kl.cpp}!d_xlist@{d\_\-xlist}}
\index{d_xlist@{d\_\-xlist}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::vector$<$size\_\-t$>$ {\bf d\_\-xlist}}\label{kl_8cpp_1c061a3ed5c1476117a364599a05606d}


\index{kl.cpp@{kl.cpp}!recursion@{recursion}}
\index{recursion@{recursion}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::vector$<${\bf KLPol}$>$ {\bf recursion}}\label{kl_8cpp_17a8c680f6489b01c022961f4548d520}


\index{kl.cpp@{kl.cpp}!s@{s}}
\index{s@{s}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}size\_\-t {\bf s}}\label{kl_8cpp_8b5bcd504368d3722f5e715f66383819}


\index{kl.cpp@{kl.cpp}!source@{source}}
\index{source@{source}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}size\_\-t {\bf source}}\label{kl_8cpp_0ed0c14a4e2b8d271fc3b9573224fa1c}


\index{kl.cpp@{kl.cpp}!y@{y}}
\index{y@{y}!kl.cpp@{kl.cpp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}size\_\-t {\bf y}}\label{kl_8cpp_17ba7a9a912e4c6297861217711fd87e}


