1 
2 // =================================================================================================
3 // This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
4 // project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
5 // width of 100 characters per line.
6 //
7 // Author(s):
8 //   Cedric Nugteren <www.cedricnugteren.nl>
9 //
10 // =================================================================================================
11 
12 #include "test/performance/client.hpp"
13 #include "test/routines/level3/xher2k.hpp"
14 
15 // Main function (not within the clblast namespace)
main(int argc,char * argv[])16 int main(int argc, char *argv[]) {
17   const auto command_line_args = clblast::RetrieveCommandLineArguments(argc, argv);
18   switch(clblast::GetPrecision(command_line_args, clblast::Precision::kComplexSingle)) {
19     case clblast::Precision::kHalf: throw std::runtime_error("Unsupported precision mode");
20     case clblast::Precision::kSingle: throw std::runtime_error("Unsupported precision mode");
21     case clblast::Precision::kDouble: throw std::runtime_error("Unsupported precision mode");
22     case clblast::Precision::kComplexSingle:
23       clblast::RunClient<clblast::TestXher2k<clblast::float2,float>, clblast::float2, float>(argc, argv); break;
24     case clblast::Precision::kComplexDouble:
25       clblast::RunClient<clblast::TestXher2k<clblast::double2,double>, clblast::double2, double>(argc, argv); break;
26   }
27   return 0;
28 }
29 
30 // =================================================================================================
31