Switch to FreeBSD's actual sincos.
Before:
BM_math_sin_fast 48 ns 48 ns 14693053
BM_math_sincos 61 ns 61 ns 11470219
After:
BM_math_sin_fast 48 ns 48 ns 14725120
BM_math_sincos 43 ns 43 ns 16329843
Bug: N/A
Test: ran tests, benchmarks
Change-Id: I8693c64135233c0641af5302c38748f47ac76737
diff --git a/benchmarks/math_benchmark.cpp b/benchmarks/math_benchmark.cpp
index 2e54202..ccb3555 100644
--- a/benchmarks/math_benchmark.cpp
+++ b/benchmarks/math_benchmark.cpp
@@ -220,3 +220,13 @@
SetLabel(state);
}
BIONIC_BENCHMARK_WITH_ARG(BM_math_fabs, "MATH_COMMON");
+
+static void BM_math_sincos(benchmark::State& state) {
+ d = 1.0;
+ while (state.KeepRunning()) {
+ double s, c;
+ sincos(d, &s, &c);
+ d += s + c;
+ }
+}
+BIONIC_BENCHMARK(BM_math_sincos);