<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle19
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">LGTM!<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">It seems may be the mathcalls.h have some small difference. Actually there is three types of isnan here:
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">One is the #define isnan in math.h included by cmath<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Another is std::isnan in cmath<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">The last one that are missing here is from mathcalls.h
<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:.5in"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">#if defined __USE_MISC || defined __USE_XOPEN<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:.5in"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">/* Return nonzero if VALUE is not a number.  */<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:.5in"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">__MATHDECL_1 (int,isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Here in Ubuntu, we used this isnan in this case, but in general the std::isnan should be used.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">You can have a look at your mathcalls.h and __USE_MISC, __USE_XOPEN to figure out what is happening!<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Thanks!<o:p></o:p></span></p>
<p class="MsoNormal"><a name="_MailEndCompose"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></a></p>
<p class="MsoNormal"><a name="_____replyseparator"></a><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Beignet [mailto:beignet-bounces@lists.freedesktop.org]
<b>On Behalf Of </b>Sean Lynch<br>
<b>Sent:</b> Tuesday, March 29, 2016 2:20 PM<br>
<b>To:</b> Pan, Xiuli <xiuli.pan@intel.com><br>
<b>Cc:</b> beignet@lists.freedesktop.org<br>
<b>Subject:</b> [Beignet] [PATCH] Prepend std namespace to isnan and isinf calls.<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Signed-off-by: Sean Lynch <<a href="mailto:seanl@literati.org">seanl@literati.org</a>><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">---<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> utests/builtin_acos_asin.cpp | 12 ++++++------<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> utests/builtin_exp.cpp       | 12 ++++++------<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> utests/builtin_pow.cpp       | 12 ++++++------<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> utests/builtin_tgamma.cpp    |  4 ++--<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> utests/compiler_half.cpp     |  4 ++--<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> utests/compiler_math.cpp     |  8 ++++----<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> utests/compiler_math_2op.cpp |  8 ++++----<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> utests/compiler_math_3op.cpp |  8 ++++----<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> utests/utest_generator.py    | 20 ++++++++++----------<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> utests/utest_math_gen.py     |  4 ++--<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> 10 files changed, 46 insertions(+), 46 deletions(-)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">diff --git a/utests/builtin_acos_asin.cpp b/utests/builtin_acos_asin.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">index 0187226..395460b 100644<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">--- a/utests/builtin_acos_asin.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+++ b/utests/builtin_acos_asin.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">@@ -59,10 +59,10 @@ static void builtin_acos_asin(void)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       index_cur = k * max_function + i;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> #if udebug<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-      if (isinf(cpu_data[index_cur]) && !isinf(gpu_data[index_cur])){<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+      if (std::isinf(cpu_data[index_cur]) && !std::isinf(gpu_data[index_cur])){<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         printf_c("%d/%d: %f -> gpu:%f  cpu:%f\n", k, i, input_data[k], gpu_data[index_cur], cpu_data[index_cur]);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-      else if (isnan(cpu_data[index_cur]) && !isnan(gpu_data[index_cur])){<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+      else if (std::isnan(cpu_data[index_cur]) && !std::isnan(gpu_data[index_cur])){<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         printf_c("%d/%d: %f -> gpu:%f  cpu:%f\n", k, i, input_data[k], gpu_data[index_cur], cpu_data[index_cur]);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       else if(fabs(gpu_data[index_cur] - cpu_data[index_cur]) > 1e-3f){<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">@@ -71,10 +71,10 @@ static void builtin_acos_asin(void)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       else<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         printf("%d/%d: %f -> gpu:%f  cpu:%f\n", k, i, input_data[k], gpu_data[index_cur], cpu_data[index_cur]);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> #else<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-     if (isinf(cpu_data[index_cur]))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-       OCL_ASSERT(isinf(gpu_data[index_cur]));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-     else if (isnan(cpu_data[index_cur]))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-       OCL_ASSERT(isnan(gpu_data[index_cur]));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+     if (std::isinf(cpu_data[index_cur]))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+       OCL_ASSERT(std::isinf(gpu_data[index_cur]));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+     else if (std::isnan(cpu_data[index_cur]))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+       OCL_ASSERT(std::isnan(gpu_data[index_cur]));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">      else<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">      {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        OCL_ASSERT(fabs(gpu_data[index_cur] - cpu_data[index_cur]) < 1e-3f);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">diff --git a/utests/builtin_exp.cpp b/utests/builtin_exp.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">index d5288c8..406d223 100644<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">--- a/utests/builtin_exp.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+++ b/utests/builtin_exp.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">@@ -71,10 +71,10 @@ static void builtin_exp(void)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">          diff/gpu_data[index_cur], 3 * FLT_ULP);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> #if udebug<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-      if (isinf(cpu_data[index_cur]) && isinf(gpu_data[index_cur])){<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+      if (std::isinf(cpu_data[index_cur]) && std::isinf(gpu_data[index_cur])){<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         printf(log);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-      else if (isnan(cpu_data[index_cur]) && isnan(gpu_data[index_cur])){<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+      else if (std::isnan(cpu_data[index_cur]) && std::isnan(gpu_data[index_cur])){<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         printf(log);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       else if( diff / cpu_data[index_cur] < 3 * FLT_ULP \<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">@@ -86,10 +86,10 @@ static void builtin_exp(void)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       else<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         printf_c(log);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> #else<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-      if (isinf(cpu_data[index_cur]))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-        OCL_ASSERTM(isinf(gpu_data[index_cur]), log);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-      else if (isnan(cpu_data[index_cur]))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-        OCL_ASSERTM(isnan(gpu_data[index_cur]), log);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+      if (std::isinf(cpu_data[index_cur]))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+        OCL_ASSERTM(std::isinf(gpu_data[index_cur]), log);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+      else if (std::isnan(cpu_data[index_cur]))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+        OCL_ASSERTM(std::isnan(gpu_data[index_cur]), log);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       else if ( gpu_data[index_cur] > FLT_ULP || cpu_data[index_cur] > FLT_ULP)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         OCL_ASSERTM(fabs( diff / cpu_data[index_cur]) < 3 * FLT_ULP, log);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       else<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">diff --git a/utests/builtin_pow.cpp b/utests/builtin_pow.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">index f586448..21fa895 100644<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">--- a/utests/builtin_pow.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+++ b/utests/builtin_pow.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">@@ -74,8 +74,8 @@ static void builtin_pow(void)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       index_cur = k * max_function + i;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> #if udebug<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-      if ( (isinf(cpu_data[index_cur]) && !isinf(gpu_data[index_cur])) ||<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-           (isnan(cpu_data[index_cur]) && !isnan(gpu_data[index_cur])) ||<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+      if ( (std::isinf(cpu_data[index_cur]) && !std::isinf(gpu_data[index_cur])) ||<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+           (std::isnan(cpu_data[index_cur]) && !std::isnan(gpu_data[index_cur])) ||<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">            (fabs(gpu_data[index_cur] - cpu_data[index_cur]) > cl_FLT_ULP(cpu_data[index_cur]) * ULPSIZE_FACTOR<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">            && (denormals_supported || gpu_data[index_cur]!=0 || std::fpclassify(cpu_data[index_cur])!=FP_SUBNORMAL) ) )<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">@@ -85,10 +85,10 @@ static void builtin_pow(void)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       else<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         printf("%d/%d: x:%f, y:%f -> gpu:%f  cpu:%f\n", k, i, input_data1[k], input_data2[k], gpu_data[index_cur], cpu_data[index_cur]);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> #else<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-     if (isinf(cpu_data[index_cur]))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-       OCL_ASSERT(isinf(gpu_data[index_cur]));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-     else if (isnan(cpu_data[index_cur]))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-       OCL_ASSERT(isnan(gpu_data[index_cur]));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+     if (std::isinf(cpu_data[index_cur]))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+       OCL_ASSERT(std::isinf(gpu_data[index_cur]));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+     else if (std::isnan(cpu_data[index_cur]))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+       OCL_ASSERT(std::isnan(gpu_data[index_cur]));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">      else<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">      {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        OCL_ASSERT((fabs(gpu_data[index_cur] - cpu_data[index_cur]) < cl_FLT_ULP(cpu_data[index_cur]) * ULPSIZE_FACTOR) ||<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">diff --git a/utests/builtin_tgamma.cpp b/utests/builtin_tgamma.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">index db9ab3c..204f49e 100644<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">--- a/utests/builtin_tgamma.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+++ b/utests/builtin_tgamma.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">@@ -43,8 +43,8 @@ void builtin_tgamma(void)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         max_ulp = fabsf(cpu - dst[i]) / cl_FLT_ULP(cpu);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         max_ulp_at = src[i];<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-      if (isinf(cpu)) {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-        OCL_ASSERT(isinf(dst[i]));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+      if (std::isinf(cpu)) {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+        OCL_ASSERT(std::isinf(dst[i]));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       } else if (fabsf(cpu - dst[i]) >= cl_FLT_ULP(cpu) * ULPSIZE_FACTOR) {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         printf("%f %f %f\n", src[i], cpu, dst[i]);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         OCL_ASSERT(0);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">diff --git a/utests/compiler_half.cpp b/utests/compiler_half.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">index d486193..194c308 100644<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">--- a/utests/compiler_half.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+++ b/utests/compiler_half.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">@@ -236,7 +236,7 @@ static float half_test_src[half_n] = {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       OCL_ASSERT(((fabs(fdst[i]) < 6e-8f) && (fabs(f) < 6e-8f)) ||      \<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">                  (fabs(f - fdst[i]) <= 0.03 * fabs(fdst[i])) ||         \<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">                  (isInf && ((infSign && fdst[i] > 65504.0f) || (!infSign && fdst[i] < -65504.0f))) || \<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-                 (isnan(f) && isnan(fdst[i])));                         \<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+                 (std::isnan(f) && std::isnan(fdst[i])));                         \<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     }                                                                   \<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     OCL_UNMAP_BUFFER(1);                                                \<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   }                                                                     \<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">@@ -310,7 +310,7 @@ HALF_MATH_TEST_1ARG(ceil, ceilf);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     OCL_ASSERT(((fabs(fdst[i]) < 6e-8f) && (fabs(f) < 6e-8f)) ||        \<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">                (fabs(f - fdst[i]) <= 0.03 * fabs(fdst[i])) ||           \<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">                (isInf && ((infSign && fdst[i] > 65504.0f) || (!infSign && fdst[i] < -65504.0f))) || \<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-               (isnan(f) && isnan(fdst[i])));                           \<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+               (std::isnan(f) && std::isnan(fdst[i])));                           \<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     }                                                                   \<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     OCL_UNMAP_BUFFER(2);                                                \<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   }                                                                     \<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">diff --git a/utests/compiler_math.cpp b/utests/compiler_math.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">index e0c4487..0c238c9 100644<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">--- a/utests/compiler_math.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+++ b/utests/compiler_math.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">@@ -72,10 +72,10 @@ static void compiler_math(void)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     for (int i = 0; i < 16; ++i) {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       const float cpu = cpu_dst[i];<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       const float gpu = ((float*)buf_data[0])[i];<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-      if (isinf(cpu))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-        OCL_ASSERT(isinf(gpu));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-      else if (isnan(cpu))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-        OCL_ASSERT(isnan(gpu));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+      if (std::isinf(cpu))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+        OCL_ASSERT(std::isinf(gpu));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+      else if (std::isnan(cpu))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+        OCL_ASSERT(std::isnan(gpu));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       else<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         OCL_ASSERT(fabs(gpu-cpu) < 1e-3f);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">diff --git a/utests/compiler_math_2op.cpp b/utests/compiler_math_2op.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">index 454967d..d771dba 100644<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">--- a/utests/compiler_math_2op.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+++ b/utests/compiler_math_2op.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">@@ -65,10 +65,10 @@ static void compiler_math_2op(void)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     for (int i = 0; i < 16; ++i) {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       const float cpu = cpu_dst[i];<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       const float gpu = ((float*)buf_data[0])[i];<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-      if (isinf(cpu))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-        OCL_ASSERT(isinf(gpu));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-      else if (isnan(cpu))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-        OCL_ASSERT(isnan(gpu));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+      if (std::isinf(cpu))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+        OCL_ASSERT(std::isinf(gpu));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+      else if (std::isnan(cpu))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+        OCL_ASSERT(std::isnan(gpu));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       else {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         OCL_ASSERT(fabs(gpu-cpu) < 1e-3f);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">diff --git a/utests/compiler_math_3op.cpp b/utests/compiler_math_3op.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">index a382b0a..f90f9d6 100644<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">--- a/utests/compiler_math_3op.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+++ b/utests/compiler_math_3op.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">@@ -50,10 +50,10 @@ static void compiler_math_3op(void)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     for (int i = 0; i < 16; ++i) {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       const float cpu = cpu_dst[i];<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       const float gpu = ((float*)buf_data[0])[i];<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-      if (isinf(cpu))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-        OCL_ASSERT(isinf(gpu));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-      else if (isnan(cpu))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-        OCL_ASSERT(isnan(gpu));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+      if (std::isinf(cpu))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+        OCL_ASSERT(std::isinf(gpu));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+      else if (std::isnan(cpu))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+        OCL_ASSERT(std::isnan(gpu));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       else<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         OCL_ASSERT(fabs(gpu-cpu) < 1e-3f);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">diff --git a/utests/utest_generator.py b/utests/utest_generator.py<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">index 91cc938..2ab908e 100644<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">--- a/utests/utest_generator.py<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+++ b/utests/utest_generator.py<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">@@ -112,10 +112,10 @@ def udebug(ulpSize,returnType,function):<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     ULPSIZE_FACTOR = select_ulpsize(ULPSIZE_FAST_MATH,ULPSIZE_NO_FAST_MATH);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     bool fast_math = ULPSIZE_FACTOR == ULPSIZE_FAST_MATH;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-    if (isinf(cpu_data[index])){<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+    if (std::isinf(cpu_data[index])){<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       INFORNAN="INF";<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-    else if (isnan(cpu_data[index])){<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+    else if (std::isnan(cpu_data[index])){<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       INFORNAN="NAN";<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     else{<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">@@ -124,14 +124,14 @@ def udebug(ulpSize,returnType,function):<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> #if udebug <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-    if (isinf(cpu_data[index])){ <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-      if (isinf(gpu_data[index]))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+    if (std::isinf(cpu_data[index])){ <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+      if (std::isinf(gpu_data[index]))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         printf("%s expect:%s\\n", log, INFORNAN);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       else<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         printf_c("%s expect:%s\\n", log, INFORNAN);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-    else if (isnan(cpu_data[index])){<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-      if (isnan(gpu_data[index]))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+    else if (std::isnan(cpu_data[index])){<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+      if (std::isnan(gpu_data[index]))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         printf("%s expect:%s\\n", log, INFORNAN);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       else<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         printf_c("%s expect:%s\\n", log, INFORNAN);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">@@ -142,13 +142,13 @@ def udebug(ulpSize,returnType,function):<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     else<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       printf_c("%s expect:%s\\n", log, ULPSIZE);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> #else<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-    if (isinf(cpu_data[index])){<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+    if (std::isinf(cpu_data[index])){<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       sprintf(log, "%s expect:%s\\n", log, INFORNAN);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-      OCL_ASSERTM(isinf(gpu_data[index]) || fast_math,log);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+      OCL_ASSERTM(std::isinf(gpu_data[index]) || fast_math,log);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-    else if (isnan(cpu_data[index])){<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+    else if (std::isnan(cpu_data[index])){<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       sprintf(log, "%s expect:%s\\n", log, INFORNAN);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-      OCL_ASSERTM(isnan(gpu_data[index]) || fast_math,log);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+      OCL_ASSERTM(std::isnan(gpu_data[index]) || fast_math,log);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     else{<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">       sprintf(log, "%s expect:%s\\n", log, ULPSIZE);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">diff --git a/utests/utest_math_gen.py b/utests/utest_math_gen.py<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">index eca6c87..ac70979 100755<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">--- a/utests/utest_math_gen.py<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+++ b/utests/utest_math_gen.py<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">@@ -490,9 +490,9 @@ static float powr(float x, float y){<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         return 1;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     else if ((x == +INFINITY) && (y == 0.0f))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         return NAN;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-    else if (isnan(x) || (x < 0))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+    else if (std::isnan(x) || (x < 0))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         return NAN;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-    else if ((x >=  0) && (isnan(y)))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+    else if ((x >=  0) && (std::isnan(y)))<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         return NAN;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     else<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">         return powf(x,y);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-- <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2.7.4<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</body>
</html>