\section{H\+Rect\+Bound$<$ Metric\+Type, Elem\+Type $>$ Class Template Reference}
\label{classmlpack_1_1bound_1_1HRectBound}\index{H\+Rect\+Bound$<$ Metric\+Type, Elem\+Type $>$@{H\+Rect\+Bound$<$ Metric\+Type, Elem\+Type $>$}}


Hyper-\/rectangle bound for an L-\/metric.  




Inheritance diagram for H\+Rect\+Bound$<$ Metric\+Type, Elem\+Type $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classmlpack_1_1bound_1_1HRectBound__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\textbf{ H\+Rect\+Bound} ()
\begin{DoxyCompactList}\small\item\em Empty constructor; creates a bound of dimensionality 0. \end{DoxyCompactList}\item 
\textbf{ H\+Rect\+Bound} (const size\+\_\+t dimension)
\begin{DoxyCompactList}\small\item\em Initializes to specified dimensionality with each dimension the empty set. \end{DoxyCompactList}\item 
\textbf{ H\+Rect\+Bound} (const \textbf{ H\+Rect\+Bound} \&other)
\begin{DoxyCompactList}\small\item\em Copy constructor; necessary to prevent memory leaks. \end{DoxyCompactList}\item 
\textbf{ H\+Rect\+Bound} (\textbf{ H\+Rect\+Bound} \&\&other)
\begin{DoxyCompactList}\small\item\em Move constructor\+: take possession of another bound\textquotesingle{}s information. \end{DoxyCompactList}\item 
\textbf{ $\sim$\+H\+Rect\+Bound} ()
\begin{DoxyCompactList}\small\item\em Destructor\+: clean up memory. \end{DoxyCompactList}\item 
void \textbf{ Center} (arma\+::\+Col$<$ Elem\+Type $>$ \&center) const
\begin{DoxyCompactList}\small\item\em Calculates the center of the range, placing it into the given vector. \end{DoxyCompactList}\item 
void \textbf{ Clear} ()
\begin{DoxyCompactList}\small\item\em Resets all dimensions to the empty set (so that this bound contains nothing). \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Vec\+Type $>$ }\\bool \textbf{ Contains} (const Vec\+Type \&point) const
\begin{DoxyCompactList}\small\item\em Determines if a point is within this bound. \end{DoxyCompactList}\item 
bool \textbf{ Contains} (const \textbf{ H\+Rect\+Bound} \&bound) const
\begin{DoxyCompactList}\small\item\em Determines if this bound partially contains a bound. \end{DoxyCompactList}\item 
Elem\+Type \textbf{ Diameter} () const
\begin{DoxyCompactList}\small\item\em Returns the diameter of the hyperrectangle (that is, the longest diagonal). \end{DoxyCompactList}\item 
size\+\_\+t \textbf{ Dim} () const
\begin{DoxyCompactList}\small\item\em Gets the dimensionality. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Vec\+Type $>$ }\\Elem\+Type \textbf{ Max\+Distance} (const Vec\+Type \&point, typename \textbf{ std\+::enable\+\_\+if\+\_\+t}$<$ \textbf{ Is\+Vector}$<$ Vec\+Type $>$\+::value $>$ $\ast$=0) const
\begin{DoxyCompactList}\small\item\em Calculates maximum bound-\/to-\/point squared distance. \end{DoxyCompactList}\item 
Elem\+Type \textbf{ Max\+Distance} (const \textbf{ H\+Rect\+Bound} \&other) const
\begin{DoxyCompactList}\small\item\em Computes maximum distance. \end{DoxyCompactList}\item 
const Metric\+Type \& \textbf{ Metric} () const
\begin{DoxyCompactList}\small\item\em Get the instantiated metric associated with the bound. \end{DoxyCompactList}\item 
Metric\+Type \& \textbf{ Metric} ()
\begin{DoxyCompactList}\small\item\em Modify the instantiated metric associated with the bound. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Vec\+Type $>$ }\\Elem\+Type \textbf{ Min\+Distance} (const Vec\+Type \&point, typename \textbf{ std\+::enable\+\_\+if\+\_\+t}$<$ \textbf{ Is\+Vector}$<$ Vec\+Type $>$\+::value $>$ $\ast$=0) const
\begin{DoxyCompactList}\small\item\em Calculates minimum bound-\/to-\/point distance. \end{DoxyCompactList}\item 
Elem\+Type \textbf{ Min\+Distance} (const \textbf{ H\+Rect\+Bound} \&other) const
\begin{DoxyCompactList}\small\item\em Calculates minimum bound-\/to-\/bound distance. \end{DoxyCompactList}\item 
Elem\+Type \textbf{ Min\+Width} () const
\begin{DoxyCompactList}\small\item\em Get the minimum width of the bound. \end{DoxyCompactList}\item 
Elem\+Type \& \textbf{ Min\+Width} ()
\begin{DoxyCompactList}\small\item\em Modify the minimum width of the bound. \end{DoxyCompactList}\item 
\textbf{ H\+Rect\+Bound} \textbf{ operator \&} (const \textbf{ H\+Rect\+Bound} \&bound) const
\begin{DoxyCompactList}\small\item\em Returns the intersection of this bound and another. \end{DoxyCompactList}\item 
\textbf{ H\+Rect\+Bound} \& \textbf{ operator \&=} (const \textbf{ H\+Rect\+Bound} \&bound)
\begin{DoxyCompactList}\small\item\em Intersects this bound with another. \end{DoxyCompactList}\item 
\textbf{ H\+Rect\+Bound} \& \textbf{ operator=} (const \textbf{ H\+Rect\+Bound} \&other)
\begin{DoxyCompactList}\small\item\em Same as copy constructor; necessary to prevent memory leaks. \end{DoxyCompactList}\item 
\textbf{ math\+::\+Range\+Type}$<$ Elem\+Type $>$ \& \textbf{ operator[$\,$]} (const size\+\_\+t i)
\begin{DoxyCompactList}\small\item\em Get the range for a particular dimension. \end{DoxyCompactList}\item 
const \textbf{ math\+::\+Range\+Type}$<$ Elem\+Type $>$ \& \textbf{ operator[$\,$]} (const size\+\_\+t i) const
\begin{DoxyCompactList}\small\item\em Modify the range for a particular dimension. No bounds checking. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Mat\+Type $>$ }\\\textbf{ H\+Rect\+Bound} \& \textbf{ operator$\vert$=} (const Mat\+Type \&data)
\begin{DoxyCompactList}\small\item\em Expands this region to include new points. \end{DoxyCompactList}\item 
\textbf{ H\+Rect\+Bound} \& \textbf{ operator$\vert$=} (const \textbf{ H\+Rect\+Bound} \&other)
\begin{DoxyCompactList}\small\item\em Expands this region to encompass another bound. \end{DoxyCompactList}\item 
Elem\+Type \textbf{ Overlap} (const \textbf{ H\+Rect\+Bound} \&bound) const
\begin{DoxyCompactList}\small\item\em Returns the volume of overlap of this bound and another. \end{DoxyCompactList}\item 
\textbf{ math\+::\+Range\+Type}$<$ Elem\+Type $>$ \textbf{ Range\+Distance} (const \textbf{ H\+Rect\+Bound} \&other) const
\begin{DoxyCompactList}\small\item\em Calculates minimum and maximum bound-\/to-\/bound distance. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Vec\+Type $>$ }\\\textbf{ math\+::\+Range\+Type}$<$ Elem\+Type $>$ \textbf{ Range\+Distance} (const Vec\+Type \&point, typename \textbf{ std\+::enable\+\_\+if\+\_\+t}$<$ \textbf{ Is\+Vector}$<$ Vec\+Type $>$\+::value $>$ $\ast$=0) const
\begin{DoxyCompactList}\small\item\em Calculates minimum and maximum bound-\/to-\/point distance. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Archive $>$ }\\void \textbf{ serialize} (Archive \&ar, const unsigned int version)
\begin{DoxyCompactList}\small\item\em Serialize the bound object. \end{DoxyCompactList}\item 
Elem\+Type \textbf{ Volume} () const
\begin{DoxyCompactList}\small\item\em Calculate the volume of the hyperrectangle. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename Metric\+Type = metric\+::\+L\+Metric$<$2, true$>$, typename Elem\+Type = double$>$\newline
class mlpack\+::bound\+::\+H\+Rect\+Bound$<$ Metric\+Type, Elem\+Type $>$}

