From 0c093941791f94eb2274933b9004e04599633079 Mon Sep 17 00:00:00 2001 From: Hans-Christian Ebke Date: Thu, 19 Nov 2015 20:08:36 +0100 Subject: [PATCH] Added two more benchmarks. --- src/Benchmark/VectorT.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/Benchmark/VectorT.cpp b/src/Benchmark/VectorT.cpp index b8330d0a..855fe6e2 100644 --- a/src/Benchmark/VectorT.cpp +++ b/src/Benchmark/VectorT.cpp @@ -42,3 +42,33 @@ static void ASSEMBLE(BMPREFIX, Vec3d_add_compare)(benchmark::State& state) { } MYBENCHMARK (ASSEMBLE(BMPREFIX, Vec3d_add_compare)); + +static void ASSEMBLE(BMPREFIX, Vec3d_cross_product)(benchmark::State& state) { + OpenMesh::Vec3d v1(0, 0, 0); + OpenMesh::Vec3d v2(1000, 1000, 1000); + while (state.KeepRunning()) { + v1 += OpenMesh::Vec3d(1.1, 1.2, 1.3); + v2 -= OpenMesh::Vec3d(1.1, 1.2, 1.3); + if ((v1 % v2) == (v2 % v1)) { + v1 -= v2; + v2 += v1; + } + } +} + +MYBENCHMARK (ASSEMBLE(BMPREFIX, Vec3d_cross_product)); + +static void ASSEMBLE(BMPREFIX, Vec3d_scalar_product)(benchmark::State& state) { + OpenMesh::Vec3d v1(0, 0, 0); + OpenMesh::Vec3d v2(1000, 1000, 1000); + while (state.KeepRunning()) { + v1 += OpenMesh::Vec3d(1.1, 1.2, 1.3); + v2 -= OpenMesh::Vec3d(1.1, 1.2, 1.3); + if ((v1 | v2) > 0) { + v1 -= v2; + v2 += v1; + } + } +} + +MYBENCHMARK (ASSEMBLE(BMPREFIX, Vec3d_scalar_product));