precompute log2(e)
Kind of a freebie. No interesting change in test case precision.
Change-Id: Ib26ddc5de31f0a456c2c41d92bb457ccdeb12e93
Reviewed-on: https://skia-review.googlesource.com/c/skcms/+/247725
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/skcms.cc b/skcms.cc
index 2cb92ba..4a4fc47 100644
--- a/skcms.cc
+++ b/skcms.cc
@@ -104,8 +104,8 @@
}
static float expf_(float x) {
- // TODO: can do better than this...
- return powf_(2.7182818284590452354f, x);
+ const float log2_e = 1.4426950408889634074f;
+ return exp2f_(log2_e * x);
}
static float fmaxf_(float x, float y) { return x > y ? x : y; }