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/level1/xrotg.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::kSingle)) {
19 case clblast::Precision::kHalf: throw std::runtime_error("Unsupported precision mode");
20 case clblast::Precision::kSingle:
21 clblast::RunClient<clblast::TestXrotg<float>, float, float>(argc, argv); break;
22 case clblast::Precision::kDouble:
23 clblast::RunClient<clblast::TestXrotg<double>, double, double>(argc, argv); break;
24 case clblast::Precision::kComplexSingle: throw std::runtime_error("Unsupported precision mode");
25 case clblast::Precision::kComplexDouble: throw std::runtime_error("Unsupported precision mode");
26 }
27 return 0;
28 }
29
30 // =================================================================================================
31