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