[beignet] 03/04: Add pow-powr-tests.patch

Rebecca Palmer rnpalmer-guest at moszumanska.debian.org
Wed Sep 28 20:27:09 UTC 2016


This is an automated email from the git hooks/post-receive script.

rnpalmer-guest pushed a commit to branch master
in repository beignet.

commit 6bda8840dccb17eb6506aea39153e1ba64e300b4
Author: Rebecca N. Palmer <rebecca_palmer at zoho.com>
Date:   Wed Sep 28 19:58:32 2016 +0100

    Add pow-powr-tests.patch
---
 debian/changelog                    |  1 +
 debian/patches/pow-powr-tests.patch | 43 +++++++++++++++++++++++++++++++++++++
 debian/patches/series               |  1 +
 3 files changed, 45 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index cd587f2..b4e067f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ beignet (1.2.0-2) UNRELEASED; urgency=medium
 
   * Fix FTBFS on kfreebsd-*.
   * Make tests work with Python 3 and switch back to it.
+  * Add pow-powr-tests.patch.
 
  -- Rebecca N. Palmer <rebecca_palmer at zoho.com>  Sun, 25 Sep 2016 21:58:07 +0100
 
diff --git a/debian/patches/pow-powr-tests.patch b/debian/patches/pow-powr-tests.patch
new file mode 100644
index 0000000..aa7b99a
--- /dev/null
+++ b/debian/patches/pow-powr-tests.patch
@@ -0,0 +1,43 @@
+Description: test pow, not powr, on negative x
+
+powr(x,y) is explicitly undefined for negative x; on my hardware,
+it happens to be correct in default mode, but acts like pow(abs(x),y)
+in fast (OCL_STRICT_CONFORMANCE=0) mode, failing the test
+
+Author: Rebecca N. Palmer <rebecca_palmer at zoho.com>
+Forwarded: https://lists.freedesktop.org/archives/beignet/2016-September/008009.html
+
+--- beignet-1.2.0.orig/utests/utest_math_gen.py
++++ beignet-1.2.0/utests/utest_math_gen.py
+@@ -447,14 +447,20 @@ static float minmag(float x, float y){
+   nextafterUtests = func('nextafter','nextafterf',[nextafter_input_type1,nextafter_input_type2],nextafter_output_type,[nextafter_input_values1,nextafter_input_values2],'0 * FLT_ULP')
+   
+   ##### gentype pow(gentype x, gentype y)
+-  pow_base_values = base_input_values1
++  pow_base_values = [80, -80, 3.14, -3.14, 0.5, 1, -3,-4,2,0.0,-0.0,1500.24,-1500.24]
+   pow_input_values1 = []
+   pow_input_values2 = []
+   pow_input_values1,pow_input_values2=gene2ValuesLoop(pow_input_values1,pow_input_values2,pow_base_values)
+   pow_input_type1 = ['float','float2','float4','float8','float16']
+   pow_input_type2 = ['float','float2','float4','float8','float16']
+   pow_output_type = ['float','float2','float4','float8','float16']
+-  powUtests = func('pow','powf',[pow_input_type1,pow_input_type2],pow_output_type,[pow_input_values1,pow_input_values2],'16 * FLT_ULP')
++  pow_cpu_func='''
++static float pow_utest(float x, float y){
++    if ((x == 0.0f) && (y == -INFINITY))
++        return INFINITY;
++    return pow(x,y);
++} '''
++  powUtests = func('pow','pow_utest',[pow_input_type1,pow_input_type2],pow_output_type,[pow_input_values1,pow_input_values2],'16 * FLT_ULP',pow_cpu_func)
+   
+   ##### floatn pown(floatn x, intn y)
+   pown_input_values1 = [FLT_MAX_POSI,FLT_MIN_NEGA,FLT_MIN_POSI,FLT_MAX_NEGA,80, -80, 3.14, -3.14, 0.5, 1, 0.0,1500.24,-1500.24]
+@@ -469,7 +475,7 @@ static float pown(float x, int y){
+   pownUtests = func('pown','pown',[pown_input_type1,pown_input_type2],pown_output_type,[pown_input_values1,pown_input_values2],'16 * FLT_ULP', pown_cpu_func)
+   
+   ##### gentype powr(gentype x, gentype y)
+-  powr_input_values1 = [80, -80, 3.14, 1, 1.257, +0.0, -0.0, +0.0, -0.0, +0.0, -0.0, +1, +1, -80, +0.0, -0.0, +0.0, -0.0, 'INFINITY','INFINITY', +1, +1, +0.0, 2.5,' NAN', 'NAN', 'NAN']
++  powr_input_values1 = [80, 80, 3.14, 1, 1.257, +0.0, -0.0, +0.0, -0.0, +0.0, -0.0, +1, +1, 80, +0.0, -0.0, +0.0, -0.0, 'INFINITY','INFINITY', +1, +1, +0.0, 2.5,' NAN', 'NAN', 'NAN']
+   powr_input_values2 = [5.5, 6,7, +0.0, -0.0, -1, -15.67, '-INFINITY', '-INFINITY', 1,  -2.7, 10.5, 3.1415, 3.5, -0.0, -0.0, +0.0, +0.0, +0.0, -0.0, 'INFINITY', '-INFINITY', 'NAN', 'NAN', -1.5, +0.0, 1.5]
+   powr_input_type1 = ['float','float2','float4','float8','float16']
+   powr_input_type2 = ['float','float2','float4','float8','float16']
diff --git a/debian/patches/series b/debian/patches/series
index 827d2df..176aa1a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -9,3 +9,4 @@ find-python35.patch
 docs-broken-links.patch
 cl_accelerator_intel.patch
 support-python3.patch
+pow-powr-tests.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-opencl/beignet.git



More information about the Pkg-opencl-commits mailing list