31
31
namespace OCLV {
32
32
class OpenCLVersion {
33
33
protected:
34
- unsigned int major ;
35
- unsigned int minor ;
34
+ unsigned int ocl_major ;
35
+ unsigned int ocl_minor ;
36
36
37
37
public:
38
- OpenCLVersion () : major (0 ), minor (0 ) {}
38
+ OpenCLVersion () : ocl_major (0 ), ocl_minor (0 ) {}
39
39
40
- OpenCLVersion (unsigned int major , unsigned int minor )
41
- : major(major ), minor(minor ) {
40
+ OpenCLVersion (unsigned int ocl_major , unsigned int ocl_minor )
41
+ : ocl_major(ocl_major ), ocl_minor(ocl_minor ) {
42
42
if (!isValid ())
43
- major = minor = 0 ;
43
+ ocl_major = ocl_minor = 0 ;
44
44
}
45
45
46
46
OpenCLVersion (const char *version) : OpenCLVersion(std::string(version)) {}
47
47
48
- OpenCLVersion (const std::string &version) : major (0 ), minor (0 ) {
48
+ OpenCLVersion (const std::string &version) : ocl_major (0 ), ocl_minor (0 ) {
49
49
/* The OpenCL specification defines the full version string as
50
- * 'OpenCL<space><major_version.minor_version ><space><platform-specific
50
+ * 'OpenCL<space><ocl_major_version.ocl_minor_version ><space><platform-specific
51
51
* information>' for platforms and as
52
- * 'OpenCL<space><major_version.minor_version ><space><vendor-specific
52
+ * 'OpenCL<space><ocl_major_version.ocl_minor_version ><space><vendor-specific
53
53
* information>' for devices.
54
54
*/
55
55
std::regex rx (" OpenCL ([0-9]+)\\ .([0-9]+)" );
56
56
std::smatch match;
57
57
58
58
if (std::regex_search (version, match, rx) && (match.size () == 3 )) {
59
- major = strtoul (match[1 ].str ().c_str (), nullptr , 10 );
60
- minor = strtoul (match[2 ].str ().c_str (), nullptr , 10 );
59
+ ocl_major = strtoul (match[1 ].str ().c_str (), nullptr , 10 );
60
+ ocl_minor = strtoul (match[2 ].str ().c_str (), nullptr , 10 );
61
61
62
62
if (!isValid ())
63
- major = minor = 0 ;
63
+ ocl_major = ocl_minor = 0 ;
64
64
}
65
65
}
66
66
67
67
bool operator ==(const OpenCLVersion &v) const {
68
- return major == v.major && minor == v.minor ;
68
+ return ocl_major == v.ocl_major && ocl_minor == v.ocl_minor ;
69
69
}
70
70
71
71
bool operator !=(const OpenCLVersion &v) const { return !(*this == v); }
72
72
73
73
bool operator <(const OpenCLVersion &v) const {
74
- if (major == v.major )
75
- return minor < v.minor ;
74
+ if (ocl_major == v.ocl_major )
75
+ return ocl_minor < v.ocl_minor ;
76
76
77
- return major < v.major ;
77
+ return ocl_major < v.ocl_major ;
78
78
}
79
79
80
80
bool operator >(const OpenCLVersion &v) const { return v < *this ; }
@@ -88,21 +88,21 @@ class OpenCLVersion {
88
88
}
89
89
90
90
bool isValid () const {
91
- switch (major ) {
91
+ switch (ocl_major ) {
92
92
case 0 :
93
93
return false ;
94
94
case 1 :
95
95
case 2 :
96
- return minor <= 2 ;
96
+ return ocl_minor <= 2 ;
97
97
case UINT_MAX:
98
98
return false ;
99
99
default :
100
- return minor != UINT_MAX;
100
+ return ocl_minor != UINT_MAX;
101
101
}
102
102
}
103
103
104
- int getMajor () const { return major ; }
105
- int getMinor () const { return minor ; }
104
+ int getMajor () const { return ocl_major ; }
105
+ int getMinor () const { return ocl_minor ; }
106
106
};
107
107
108
108
inline const OpenCLVersion V1_0 (1 , 0 );
0 commit comments