aboutsummaryrefslogtreecommitdiff
path: root/bench/tests/BenchVec3i.c
diff options
context:
space:
mode:
Diffstat (limited to 'bench/tests/BenchVec3i.c')
-rw-r--r--bench/tests/BenchVec3i.c108
1 files changed, 108 insertions, 0 deletions
diff --git a/bench/tests/BenchVec3i.c b/bench/tests/BenchVec3i.c
new file mode 100644
index 0000000..8e356f3
--- /dev/null
+++ b/bench/tests/BenchVec3i.c
@@ -0,0 +1,108 @@
+#include "BH/Bench.h"
+#include "BH/Math/Vec3i.h"
+
+
+static int vecA[3] = {1, 2, 3};
+static int vecB[3] = {4, -1, 5};
+static int vecC[3] = {2, 3, -1};
+static int vecOut[3];
+
+
+BH_BENCH_TEST(Add)
+{
+ while (BH_BenchIter(state))
+ {
+ BH_Vec3iAdd(vecA, vecB, vecOut);
+ BH_BenchDoNotOptimize(vecOut);
+ }
+}
+
+
+BH_BENCH_TEST(Sub)
+{
+ while (BH_BenchIter(state))
+ {
+ BH_Vec3iSub(vecA, vecB, vecOut);
+ BH_BenchDoNotOptimize(vecOut);
+ }
+}
+
+
+BH_BENCH_TEST(Mul)
+{
+ while (BH_BenchIter(state))
+ {
+ BH_Vec3iMul(vecA, vecB, vecOut);
+ BH_BenchDoNotOptimize(vecOut);
+ }
+}
+
+
+BH_BENCH_TEST(Scale)
+{
+ int scalar = 3;
+
+ while (BH_BenchIter(state))
+ {
+ BH_Vec3iScale(vecA, scalar, vecOut);
+ BH_BenchDoNotOptimize(vecOut);
+ }
+}
+
+
+BH_BENCH_TEST(MulAdd)
+{
+ while (BH_BenchIter(state))
+ {
+ BH_Vec3iMulAdd(vecA, vecB, vecC, vecOut);
+ BH_BenchDoNotOptimize(vecOut);
+ }
+}
+
+
+BH_BENCH_TEST(Negate)
+{
+ while (BH_BenchIter(state))
+ {
+ BH_Vec3iNegate(vecA, vecOut);
+ BH_BenchDoNotOptimize(vecOut);
+ }
+}
+
+
+BH_BENCH_TEST(Min)
+{
+ while (BH_BenchIter(state))
+ {
+ BH_Vec3iMin(vecA, vecB, vecOut);
+ BH_BenchDoNotOptimize(vecOut);
+ }
+}
+
+
+BH_BENCH_TEST(Max)
+{
+ while (BH_BenchIter(state))
+ {
+ BH_Vec3iMax(vecA, vecB, vecOut);
+ BH_BenchDoNotOptimize(vecOut);
+ }
+}
+
+
+int main(int argc, char **argv)
+{
+ BH_UNUSED(argc);
+ BH_UNUSED(argv);
+
+ BH_BENCH_ADD(Add);
+ BH_BENCH_ADD(Sub);
+ BH_BENCH_ADD(Mul);
+ BH_BENCH_ADD(Scale);
+ BH_BENCH_ADD(MulAdd);
+ BH_BENCH_ADD(Negate);
+ BH_BENCH_ADD(Min);
+ BH_BENCH_ADD(Max);
+
+ return BH_BenchRun();
+}