summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@gmail.com>2013-09-10 14:23:17 -0400
committerErik Schnetter <schnetter@gmail.com>2013-09-10 14:23:17 -0400
commit8399a416b2b6d67aca303788afce1e97b47b205b (patch)
treee2390ca2e54b21757ba0d93751266835745a203e
parent80d472d7531d541d953adf94228e0555f38296fe (diff)
downloadvecmathlib-8399a416b2b6d67aca303788afce1e97b47b205b.zip
vecmathlib-8399a416b2b6d67aca303788afce1e97b47b205b.tar.gz
Use mad() instead of fma()
-rw-r--r--mathfuncs_asin.h54
-rw-r--r--mathfuncs_exp.h62
-rw-r--r--mathfuncs_log.h46
3 files changed, 81 insertions, 81 deletions
diff --git a/mathfuncs_asin.h b/mathfuncs_asin.h
index ea336de..c4e658c 100644
--- a/mathfuncs_asin.h
+++ b/mathfuncs_asin.h
@@ -50,45 +50,45 @@ namespace vecmathlib {
#ifdef VML_HAVE_FP_CONTRACT
// float, error=6.66422646286979497624922530951e-8
r = RV(+0.067880041389077294203913658751);
- r = fma(r, x2, RV(-0.133733063898947623461317627449));
- r = fma(r, x2, RV(+0.19911334683762018553047223812));
- r = fma(r, x2, RV(-0.333297629421461914979541552214));
- r = fma(r, x2, RV(0.99999959717590068040974191128));
+ r = mad(r, x2, RV(-0.133733063898947623461317627449));
+ r = mad(r, x2, RV(+0.19911334683762018553047223812));
+ r = mad(r, x2, RV(-0.333297629421461914979541552214));
+ r = mad(r, x2, RV(0.99999959717590068040974191128));
#else
// float, error=1.32698047768409645072438892571e-6
r = RV(-0.097792979486911722224672843246);
- r = fma(r, x2, RV(+0.192823203439066255014185816489));
- r = fma(r, x2, RV(-0.332894374801791377010848071499));
- r = fma(r, x2, RV(+0.99999272283064606320969693166));
+ r = mad(r, x2, RV(+0.192823203439066255014185816489));
+ r = mad(r, x2, RV(-0.332894374801791377010848071499));
+ r = mad(r, x2, RV(+0.99999272283064606320969693166));
#endif
break;
case 8:
#ifdef VML_HAVE_FP_CONTRACT
// double, error=7.23827307971781482562906889298e-17
r = RV(-0.0119268581772947474118625342812);
- r = fma(r, x2, RV(+0.0314136659341247717203573238714));
- r = fma(r, x2, RV(-0.0471488852137420698546535537847));
- r = fma(r, x2, RV(+0.057569335614537634720962389105));
- r = fma(r, x2, RV(-0.066469674694325315726074277265));
- r = fma(r, x2, RV(+0.076901807118525604168645555045));
- r = fma(r, x2, RV(-0.090907534052423738503603248332));
- r = fma(r, x2, RV(+0.111111036293577807846564325197));
- r = fma(r, x2, RV(-0.142857140628324608456323319753));
- r = fma(r, x2, RV(+0.199999999962771461194546102341));
- r = fma(r, x2, RV(-0.333333333333044876533973016233));
- r = fma(r, x2, RV(+0.9999999999999993386168118967));
+ r = mad(r, x2, RV(+0.0314136659341247717203573238714));
+ r = mad(r, x2, RV(-0.0471488852137420698546535537847));
+ r = mad(r, x2, RV(+0.057569335614537634720962389105));
+ r = mad(r, x2, RV(-0.066469674694325315726074277265));
+ r = mad(r, x2, RV(+0.076901807118525604168645555045));
+ r = mad(r, x2, RV(-0.090907534052423738503603248332));
+ r = mad(r, x2, RV(+0.111111036293577807846564325197));
+ r = mad(r, x2, RV(-0.142857140628324608456323319753));
+ r = mad(r, x2, RV(+0.199999999962771461194546102341));
+ r = mad(r, x2, RV(-0.333333333333044876533973016233));
+ r = mad(r, x2, RV(+0.9999999999999993386168118967));
#else
// double, error=2.55716065822130171460427941931e-14
r = RV(-0.0181544668501977245345114956236);
- r = fma(r, x2, RV(+0.0437292245148812058302877081114));
- r = fma(r, x2, RV(-0.062544339168176953821092935889));
- r = fma(r, x2, RV(+0.076201106915857900897507167054));
- r = fma(r, x2, RV(-0.090827503061359848291718661563));
- r = fma(r, x2, RV(+0.11110526662726539375601075137));
- r = fma(r, x2, RV(-0.142856889699649116820344831251));
- r = fma(r, x2, RV(+0.199999993955745494607716573019));
- r = fma(r, x2, RV(-0.333333333267116176139371545145));
- r = fma(r, x2, RV(+0.99999999999978652742783656623));
+ r = mad(r, x2, RV(+0.0437292245148812058302877081114));
+ r = mad(r, x2, RV(-0.062544339168176953821092935889));
+ r = mad(r, x2, RV(+0.076201106915857900897507167054));
+ r = mad(r, x2, RV(-0.090827503061359848291718661563));
+ r = mad(r, x2, RV(+0.11110526662726539375601075137));
+ r = mad(r, x2, RV(-0.142856889699649116820344831251));
+ r = mad(r, x2, RV(+0.199999993955745494607716573019));
+ r = mad(r, x2, RV(-0.333333333267116176139371545145));
+ r = mad(r, x2, RV(+0.99999999999978652742783656623));
#endif
break;
default:
diff --git a/mathfuncs_exp.h b/mathfuncs_exp.h
index a8aed3f..a615db1 100644
--- a/mathfuncs_exp.h
+++ b/mathfuncs_exp.h
@@ -38,49 +38,49 @@ namespace vecmathlib {
#ifdef VML_HAVE_FP_CONTRACT
// float, error=4.55549108005200277750378992345e-9
r = RV(0.000154653240842602623787395880898);
- r = fma(r, x, RV(0.00133952915439234389712105060319));
- r = fma(r, x, RV(0.0096180399118156827664944870552));
- r = fma(r, x, RV(0.055503406540531310853149866446));
- r = fma(r, x, RV(0.240226511015459465468737123346));
- r = fma(r, x, RV(0.69314720007380208630542805293));
- r = fma(r, x, RV(0.99999999997182023878745628977));
+ r = mad(r, x, RV(0.00133952915439234389712105060319));
+ r = mad(r, x, RV(0.0096180399118156827664944870552));
+ r = mad(r, x, RV(0.055503406540531310853149866446));
+ r = mad(r, x, RV(0.240226511015459465468737123346));
+ r = mad(r, x, RV(0.69314720007380208630542805293));
+ r = mad(r, x, RV(0.99999999997182023878745628977));
#else
// float, error=1.62772721960621336664735896836e-7
r = RV(0.00133952915439234389712105060319);
- r = fma(r, x, RV(0.009670773148229417605024318985));
- r = fma(r, x, RV(0.055503406540531310853149866446));
- r = fma(r, x, RV(0.240222115700585316818177639177));
- r = fma(r, x, RV(0.69314720007380208630542805293));
- r = fma(r, x, RV(1.00000005230745711373079206024));
+ r = mad(r, x, RV(0.009670773148229417605024318985));
+ r = mad(r, x, RV(0.055503406540531310853149866446));
+ r = mad(r, x, RV(0.240222115700585316818177639177));
+ r = mad(r, x, RV(0.69314720007380208630542805293));
+ r = mad(r, x, RV(1.00000005230745711373079206024));
#endif
break;
case 8:
#ifdef VML_HAVE_FP_CONTRACT
// double, error=9.32016781355638010975628074746e-18
r = RV(4.45623165388261696886670014471e-10);
- r = fma(r, x, RV(7.0733589360775271430968224806e-9));
- r = fma(r, x, RV(1.01780540270960163558119510246e-7));
- r = fma(r, x, RV(1.3215437348041505269462510712e-6));
- r = fma(r, x, RV(0.000015252733849766201174247690629));
- r = fma(r, x, RV(0.000154035304541242555115696403795));
- r = fma(r, x, RV(0.00133335581463968601407096905671));
- r = fma(r, x, RV(0.0096181291075949686712855561931));
- r = fma(r, x, RV(0.055504108664821672870565883052));
- r = fma(r, x, RV(0.240226506959101382690753994082));
- r = fma(r, x, RV(0.69314718055994530864272481773));
- r = fma(r, x, RV(0.9999999999999999978508676375));
+ r = mad(r, x, RV(7.0733589360775271430968224806e-9));
+ r = mad(r, x, RV(1.01780540270960163558119510246e-7));
+ r = mad(r, x, RV(1.3215437348041505269462510712e-6));
+ r = mad(r, x, RV(0.000015252733849766201174247690629));
+ r = mad(r, x, RV(0.000154035304541242555115696403795));
+ r = mad(r, x, RV(0.00133335581463968601407096905671));
+ r = mad(r, x, RV(0.0096181291075949686712855561931));
+ r = mad(r, x, RV(0.055504108664821672870565883052));
+ r = mad(r, x, RV(0.240226506959101382690753994082));
+ r = mad(r, x, RV(0.69314718055994530864272481773));
+ r = mad(r, x, RV(0.9999999999999999978508676375));
#else
// double, error=3.74939899823302048807873981077e-14
r = RV(1.02072375599725694063203809188e-7);
- r = fma(r, x, RV(1.32573274434801314145133004073e-6));
- r = fma(r, x, RV(0.0000152526647170731944840736190013));
- r = fma(r, x, RV(0.000154034441925859828261898614555));
- r = fma(r, x, RV(0.00133335582175770747495287552557));
- r = fma(r, x, RV(0.0096181291794939392517233403183));
- r = fma(r, x, RV(0.055504108664525029438908798685));
- r = fma(r, x, RV(0.240226506957026959772247598695));
- r = fma(r, x, RV(0.6931471805599487321347668143));
- r = fma(r, x, RV(1.00000000000000942892870993489));
+ r = mad(r, x, RV(1.32573274434801314145133004073e-6));
+ r = mad(r, x, RV(0.0000152526647170731944840736190013));
+ r = mad(r, x, RV(0.000154034441925859828261898614555));
+ r = mad(r, x, RV(0.00133335582175770747495287552557));
+ r = mad(r, x, RV(0.0096181291794939392517233403183));
+ r = mad(r, x, RV(0.055504108664525029438908798685));
+ r = mad(r, x, RV(0.240226506957026959772247598695));
+ r = mad(r, x, RV(0.6931471805599487321347668143));
+ r = mad(r, x, RV(1.00000000000000942892870993489));
#endif
break;
default:
diff --git a/mathfuncs_log.h b/mathfuncs_log.h
index 0a40eec..53b5f94 100644
--- a/mathfuncs_log.h
+++ b/mathfuncs_log.h
@@ -34,41 +34,41 @@ namespace vecmathlib {
#ifdef VML_HAVE_FP_CONTRACT
// float, error=5.98355642684398209498469870525e-9
r = RV(0.410981538282433293325329456838);
- r = fma(r, y2, RV(0.402155483172044562892705980539));
- r = fma(r, y2, RV(0.57755014627178237959721643293));
- r = fma(r, y2, RV(0.96178780600659929206930296869));
- r = fma(r, y2, RV(2.88539012786343587248965772685));
+ r = mad(r, y2, RV(0.402155483172044562892705980539));
+ r = mad(r, y2, RV(0.57755014627178237959721643293));
+ r = mad(r, y2, RV(0.96178780600659929206930296869));
+ r = mad(r, y2, RV(2.88539012786343587248965772685));
#else
//flaot, error=2.25468184051947656525068987795e-7
r = RV(0.498866687070343238590910977481);
- r = fma(r, y2, RV(0.57002741193682764193895550312));
- r = fma(r, y2, RV(0.96200215034262628756932169194));
- r = fma(r, y2, RV(2.88538850388042106595516956395));
+ r = mad(r, y2, RV(0.57002741193682764193895550312));
+ r = mad(r, y2, RV(0.96200215034262628756932169194));
+ r = mad(r, y2, RV(2.88538850388042106595516956395));
#endif
break;
case 8:
#ifdef VML_HAVE_FP_CONTRACT
// double, error=9.45037202901655672811489051683e-17
r = RV(0.259935726478127940817401224248);
- r = fma(r, y2, RV(0.140676370079882918464564658472));
- r = fma(r, y2, RV(0.196513478841924000569879320851));
- r = fma(r, y2, RV(0.221596471338300882039273355617));
- r = fma(r, y2, RV(0.262327298560598641020007602127));
- r = fma(r, y2, RV(0.320598261015170101859472461613));
- r = fma(r, y2, RV(0.412198595799726905825871956187));
- r = fma(r, y2, RV(0.57707801621733949207376840932));
- r = fma(r, y2, RV(0.96179669392666302667713134701));
- r = fma(r, y2, RV(2.88539008177792581277410991327));
+ r = mad(r, y2, RV(0.140676370079882918464564658472));
+ r = mad(r, y2, RV(0.196513478841924000569879320851));
+ r = mad(r, y2, RV(0.221596471338300882039273355617));
+ r = mad(r, y2, RV(0.262327298560598641020007602127));
+ r = mad(r, y2, RV(0.320598261015170101859472461613));
+ r = mad(r, y2, RV(0.412198595799726905825871956187));
+ r = mad(r, y2, RV(0.57707801621733949207376840932));
+ r = mad(r, y2, RV(0.96179669392666302667713134701));
+ r = mad(r, y2, RV(2.88539008177792581277410991327));
#else
// double, error=1.21820548287702216975532695788e-13
r = RV(0.293251364683280430617251942017);
- r = fma(r, y2, RV(0.201364223624519571276587631354));
- r = fma(r, y2, RV(0.264443947645547871780098560836));
- r = fma(r, y2, RV(0.320475051320227723946459855458));
- r = fma(r, y2, RV(0.412202612052105347480086431555));
- r = fma(r, y2, RV(0.57707794741938820005328259256));
- r = fma(r, y2, RV(0.96179669445173881282808321929));
- r = fma(r, y2, RV(2.88539008177676567117601117274));
+ r = mad(r, y2, RV(0.201364223624519571276587631354));
+ r = mad(r, y2, RV(0.264443947645547871780098560836));
+ r = mad(r, y2, RV(0.320475051320227723946459855458));
+ r = mad(r, y2, RV(0.412202612052105347480086431555));
+ r = mad(r, y2, RV(0.57707794741938820005328259256));
+ r = mad(r, y2, RV(0.96179669445173881282808321929));
+ r = mad(r, y2, RV(2.88539008177676567117601117274));
#endif
break;
default:
OpenPOWER on IntegriCloud