mirror of
https://github.com/orange-cpp/omath.git
synced 2026-02-13 15:03:27 +00:00
23 lines
847 B
C++
23 lines
847 B
C++
//
|
|
// Created by Vlad on 9/18/2025.
|
|
//
|
|
#include <benchmark/benchmark.h>
|
|
#include <omath/omath.hpp>
|
|
using namespace omath;
|
|
|
|
using namespace omath::projectile_prediction;
|
|
|
|
constexpr float simulation_time_step = 1.f / 1000.f;
|
|
constexpr float hit_distance_tolerance = 5.f;
|
|
|
|
void source_engine_projectile_prediction(benchmark::State& state)
|
|
{
|
|
constexpr Target target{.m_origin = {100, 0, 90}, .m_velocity = {0, 0, 0}, .m_is_airborne = false};
|
|
constexpr Projectile projectile = {.m_origin = {3, 2, 1}, .m_launch_speed = 5000, .m_gravity_scale = 0.4};
|
|
|
|
for ([[maybe_unused]] const auto _: state)
|
|
std::ignore = ProjPredEngineLegacy(400, simulation_time_step, 50, hit_distance_tolerance)
|
|
.maybe_calculate_aim_point(projectile, target);
|
|
}
|
|
|
|
BENCHMARK(source_engine_projectile_prediction)->Iterations(10'000); |