text: /*
  Copyright (c) 2017-2020,
  Battelle Memorial Institute; Lawrence Livermore National Security, LLC; Alliance for Sustainable
  Energy, LLC.  See the top-level NOTICE for additional details. All rights reserved.
  SPDX-License-Identifier: BSD-3-Clause
  */
  #pragma once
  
  #include "helics_benchmark_util.h"
  
  #include <benchmark/benchmark.h>
  #include <iostream>
  
  // Helper macro to create a main routine in a test that runs the benchmarks
  #define HELICS_BENCHMARK_MAIN(label)                                                               \
      int main(int argc, char** argv)                                                                \
      {                                                                                              \
          ::benchmark::Initialize(&argc, argv);                                                      \
          if (::benchmark::ReportUnrecognizedArguments(argc, argv)) return 1;                        \
          std::cout << "HELICS_BENCHMARK: " << #label << '\n';                                       \
          printHELICSsystemInfo();                                                                   \
          ::benchmark::RunSpecifiedBenchmarks();                                                     \
      }                                                                                              \
      int main(int, char**)
  