<!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" lang="en-us" xml:lang="en-us"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta> <meta http-equiv="X-UA-Compatible" content="IE=edge"></meta> <meta name="copyright" content="(C) Copyright 2005"></meta> <meta name="DC.rights.owner" content="(C) Copyright 2005"></meta> <meta name="DC.Type" content="cppModule"></meta> <meta name="DC.Title" content="Half2 Arithmetic Functions"></meta> <meta name="abstract" content=""></meta> <meta name="description" content=""></meta> <meta name="DC.Format" content="XHTML"></meta> <meta name="DC.Identifier" content="group__CUDA__MATH____HALF2__ARITHMETIC"></meta> <link rel="stylesheet" type="text/css" href="../common/formatting/commonltr.css"></link> <link rel="stylesheet" type="text/css" href="../common/formatting/site.css"></link> <title>CUDA Math API :: CUDA Toolkit Documentation</title> <!--[if lt IE 9]> <script src="../common/formatting/html5shiv-printshiv.min.js"></script> <![endif]--> <script type="text/javascript" charset="utf-8" src="//assets.adobedtm.com/b92787824f2e0e9b68dc2e993f9bd995339fe417/satelliteLib-7ba51e58dc61bcb0e9311aadd02a0108ab24cc6c.js"></script> <script type="text/javascript" charset="utf-8" src="../common/formatting/jquery.min.js"></script> <script type="text/javascript" charset="utf-8" src="../common/formatting/jquery.ba-hashchange.min.js"></script> <script type="text/javascript" charset="utf-8" src="../common/formatting/jquery.scrollintoview.min.js"></script> <script type="text/javascript" src="../search/htmlFileList.js"></script> <script type="text/javascript" src="../search/htmlFileInfoList.js"></script> <script type="text/javascript" src="../search/nwSearchFnt.min.js"></script> <script type="text/javascript" src="../search/stemmers/en_stemmer.min.js"></script> <script type="text/javascript" src="../search/index-1.js"></script> <script type="text/javascript" src="../search/index-2.js"></script> <script type="text/javascript" src="../search/index-3.js"></script> <link rel="canonical" href="http://docs.nvidia.com/cuda/cuda-math-api/index.html"></link> <link rel="stylesheet" type="text/css" href="../common/formatting/qwcode.highlight.css"></link> </head> <body> <header id="header"><span id="company">NVIDIA</span><span id="site-title">CUDA Toolkit Documentation</span><form id="search" method="get" action="search"> <input type="text" name="search-text"></input><fieldset id="search-location"> <legend>Search In:</legend> <label><input type="radio" name="search-type" value="site"></input>Entire Site</label> <label><input type="radio" name="search-type" value="document"></input>Just This Document</label></fieldset> <button type="reset">clear search</button> <button id="submit" type="submit">search</button></form> </header> <div id="site-content"> <nav id="site-nav"> <div class="category closed"><a href="../index.html" title="The root of the site.">CUDA Toolkit v10.1.168</a></div> <div class="category"><a href="index.html" title="CUDA Math API">CUDA Math API</a></div> <ul> <li> <div class="section-link"><a href="modules.html#modules">1. Modules</a></div> <ul> <li> <div class="section-link"><a href="group__CUDA__MATH__INTRINSIC__HALF.html#group__CUDA__MATH__INTRINSIC__HALF">1.1. Half Precision Intrinsics</a></div> <ul> <li> <div class="section-link"><a href="group__CUDA__MATH____HALF__ARITHMETIC.html#group__CUDA__MATH____HALF__ARITHMETIC">1.1.1. Half Arithmetic Functions</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH____HALF2__ARITHMETIC.html#group__CUDA__MATH____HALF2__ARITHMETIC">1.1.2. Half2 Arithmetic Functions</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH____HALF__COMPARISON.html#group__CUDA__MATH____HALF__COMPARISON">1.1.3. Half Comparison Functions</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH____HALF2__COMPARISON.html#group__CUDA__MATH____HALF2__COMPARISON">1.1.4. Half2 Comparison Functions</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH____HALF__MISC.html#group__CUDA__MATH____HALF__MISC">1.1.5. Half Precision Conversion And Data Movement</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH____HALF__FUNCTIONS.html#group__CUDA__MATH____HALF__FUNCTIONS">1.1.6. Half Math Functions</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH____HALF2__FUNCTIONS.html#group__CUDA__MATH____HALF2__FUNCTIONS">1.1.7. Half2 Math Functions</a></div> </li> </ul> </li> <li> <div class="section-link"><a href="group__CUDA__MATH.html#group__CUDA__MATH">1.2. Mathematical Functions</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH__SINGLE.html#group__CUDA__MATH__SINGLE">1.3. Single Precision Mathematical Functions</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH__DOUBLE.html#group__CUDA__MATH__DOUBLE">1.4. Double Precision Mathematical Functions</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH__INTRINSIC__SINGLE.html#group__CUDA__MATH__INTRINSIC__SINGLE">1.5. Single Precision Intrinsics</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH__INTRINSIC__DOUBLE.html#group__CUDA__MATH__INTRINSIC__DOUBLE">1.6. Double Precision Intrinsics</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH__INTRINSIC__INT.html#group__CUDA__MATH__INTRINSIC__INT">1.7. Integer Intrinsics</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH__INTRINSIC__CAST.html#group__CUDA__MATH__INTRINSIC__CAST">1.8. Type Casting Intrinsics</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH__INTRINSIC__SIMD.html#group__CUDA__MATH__INTRINSIC__SIMD">1.9. SIMD Intrinsics</a></div> </li> </ul> </li> <li> <div class="section-link"><a href="notices-header.html#notices-header">Notices</a></div> <ul></ul> </li> </ul> </nav> <div id="resize-nav"></div> <nav id="search-results"> <h2>Search Results</h2> <ol></ol> </nav> <div id="contents-container"> <div id="breadcrumbs-container"> <div id="breadcrumbs"><a href="group__CUDA__MATH____HALF__ARITHMETIC.html" shape="rect">< Previous</a> | <a href="group__CUDA__MATH____HALF__COMPARISON.html" shape="rect">Next ></a></div> <div id="release-info">CUDA Math API (<a href="../../pdf/CUDA_Math_API.pdf">PDF</a>) - v10.1.168 (<a href="https://developer.nvidia.com/cuda-toolkit-archive">older</a>) - Last updated April 24, 2019 - <a href="mailto:CUDAIssues@nvidia.com?subject=CUDA Toolkit Documentation Feedback: CUDA Math API">Send Feedback</a></div> </div> <article id="contents"> <div class="topic reference apiRef apiPackage cppModule" id="group__CUDA__MATH____HALF2__ARITHMETIC"><a name="group__CUDA__MATH____HALF2__ARITHMETIC" shape="rect"> <!-- --></a><h2 class="topictitle2 cppModule">1.1.2. Half2 Arithmetic Functions</h2> <h2 class="module_header">[<a class="xref xref apiRelation cppModuleModule" href="group__CUDA__MATH__INTRINSIC__HALF.html#group__CUDA__MATH__INTRINSIC__HALF" shape="rect">Half Precision Intrinsics</a>] </h2> <div class="section"> <p>To use these functions include the header file <tt class="ph tt code">cuda_fp16.h</tt> in your program. </p> </div> <h3 class="fake_sectiontitle member_header">Functions</h3> <dl class="members"> <dt><span class="member_type"><span class="keyword keyword apiItemName">__device__</span> __half2 </span><span class="member_name"><a href="#group__CUDA__MATH____HALF2__ARITHMETIC_1g1ed66b23eb6467bf3640c81df7af6131" shape="rect">__hadd2</a> ( const __half2<span> </span><span class="keyword keyword apiItemName">a</span>, const __half2<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="shortdesc"><span></span><span class="desc">Performs <tt class="ph tt code">half2</tt> vector addition in round-to-nearest-even mode. </span></dd> <dt><span class="member_type"><span class="keyword keyword apiItemName">__device__</span> __half2 </span><span class="member_name"><a href="#group__CUDA__MATH____HALF2__ARITHMETIC_1g0538a877f86451df528c353c6e1156bb" shape="rect">__hadd2_sat</a> ( const __half2<span> </span><span class="keyword keyword apiItemName">a</span>, const __half2<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="shortdesc"><span></span><span class="desc">Performs <tt class="ph tt code">half2</tt> vector addition in round-to-nearest-even mode, with saturation to [0.0, 1.0]. </span></dd> <dt><span class="member_type"><span class="keyword keyword apiItemName">__device__</span> __half2 </span><span class="member_name"><a href="#group__CUDA__MATH____HALF2__ARITHMETIC_1g43628ba21ded8b1e188a367348008dab" shape="rect">__hfma2</a> ( const __half2<span> </span><span class="keyword keyword apiItemName">a</span>, const __half2<span> </span><span class="keyword keyword apiItemName">b</span>, const __half2<span> </span><span class="keyword keyword apiItemName">c</span> ) throw ( )</span></dt> <dd class="shortdesc"><span></span><span class="desc">Performs <tt class="ph tt code">half2</tt> vector fused multiply-add in round-to-nearest-even mode. </span></dd> <dt><span class="member_type"><span class="keyword keyword apiItemName">__device__</span> __half2 </span><span class="member_name"><a href="#group__CUDA__MATH____HALF2__ARITHMETIC_1g7e8b3d4633a37543bbb6cc9010f47d36" shape="rect">__hfma2_sat</a> ( const __half2<span> </span><span class="keyword keyword apiItemName">a</span>, const __half2<span> </span><span class="keyword keyword apiItemName">b</span>, const __half2<span> </span><span class="keyword keyword apiItemName">c</span> ) throw ( )</span></dt> <dd class="shortdesc"><span></span><span class="desc">Performs <tt class="ph tt code">half2</tt> vector fused multiply-add in round-to-nearest-even mode, with saturation to [0.0, 1.0]. </span></dd> <dt><span class="member_type"><span class="keyword keyword apiItemName">__device__</span> __half2 </span><span class="member_name"><a href="#group__CUDA__MATH____HALF2__ARITHMETIC_1gccece3396cadfbaa18883a1d28ba44b4" shape="rect">__hmul2</a> ( const __half2<span> </span><span class="keyword keyword apiItemName">a</span>, const __half2<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="shortdesc"><span></span><span class="desc">Performs <tt class="ph tt code">half2</tt> vector multiplication in round-to-nearest-even mode. </span></dd> <dt><span class="member_type"><span class="keyword keyword apiItemName">__device__</span> __half2 </span><span class="member_name"><a href="#group__CUDA__MATH____HALF2__ARITHMETIC_1g03ba1312a1e9d01fdd0db37799bef670" shape="rect">__hmul2_sat</a> ( const __half2<span> </span><span class="keyword keyword apiItemName">a</span>, const __half2<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="shortdesc"><span></span><span class="desc">Performs <tt class="ph tt code">half2</tt> vector multiplication in round-to-nearest-even mode, with saturation to [0.0, 1.0]. </span></dd> <dt><span class="member_type"><span class="keyword keyword apiItemName">__device__</span> __half2 </span><span class="member_name"><a href="#group__CUDA__MATH____HALF2__ARITHMETIC_1g67c6596ad65a8d9525909ad19a1fec4f" shape="rect">__hneg2</a> ( const __half2<span> </span><span class="keyword keyword apiItemName">a</span> ) throw ( )</span></dt> <dd class="shortdesc"><span></span><span class="desc">Negates both halves of the input <tt class="ph tt code">half2</tt> number and returns the result. </span></dd> <dt><span class="member_type"><span class="keyword keyword apiItemName">__device__</span> __half2 </span><span class="member_name"><a href="#group__CUDA__MATH____HALF2__ARITHMETIC_1g83b37be9530a2438665257cf0324d15b" shape="rect">__hsub2</a> ( const __half2<span> </span><span class="keyword keyword apiItemName">a</span>, const __half2<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="shortdesc"><span></span><span class="desc">Performs <tt class="ph tt code">half2</tt> vector subtraction in round-to-nearest-even mode. </span></dd> <dt><span class="member_type"><span class="keyword keyword apiItemName">__device__</span> __half2 </span><span class="member_name"><a href="#group__CUDA__MATH____HALF2__ARITHMETIC_1g678acfc121db91143d3b5f355ab3bd95" shape="rect">__hsub2_sat</a> ( const __half2<span> </span><span class="keyword keyword apiItemName">a</span>, const __half2<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="shortdesc"><span></span><span class="desc">Performs <tt class="ph tt code">half2</tt> vector subtraction in round-to-nearest-even mode, with saturation to [0.0, 1.0]. </span></dd> </dl> <div class="description"> <h3 class="sectiontitle">Functions</h3> <dl class="description"> <dt class="description"><a name="group__CUDA__MATH____HALF2__ARITHMETIC_1g1ed66b23eb6467bf3640c81df7af6131" id="group__CUDA__MATH____HALF2__ARITHMETIC_1g1ed66b23eb6467bf3640c81df7af6131" shape="rect"> <!-- --></a><span><span class="keyword keyword apiItemName">__device__</span> __half2 __hadd2 ( const __half2<span> </span><span class="keyword keyword apiItemName">a</span>, const __half2<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="description"> <div class="section">Performs <tt class="ph tt code">half2</tt> vector addition in round-to-nearest-even mode. </div> <div class="section"> <h6 class="parameter_header"> Parameters </h6> <dl class="table-display-params"> <dt><tt class="code"><span class="keyword keyword apiItemName">a</span></tt></dt> <dd>- half2. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">b</span></tt></dt> <dd>- half2. Is only being read.</dd> </dl> </div> <div class="section"> <h6 class="return_header">Returns</h6> <p class="return">half2 <ul> <li>The <p class="p">sum of vectors <tt class="ph tt code">a</tt> and <tt class="ph tt code">b</tt>. </p> </li> </ul> </p> </div> <div class="section"> <h6 class="description_header">Description</h6> <p>Performs <tt class="ph tt code">half2</tt> vector add of inputs <tt class="ph tt code">a</tt> and <tt class="ph tt code">b</tt>, in round-to-nearest mode. DEEPLEARN-SRM_REQ-95 </p> <p class="p"></p> </div> </dd> <dt class="description"><a name="group__CUDA__MATH____HALF2__ARITHMETIC_1g0538a877f86451df528c353c6e1156bb" id="group__CUDA__MATH____HALF2__ARITHMETIC_1g0538a877f86451df528c353c6e1156bb" shape="rect"> <!-- --></a><span><span class="keyword keyword apiItemName">__device__</span> __half2 __hadd2_sat ( const __half2<span> </span><span class="keyword keyword apiItemName">a</span>, const __half2<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="description"> <div class="section">Performs <tt class="ph tt code">half2</tt> vector addition in round-to-nearest-even mode, with saturation to [0.0, 1.0]. </div> <div class="section"> <h6 class="parameter_header"> Parameters </h6> <dl class="table-display-params"> <dt><tt class="code"><span class="keyword keyword apiItemName">a</span></tt></dt> <dd>- half2. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">b</span></tt></dt> <dd>- half2. Is only being read.</dd> </dl> </div> <div class="section"> <h6 class="return_header">Returns</h6> <p class="return">half2 <ul> <li>The <p class="p">sum of <tt class="ph tt code">a</tt> and <tt class="ph tt code">b</tt>, with respect to saturation. </p> </li> </ul> </p> </div> <div class="section"> <h6 class="description_header">Description</h6> <p>Performs <tt class="ph tt code">half2</tt> vector add of inputs <tt class="ph tt code">a</tt> and <tt class="ph tt code">b</tt>, in round-to-nearest mode, and clamps the results to range [0.0, 1.0]. NaN results are flushed to +0.0. TBR </p> <p class="p"></p> </div> </dd> <dt class="description"><a name="group__CUDA__MATH____HALF2__ARITHMETIC_1g43628ba21ded8b1e188a367348008dab" id="group__CUDA__MATH____HALF2__ARITHMETIC_1g43628ba21ded8b1e188a367348008dab" shape="rect"> <!-- --></a><span><span class="keyword keyword apiItemName">__device__</span> __half2 __hfma2 ( const __half2<span> </span><span class="keyword keyword apiItemName">a</span>, const __half2<span> </span><span class="keyword keyword apiItemName">b</span>, const __half2<span> </span><span class="keyword keyword apiItemName">c</span> ) throw ( )</span></dt> <dd class="description"> <div class="section">Performs <tt class="ph tt code">half2</tt> vector fused multiply-add in round-to-nearest-even mode. </div> <div class="section"> <h6 class="parameter_header"> Parameters </h6> <dl class="table-display-params"> <dt><tt class="code"><span class="keyword keyword apiItemName">a</span></tt></dt> <dd>- half2. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">b</span></tt></dt> <dd>- half2. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">c</span></tt></dt> <dd>- half2. Is only being read.</dd> </dl> </div> <div class="section"> <h6 class="return_header">Returns</h6> <p class="return">half2 <ul> <li>The <p class="p">result of elementwise fused multiply-add operation on vectors <tt class="ph tt code">a</tt>, <tt class="ph tt code">b</tt>, and <tt class="ph tt code">c</tt>. </p> </li> </ul> </p> </div> <div class="section"> <h6 class="description_header">Description</h6> <p>Performs <tt class="ph tt code">half2</tt> vector multiply on inputs <tt class="ph tt code">a</tt> and <tt class="ph tt code">b</tt>, then performs a <tt class="ph tt code">half2</tt> vector add of the result with <tt class="ph tt code">c</tt>, rounding the result once in round-to-nearest-even mode. DEEPLEARN-SRM_REQ-105 </p> <p class="p"></p> </div> </dd> <dt class="description"><a name="group__CUDA__MATH____HALF2__ARITHMETIC_1g7e8b3d4633a37543bbb6cc9010f47d36" id="group__CUDA__MATH____HALF2__ARITHMETIC_1g7e8b3d4633a37543bbb6cc9010f47d36" shape="rect"> <!-- --></a><span><span class="keyword keyword apiItemName">__device__</span> __half2 __hfma2_sat ( const __half2<span> </span><span class="keyword keyword apiItemName">a</span>, const __half2<span> </span><span class="keyword keyword apiItemName">b</span>, const __half2<span> </span><span class="keyword keyword apiItemName">c</span> ) throw ( )</span></dt> <dd class="description"> <div class="section">Performs <tt class="ph tt code">half2</tt> vector fused multiply-add in round-to-nearest-even mode, with saturation to [0.0, 1.0]. </div> <div class="section"> <h6 class="parameter_header"> Parameters </h6> <dl class="table-display-params"> <dt><tt class="code"><span class="keyword keyword apiItemName">a</span></tt></dt> <dd>- half2. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">b</span></tt></dt> <dd>- half2. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">c</span></tt></dt> <dd>- half2. Is only being read.</dd> </dl> </div> <div class="section"> <h6 class="return_header">Returns</h6> <p class="return">half2 <ul> <li>The <p class="p">result of elementwise fused multiply-add operation on vectors <tt class="ph tt code">a</tt>, <tt class="ph tt code">b</tt>, and <tt class="ph tt code">c</tt>, with respect to saturation. </p> </li> </ul> </p> </div> <div class="section"> <h6 class="description_header">Description</h6> <p>Performs <tt class="ph tt code">half2</tt> vector multiply on inputs <tt class="ph tt code">a</tt> and <tt class="ph tt code">b</tt>, then performs a <tt class="ph tt code">half2</tt> vector add of the result with <tt class="ph tt code">c</tt>, rounding the result once in round-to-nearest-even mode, and clamps the results to range [0.0, 1.0]. NaN results are flushed to +0.0. TBR </p> <p class="p"></p> </div> </dd> <dt class="description"><a name="group__CUDA__MATH____HALF2__ARITHMETIC_1gccece3396cadfbaa18883a1d28ba44b4" id="group__CUDA__MATH____HALF2__ARITHMETIC_1gccece3396cadfbaa18883a1d28ba44b4" shape="rect"> <!-- --></a><span><span class="keyword keyword apiItemName">__device__</span> __half2 __hmul2 ( const __half2<span> </span><span class="keyword keyword apiItemName">a</span>, const __half2<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="description"> <div class="section">Performs <tt class="ph tt code">half2</tt> vector multiplication in round-to-nearest-even mode. </div> <div class="section"> <h6 class="parameter_header"> Parameters </h6> <dl class="table-display-params"> <dt><tt class="code"><span class="keyword keyword apiItemName">a</span></tt></dt> <dd>- half2. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">b</span></tt></dt> <dd>- half2. Is only being read.</dd> </dl> </div> <div class="section"> <h6 class="return_header">Returns</h6> <p class="return">half2 <ul> <li>The <p class="p">result of elementwise multiplying the vectors <tt class="ph tt code">a</tt> and <tt class="ph tt code">b</tt>. </p> </li> </ul> </p> </div> <div class="section"> <h6 class="description_header">Description</h6> <p>Performs <tt class="ph tt code">half2</tt> vector multiplication of inputs <tt class="ph tt code">a</tt> and <tt class="ph tt code">b</tt>, in round-to-nearest-even mode. DEEPLEARN-SRM_REQ-102 </p> <p class="p"></p> </div> </dd> <dt class="description"><a name="group__CUDA__MATH____HALF2__ARITHMETIC_1g03ba1312a1e9d01fdd0db37799bef670" id="group__CUDA__MATH____HALF2__ARITHMETIC_1g03ba1312a1e9d01fdd0db37799bef670" shape="rect"> <!-- --></a><span><span class="keyword keyword apiItemName">__device__</span> __half2 __hmul2_sat ( const __half2<span> </span><span class="keyword keyword apiItemName">a</span>, const __half2<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="description"> <div class="section">Performs <tt class="ph tt code">half2</tt> vector multiplication in round-to-nearest-even mode, with saturation to [0.0, 1.0]. </div> <div class="section"> <h6 class="parameter_header"> Parameters </h6> <dl class="table-display-params"> <dt><tt class="code"><span class="keyword keyword apiItemName">a</span></tt></dt> <dd>- half2. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">b</span></tt></dt> <dd>- half2. Is only being read.</dd> </dl> </div> <div class="section"> <h6 class="return_header">Returns</h6> <p class="return">half2 <ul> <li>The <p class="p">result of elementwise multiplication of vectors <tt class="ph tt code">a</tt> and <tt class="ph tt code">b</tt>, with respect to saturation. </p> </li> </ul> </p> </div> <div class="section"> <h6 class="description_header">Description</h6> <p>Performs <tt class="ph tt code">half2</tt> vector multiplication of inputs <tt class="ph tt code">a</tt> and <tt class="ph tt code">b</tt>, in round-to-nearest-even mode, and clamps the results to range [0.0, 1.0]. NaN results are flushed to +0.0. TBR </p> <p class="p"></p> </div> </dd> <dt class="description"><a name="group__CUDA__MATH____HALF2__ARITHMETIC_1g67c6596ad65a8d9525909ad19a1fec4f" id="group__CUDA__MATH____HALF2__ARITHMETIC_1g67c6596ad65a8d9525909ad19a1fec4f" shape="rect"> <!-- --></a><span><span class="keyword keyword apiItemName">__device__</span> __half2 __hneg2 ( const __half2<span> </span><span class="keyword keyword apiItemName">a</span> ) throw ( )</span></dt> <dd class="description"> <div class="section">Negates both halves of the input <tt class="ph tt code">half2</tt> number and returns the result. </div> <div class="section"> <h6 class="parameter_header"> Parameters </h6> <dl class="table-display-params"> <dt><tt class="code"><span class="keyword keyword apiItemName">a</span></tt></dt> <dd>- half2. Is only being read.</dd> </dl> </div> <div class="section"> <h6 class="return_header">Returns</h6> <p class="return">half2 <ul> <li>Returns <p class="p"><tt class="ph tt code">a</tt> with both halves negated. </p> </li> </ul> </p> </div> <div class="section"> <h6 class="description_header">Description</h6> <p>Negates both halves of the input <tt class="ph tt code">half2</tt> number <tt class="ph tt code">a</tt> and returns the result. DEEPLEARN-SRM_REQ-101 </p> <p class="p"></p> </div> </dd> <dt class="description"><a name="group__CUDA__MATH____HALF2__ARITHMETIC_1g83b37be9530a2438665257cf0324d15b" id="group__CUDA__MATH____HALF2__ARITHMETIC_1g83b37be9530a2438665257cf0324d15b" shape="rect"> <!-- --></a><span><span class="keyword keyword apiItemName">__device__</span> __half2 __hsub2 ( const __half2<span> </span><span class="keyword keyword apiItemName">a</span>, const __half2<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="description"> <div class="section">Performs <tt class="ph tt code">half2</tt> vector subtraction in round-to-nearest-even mode. </div> <div class="section"> <h6 class="parameter_header"> Parameters </h6> <dl class="table-display-params"> <dt><tt class="code"><span class="keyword keyword apiItemName">a</span></tt></dt> <dd>- half2. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">b</span></tt></dt> <dd>- half2. Is only being read.</dd> </dl> </div> <div class="section"> <h6 class="return_header">Returns</h6> <p class="return">half2 <ul> <li>The <p class="p">subtraction of vector <tt class="ph tt code">b</tt> from <tt class="ph tt code">a</tt>. </p> </li> </ul> </p> </div> <div class="section"> <h6 class="description_header">Description</h6> <p>Subtracts <tt class="ph tt code">half2</tt> input vector <tt class="ph tt code">b</tt> from input vector <tt class="ph tt code">a</tt> in round-to-nearest-even mode. DEEPLEARN-SRM_REQ-104 </p> <p class="p"></p> </div> </dd> <dt class="description"><a name="group__CUDA__MATH____HALF2__ARITHMETIC_1g678acfc121db91143d3b5f355ab3bd95" id="group__CUDA__MATH____HALF2__ARITHMETIC_1g678acfc121db91143d3b5f355ab3bd95" shape="rect"> <!-- --></a><span><span class="keyword keyword apiItemName">__device__</span> __half2 __hsub2_sat ( const __half2<span> </span><span class="keyword keyword apiItemName">a</span>, const __half2<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="description"> <div class="section">Performs <tt class="ph tt code">half2</tt> vector subtraction in round-to-nearest-even mode, with saturation to [0.0, 1.0]. </div> <div class="section"> <h6 class="parameter_header"> Parameters </h6> <dl class="table-display-params"> <dt><tt class="code"><span class="keyword keyword apiItemName">a</span></tt></dt> <dd>- half2. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">b</span></tt></dt> <dd>- half2. Is only being read.</dd> </dl> </div> <div class="section"> <h6 class="return_header">Returns</h6> <p class="return">half2 <ul> <li>The <p class="p">subtraction of vector <tt class="ph tt code">b</tt> from <tt class="ph tt code">a</tt>, with respect to saturation. </p> </li> </ul> </p> </div> <div class="section"> <h6 class="description_header">Description</h6> <p>Subtracts <tt class="ph tt code">half2</tt> input vector <tt class="ph tt code">b</tt> from input vector <tt class="ph tt code">a</tt> in round-to-nearest-even mode, and clamps the results to range [0.0, 1.0]. NaN results are flushed to +0.0. TBR </p> <p class="p"></p> </div> </dd> </dl> </div> </div> <hr id="contents-end"></hr> </article> </div> </div> <script language="JavaScript" type="text/javascript" charset="utf-8" src="../common/formatting/common.min.js"></script> <script language="JavaScript" type="text/javascript" charset="utf-8" src="../common/scripts/google-analytics/google-analytics-write.js"></script> <script language="JavaScript" type="text/javascript" charset="utf-8" src="../common/scripts/google-analytics/google-analytics-tracker.js"></script> <script type="text/javascript">var switchTo5x=true;</script><script type="text/javascript" src="http://w.sharethis.com/button/buttons.js"></script><script type="text/javascript">stLight.options({publisher: "998dc202-a267-4d8e-bce9-14debadb8d92", doNotHash: false, doNotCopy: false, hashAddressBar: false});</script><script type="text/javascript">_satellite.pageBottom();</script></body> </html>