Hyper-\/rectangle bound for an L-\/metric. 

This should be used in conjunction with the L\+Metric class. Be sure to use the same template parameters for L\+Metric as you do for \doxyref{H\+Rect\+Bound}{p.}{classmlpack_1_1bound_1_1HRectBound} -- otherwise odd results may occur.


\begin{DoxyTemplParams}{Template Parameters}
{\em Metric\+Type} & Type of metric to use; must be of type L\+Metric. \\
\hline
{\em Elem\+Type} & Element type (double/float/int/etc.). \\
\hline
\end{DoxyTemplParams}


Definition at line 54 of file hrectbound.\+hpp.



\subsection{Constructor \& Destructor Documentation}
\mbox{\label{classmlpack_1_1bound_1_1HRectBound_a14d6367f1a3e1718deed8cf4fd8300d4}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!H\+Rect\+Bound@{H\+Rect\+Bound}}
\index{H\+Rect\+Bound@{H\+Rect\+Bound}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{H\+Rect\+Bound()\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily \textbf{ H\+Rect\+Bound} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Empty constructor; creates a bound of dimensionality 0. 

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_a64c0d7420d56f31d05bdbf3612bc91b2}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!H\+Rect\+Bound@{H\+Rect\+Bound}}
\index{H\+Rect\+Bound@{H\+Rect\+Bound}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{H\+Rect\+Bound()\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily \textbf{ H\+Rect\+Bound} (\begin{DoxyParamCaption}\item[{const size\+\_\+t}]{dimension }\end{DoxyParamCaption})}



Initializes to specified dimensionality with each dimension the empty set. 


\begin{DoxyParams}{Parameters}
{\em dimension} & Dimensionality of bound. \\
\hline
\end{DoxyParams}
\mbox{\label{classmlpack_1_1bound_1_1HRectBound_a1cd26f681a6e3c5ee325850ace586cfa}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!H\+Rect\+Bound@{H\+Rect\+Bound}}
\index{H\+Rect\+Bound@{H\+Rect\+Bound}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{H\+Rect\+Bound()\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily \textbf{ H\+Rect\+Bound} (\begin{DoxyParamCaption}\item[{const \textbf{ H\+Rect\+Bound}$<$ Metric\+Type, Elem\+Type $>$ \&}]{other }\end{DoxyParamCaption})}



Copy constructor; necessary to prevent memory leaks. 

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_a554cc0da21197f0b6cb7dfc6050ead63}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!H\+Rect\+Bound@{H\+Rect\+Bound}}
\index{H\+Rect\+Bound@{H\+Rect\+Bound}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{H\+Rect\+Bound()\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily \textbf{ H\+Rect\+Bound} (\begin{DoxyParamCaption}\item[{\textbf{ H\+Rect\+Bound}$<$ Metric\+Type, Elem\+Type $>$ \&\&}]{other }\end{DoxyParamCaption})}



Move constructor\+: take possession of another bound\textquotesingle{}s information. 

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_a68cfb4331fef891c5a7587cc454df1cb}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!````~H\+Rect\+Bound@{$\sim$\+H\+Rect\+Bound}}
\index{````~H\+Rect\+Bound@{$\sim$\+H\+Rect\+Bound}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{$\sim$\+H\+Rect\+Bound()}
{\footnotesize\ttfamily $\sim$\textbf{ H\+Rect\+Bound} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Destructor\+: clean up memory. 



\subsection{Member Function Documentation}
\mbox{\label{classmlpack_1_1bound_1_1HRectBound_ac519e0ecb1bbd517724a93b4b57cc399}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!Center@{Center}}
\index{Center@{Center}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{Center()}
{\footnotesize\ttfamily void Center (\begin{DoxyParamCaption}\item[{arma\+::\+Col$<$ Elem\+Type $>$ \&}]{center }\end{DoxyParamCaption}) const}



Calculates the center of the range, placing it into the given vector. 


\begin{DoxyParams}{Parameters}
{\em center} & Vector which the center will be written to. \\
\hline
\end{DoxyParams}


Referenced by Rectangle\+Tree$<$ Metric\+Type, Statistic\+Type, Mat\+Type, Split\+Type, Descent\+Type, Auxiliary\+Information\+Type $>$\+::\+Center(), and Octree$<$ Metric\+Type, Statistic\+Type, Mat\+Type $>$\+::\+Center().

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_aa71d36872f416feaa853788a7a7a7ef8}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!Clear@{Clear}}
\index{Clear@{Clear}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{Clear()}
{\footnotesize\ttfamily void Clear (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Resets all dimensions to the empty set (so that this bound contains nothing). 

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_a3c1084b782672d502264b8c6d33ed0dd}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!Contains@{Contains}}
\index{Contains@{Contains}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{Contains()\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily bool Contains (\begin{DoxyParamCaption}\item[{const Vec\+Type \&}]{point }\end{DoxyParamCaption}) const}



Determines if a point is within this bound. 


\begin{DoxyParams}{Parameters}
{\em point} & Point to check the condition. \\
\hline
\end{DoxyParams}
\mbox{\label{classmlpack_1_1bound_1_1HRectBound_ad3a69a98f323de871cc834fe91114792}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!Contains@{Contains}}
\index{Contains@{Contains}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{Contains()\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily bool Contains (\begin{DoxyParamCaption}\item[{const \textbf{ H\+Rect\+Bound}$<$ Metric\+Type, Elem\+Type $>$ \&}]{bound }\end{DoxyParamCaption}) const}



Determines if this bound partially contains a bound. 


\begin{DoxyParams}{Parameters}
{\em bound} & Bound to check the condition. \\
\hline
\end{DoxyParams}
\mbox{\label{classmlpack_1_1bound_1_1HRectBound_a60e7246d34103909f688395e35869b39}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!Diameter@{Diameter}}
\index{Diameter@{Diameter}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{Diameter()}
{\footnotesize\ttfamily Elem\+Type Diameter (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Returns the diameter of the hyperrectangle (that is, the longest diagonal). 

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_a7993a4f36c530e03b78b28b5f53bb286}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!Dim@{Dim}}
\index{Dim@{Dim}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{Dim()}
{\footnotesize\ttfamily size\+\_\+t Dim (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Gets the dimensionality. 



Definition at line 92 of file hrectbound.\+hpp.

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_ae764d88483236cc470f5abe0273df4c5}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!Max\+Distance@{Max\+Distance}}
\index{Max\+Distance@{Max\+Distance}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{Max\+Distance()\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily Elem\+Type Max\+Distance (\begin{DoxyParamCaption}\item[{const Vec\+Type \&}]{point,  }\item[{typename \textbf{ std\+::enable\+\_\+if\+\_\+t}$<$ \textbf{ Is\+Vector}$<$ Vec\+Type $>$\+::value $>$ $\ast$}]{ = {\ttfamily 0} }\end{DoxyParamCaption}) const}



Calculates maximum bound-\/to-\/point squared distance. 


\begin{DoxyParams}{Parameters}
{\em point} & Point to which the maximum distance is requested. \\
\hline
\end{DoxyParams}


Referenced by Rectangle\+Tree$<$ Metric\+Type, Statistic\+Type, Mat\+Type, Split\+Type, Descent\+Type, Auxiliary\+Information\+Type $>$\+::\+Max\+Distance().

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_aff674aa2febc8534dadd90e03d93c087}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!Max\+Distance@{Max\+Distance}}
\index{Max\+Distance@{Max\+Distance}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{Max\+Distance()\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily Elem\+Type Max\+Distance (\begin{DoxyParamCaption}\item[{const \textbf{ H\+Rect\+Bound}$<$ Metric\+Type, Elem\+Type $>$ \&}]{other }\end{DoxyParamCaption}) const}



Computes maximum distance. 


\begin{DoxyParams}{Parameters}
{\em other} & Bound to which the maximum distance is requested. \\
\hline
\end{DoxyParams}
\mbox{\label{classmlpack_1_1bound_1_1HRectBound_aac4d643c62af7d9cc2a072aea10d2b32}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!Metric@{Metric}}
\index{Metric@{Metric}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{Metric()\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const Metric\+Type\& Metric (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get the instantiated metric associated with the bound. 



Definition at line 107 of file hrectbound.\+hpp.

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_acc71d930ed90e73b2bc0c360835c5371}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!Metric@{Metric}}
\index{Metric@{Metric}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{Metric()\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily Metric\+Type\& Metric (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Modify the instantiated metric associated with the bound. 



Definition at line 109 of file hrectbound.\+hpp.

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_a73bf99a433e88a31d98b46bf4c0da147}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!Min\+Distance@{Min\+Distance}}
\index{Min\+Distance@{Min\+Distance}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{Min\+Distance()\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily Elem\+Type Min\+Distance (\begin{DoxyParamCaption}\item[{const Vec\+Type \&}]{point,  }\item[{typename \textbf{ std\+::enable\+\_\+if\+\_\+t}$<$ \textbf{ Is\+Vector}$<$ Vec\+Type $>$\+::value $>$ $\ast$}]{ = {\ttfamily 0} }\end{DoxyParamCaption}) const}



Calculates minimum bound-\/to-\/point distance. 


\begin{DoxyParams}{Parameters}
{\em point} & Point to which the minimum distance is requested. \\
\hline
\end{DoxyParams}


Referenced by Rectangle\+Tree$<$ Metric\+Type, Statistic\+Type, Mat\+Type, Split\+Type, Descent\+Type, Auxiliary\+Information\+Type $>$\+::\+Min\+Distance().

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_aee3d05d30173b45bce8fb59678093923}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!Min\+Distance@{Min\+Distance}}
\index{Min\+Distance@{Min\+Distance}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{Min\+Distance()\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily Elem\+Type Min\+Distance (\begin{DoxyParamCaption}\item[{const \textbf{ H\+Rect\+Bound}$<$ Metric\+Type, Elem\+Type $>$ \&}]{other }\end{DoxyParamCaption}) const}



Calculates minimum bound-\/to-\/bound distance. 


\begin{DoxyParams}{Parameters}
{\em other} & Bound to which the minimum distance is requested. \\
\hline
\end{DoxyParams}
\mbox{\label{classmlpack_1_1bound_1_1HRectBound_ab8478ff52c4d4d5e7fa6311fa39abb76}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!Min\+Width@{Min\+Width}}
\index{Min\+Width@{Min\+Width}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{Min\+Width()\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily Elem\+Type Min\+Width (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get the minimum width of the bound. 



Definition at line 102 of file hrectbound.\+hpp.



Referenced by Rectangle\+Tree$<$ Metric\+Type, Statistic\+Type, Mat\+Type, Split\+Type, Descent\+Type, Auxiliary\+Information\+Type $>$\+::\+Minimum\+Bound\+Distance().

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_a216fa2f42fce4a6edd8f1a354d24aac2}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!Min\+Width@{Min\+Width}}
\index{Min\+Width@{Min\+Width}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{Min\+Width()\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily Elem\+Type\& Min\+Width (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Modify the minimum width of the bound. 



Definition at line 104 of file hrectbound.\+hpp.

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_a3becb0b78fc8642f6233a92d9a4494d9}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!operator \&@{operator \&}}
\index{operator \&@{operator \&}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{operator \&()}
{\footnotesize\ttfamily \textbf{ H\+Rect\+Bound} operator\& (\begin{DoxyParamCaption}\item[{const \textbf{ H\+Rect\+Bound}$<$ Metric\+Type, Elem\+Type $>$ \&}]{bound }\end{DoxyParamCaption}) const}



Returns the intersection of this bound and another. 

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_a6b81bda204986dd2a1bfeecb46c82a73}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!operator \&=@{operator \&=}}
\index{operator \&=@{operator \&=}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{operator \&=()}
{\footnotesize\ttfamily \textbf{ H\+Rect\+Bound}\& operator\&= (\begin{DoxyParamCaption}\item[{const \textbf{ H\+Rect\+Bound}$<$ Metric\+Type, Elem\+Type $>$ \&}]{bound }\end{DoxyParamCaption})}



Intersects this bound with another. 

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_ae368f3b87f5b50c43247724aa0ec253c}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!operator=@{operator=}}
\index{operator=@{operator=}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{operator=()}
{\footnotesize\ttfamily \textbf{ H\+Rect\+Bound}\& operator= (\begin{DoxyParamCaption}\item[{const \textbf{ H\+Rect\+Bound}$<$ Metric\+Type, Elem\+Type $>$ \&}]{other }\end{DoxyParamCaption})}



Same as copy constructor; necessary to prevent memory leaks. 

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_a3f5bdaafab276f919fb5fbca6cc2f885}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!operator[]@{operator[]}}
\index{operator[]@{operator[]}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{operator[]()\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \textbf{ math\+::\+Range\+Type}$<$Elem\+Type$>$\& operator[$\,$] (\begin{DoxyParamCaption}\item[{const size\+\_\+t}]{i }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Get the range for a particular dimension. 

No bounds checking. Be careful\+: this may make \doxyref{Min\+Width()}{p.}{classmlpack_1_1bound_1_1HRectBound_a216fa2f42fce4a6edd8f1a354d24aac2} invalid. 

Definition at line 96 of file hrectbound.\+hpp.

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_a4ab2ad05d0e4e59b868c4c5bef904ee1}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!operator[]@{operator[]}}
\index{operator[]@{operator[]}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{operator[]()\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const \textbf{ math\+::\+Range\+Type}$<$Elem\+Type$>$\& operator[$\,$] (\begin{DoxyParamCaption}\item[{const size\+\_\+t}]{i }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Modify the range for a particular dimension. No bounds checking. 



Definition at line 98 of file hrectbound.\+hpp.

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_a9e955961567ca1540df58d2185f81439}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!operator\texttt{"|}=@{operator\texttt{"|}=}}
\index{operator\texttt{"|}=@{operator\texttt{"|}=}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{operator\texttt{"|}=()\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \textbf{ H\+Rect\+Bound}\& operator$\vert$= (\begin{DoxyParamCaption}\item[{const Mat\+Type \&}]{data }\end{DoxyParamCaption})}



Expands this region to include new points. 


\begin{DoxyTemplParams}{Template Parameters}
{\em Mat\+Type} & Type of matrix; could be Mat, Sp\+Mat, a subview, or just a vector. \\
\hline
\end{DoxyTemplParams}

\begin{DoxyParams}{Parameters}
{\em data} & Data points to expand this region to include. \\
\hline
\end{DoxyParams}
\mbox{\label{classmlpack_1_1bound_1_1HRectBound_a77f7aac5543d1e00596af2d2074c142b}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!operator\texttt{"|}=@{operator\texttt{"|}=}}
\index{operator\texttt{"|}=@{operator\texttt{"|}=}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{operator\texttt{"|}=()\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \textbf{ H\+Rect\+Bound}\& operator$\vert$= (\begin{DoxyParamCaption}\item[{const \textbf{ H\+Rect\+Bound}$<$ Metric\+Type, Elem\+Type $>$ \&}]{other }\end{DoxyParamCaption})}



Expands this region to encompass another bound. 

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_a237a387176c306c3b8c025590d691338}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!Overlap@{Overlap}}
\index{Overlap@{Overlap}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{Overlap()}
{\footnotesize\ttfamily Elem\+Type Overlap (\begin{DoxyParamCaption}\item[{const \textbf{ H\+Rect\+Bound}$<$ Metric\+Type, Elem\+Type $>$ \&}]{bound }\end{DoxyParamCaption}) const}



Returns the volume of overlap of this bound and another. 

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_a2c5555e91d38db00fc5f76fe0032044c}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!Range\+Distance@{Range\+Distance}}
\index{Range\+Distance@{Range\+Distance}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{Range\+Distance()\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \textbf{ math\+::\+Range\+Type}$<$Elem\+Type$>$ Range\+Distance (\begin{DoxyParamCaption}\item[{const \textbf{ H\+Rect\+Bound}$<$ Metric\+Type, Elem\+Type $>$ \&}]{other }\end{DoxyParamCaption}) const}



Calculates minimum and maximum bound-\/to-\/bound distance. 


\begin{DoxyParams}{Parameters}
{\em other} & Bound to which the minimum and maximum distances are requested. \\
\hline
\end{DoxyParams}


Referenced by Rectangle\+Tree$<$ Metric\+Type, Statistic\+Type, Mat\+Type, Split\+Type, Descent\+Type, Auxiliary\+Information\+Type $>$\+::\+Range\+Distance().

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_a60a550bf46aa1d7b858134ce41fd5a3a}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!Range\+Distance@{Range\+Distance}}
\index{Range\+Distance@{Range\+Distance}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{Range\+Distance()\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \textbf{ math\+::\+Range\+Type}$<$Elem\+Type$>$ Range\+Distance (\begin{DoxyParamCaption}\item[{const Vec\+Type \&}]{point,  }\item[{typename \textbf{ std\+::enable\+\_\+if\+\_\+t}$<$ \textbf{ Is\+Vector}$<$ Vec\+Type $>$\+::value $>$ $\ast$}]{ = {\ttfamily 0} }\end{DoxyParamCaption}) const}



Calculates minimum and maximum bound-\/to-\/point distance. 


\begin{DoxyParams}{Parameters}
{\em point} & Point to which the minimum and maximum distances are requested. \\
\hline
\end{DoxyParams}
\mbox{\label{classmlpack_1_1bound_1_1HRectBound_a68e832cb064e3b7ca978d8e5911cf700}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!serialize@{serialize}}
\index{serialize@{serialize}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{serialize()}
{\footnotesize\ttfamily void serialize (\begin{DoxyParamCaption}\item[{Archive \&}]{ar,  }\item[{const unsigned int}]{version }\end{DoxyParamCaption})}



Serialize the bound object. 

\mbox{\label{classmlpack_1_1bound_1_1HRectBound_ac0e1df0f15250ddde83eed6a1bf52eba}} 
\index{mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}!Volume@{Volume}}
\index{Volume@{Volume}!mlpack\+::bound\+::\+H\+Rect\+Bound@{mlpack\+::bound\+::\+H\+Rect\+Bound}}
\subsubsection{Volume()}
{\footnotesize\ttfamily Elem\+Type Volume (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Calculate the volume of the hyperrectangle. 

\begin{DoxyReturn}{Returns}
Volume of the hyperrectangle. 
\end{DoxyReturn}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
/var/www/mlpack.\+ratml.\+org/mlpack.\+org/\+\_\+src/mlpack-\/git/src/mlpack/core/tree/\textbf{ hrectbound.\+hpp}\end{DoxyCompactItemize}
