Mesa (master): gallivm: Fix lp_build_exp2 order 4-5 polynomial coefficients and bump order.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Sat Jul 23 01:52:32 UTC 2011


Module: Mesa
Branch: master
Commit: af82ff556cdd748f9f6b0d60d53afaaf369b1c5b
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=af82ff556cdd748f9f6b0d60d53afaaf369b1c5b

Author: José Fonseca <jfonseca at vmware.com>
Date:   Wed Jul 20 14:53:08 2011 -0700

gallivm: Fix lp_build_exp2 order 4-5 polynomial coefficients and bump order.

Not sure how I computed these, but they were wrong (which explains why
bumping the polynomial order before never improved precision).

This allows to pass the EXP test cases of PSPrecision/VSPrecision DCTs.

---

 src/gallium/auxiliary/gallivm/lp_bld_arit.c |   24 ++++++++++++------------
 1 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_arit.c b/src/gallium/auxiliary/gallivm/lp_bld_arit.c
index fce4685..0c075ba 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_arit.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_arit.c
@@ -61,7 +61,7 @@
 #include "lp_bld_arit.h"
 
 
-#define EXP_POLY_DEGREE 3
+#define EXP_POLY_DEGREE 5
 
 #define LOG_POLY_DEGREE 5
 
@@ -2218,18 +2218,18 @@ lp_build_polynomial(struct lp_build_context *bld,
  */
 const double lp_build_exp2_polynomial[] = {
 #if EXP_POLY_DEGREE == 5
-   0.999999999690134838155,
-   0.583974334321735217258,
-   0.164553105719676828492,
-   0.0292811063701710962255,
-   0.00354944426657875141846,
-   0.000296253726543423377365
+   0.999999925063526176901,
+   0.693153073200168932794,
+   0.240153617044375388211,
+   0.0558263180532956664775,
+   0.00898934009049466391101,
+   0.00187757667519147912699
 #elif EXP_POLY_DEGREE == 4
-   1.00000001502262084505,
-   0.563586057338685991394,
-   0.150436017652442413623,
-   0.0243220604213317927308,
-   0.0025359088446580436489
+   1.00000259337069434683,
+   0.693003834469974940458,
+   0.24144275689150793076,
+   0.0520114606103070150235,
+   0.0135341679161270268764
 #elif EXP_POLY_DEGREE == 3
    0.999925218562710312959,
    0.695833540494823811697,




More information about the mesa-commit mailing list