<!-- HTML header for doxygen 1.8.15-->
<!-- Remember to use version doxygen 1.8.15 +-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
<title>Compute Library: AbsoluteTolerance&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <img alt="Compute Library" src="https://raw.githubusercontent.com/ARM-software/ComputeLibrary/gh-pages/ACL_logo.png" style="max-width: 100%;margin-top: 15px;margin-left: 10px"/>
  <td style="padding-left: 0.5em;">
   <div id="projectname">
   &#160;<span id="projectnumber">19.08</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classarm__compute_1_1test_1_1validation_1_1_absolute_tolerance.xhtml','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">AbsoluteTolerance&lt; T &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Class reprensenting an absolute tolerance value.  
 <a href="classarm__compute_1_1test_1_1validation_1_1_absolute_tolerance.xhtml#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_validation_8h_source.xhtml">Validation.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:afb9ded5f49336ae503bb9f2035ea902b"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1validation_1_1_absolute_tolerance.xhtml#afb9ded5f49336ae503bb9f2035ea902b">value_type</a> = T</td></tr>
<tr class="memdesc:afb9ded5f49336ae503bb9f2035ea902b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Underlying type.  <a href="#afb9ded5f49336ae503bb9f2035ea902b">More...</a><br /></td></tr>
<tr class="separator:afb9ded5f49336ae503bb9f2035ea902b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a98a801b3455152020b7543995eeb3224"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1validation_1_1_absolute_tolerance.xhtml#a98a801b3455152020b7543995eeb3224">AbsoluteTolerance</a> ()=default</td></tr>
<tr class="separator:a98a801b3455152020b7543995eeb3224"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0856d709c655f740d93b50e9121a7aa3"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1validation_1_1_absolute_tolerance.xhtml#a0856d709c655f740d93b50e9121a7aa3">AbsoluteTolerance</a> (T value)</td></tr>
<tr class="memdesc:a0856d709c655f740d93b50e9121a7aa3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a0856d709c655f740d93b50e9121a7aa3">More...</a><br /></td></tr>
<tr class="separator:a0856d709c655f740d93b50e9121a7aa3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0c9beda8887a48bb967dd5e2f44d5f5"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1test_1_1validation_1_1_absolute_tolerance.xhtml#af0c9beda8887a48bb967dd5e2f44d5f5">operator T</a> () const</td></tr>
<tr class="memdesc:af0c9beda8887a48bb967dd5e2f44d5f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicit conversion to the underlying type.  <a href="#af0c9beda8887a48bb967dd5e2f44d5f5">More...</a><br /></td></tr>
<tr class="separator:af0c9beda8887a48bb967dd5e2f44d5f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br />
class arm_compute::test::validation::AbsoluteTolerance&lt; T &gt;</h3>

<p>Class reprensenting an absolute tolerance value. </p>

<p class="definition">Definition at line <a class="el" href="_validation_8h_source.xhtml#l00050">50</a> of file <a class="el" href="_validation_8h_source.xhtml">Validation.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="afb9ded5f49336ae503bb9f2035ea902b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb9ded5f49336ae503bb9f2035ea902b">&#9670;&nbsp;</a></span>value_type</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classarm__compute_1_1test_1_1validation_1_1_absolute_tolerance.xhtml#afb9ded5f49336ae503bb9f2035ea902b">value_type</a> =  T</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Underlying type. </p>

<p class="definition">Definition at line <a class="el" href="_validation_8h_source.xhtml#l00054">54</a> of file <a class="el" href="_validation_8h_source.xhtml">Validation.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a98a801b3455152020b7543995eeb3224"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a98a801b3455152020b7543995eeb3224">&#9670;&nbsp;</a></span>AbsoluteTolerance() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarm__compute_1_1test_1_1validation_1_1_absolute_tolerance.xhtml">AbsoluteTolerance</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a0856d709c655f740d93b50e9121a7aa3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0856d709c655f740d93b50e9121a7aa3">&#9670;&nbsp;</a></span>AbsoluteTolerance() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classarm__compute_1_1test_1_1validation_1_1_absolute_tolerance.xhtml">AbsoluteTolerance</a> </td>
          <td>(</td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Absolute tolerance value. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="_validation_8h_source.xhtml#l00066">66</a> of file <a class="el" href="_validation_8h_source.xhtml">Validation.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        : _value{ value }</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    {</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="af0c9beda8887a48bb967dd5e2f44d5f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0c9beda8887a48bb967dd5e2f44d5f5">&#9670;&nbsp;</a></span>operator T()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr operator T </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implicit conversion to the underlying type. </p>
<dl class="section return"><dt>Returns</dt><dd>the underlying type. </dd></dl>

<p class="definition">Definition at line <a class="el" href="_validation_8h_source.xhtml#l00075">75</a> of file <a class="el" href="_validation_8h_source.xhtml">Validation.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    {</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        <span class="keywordflow">return</span> _value;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>tests/validation/<a class="el" href="_validation_8h_source.xhtml">Validation.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespacearm__compute.xhtml">arm_compute</a></li><li class="navelem"><a class="el" href="namespacearm__compute_1_1test.xhtml">test</a></li><li class="navelem"><a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml">validation</a></li><li class="navelem"><a class="el" href="classarm__compute_1_1test_1_1validation_1_1_absolute_tolerance.xhtml">AbsoluteTolerance</a></li>
    <li class="footer">Generated on Mon Sep 2 2019 11:47:41 for Compute Library by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
  </ul>
</div>
</body>
</html>
