C++: in value_scalar replaced cl types by stdint types

This commit is contained in:
Philippe Tillet
2015-05-04 19:05:32 -04:00
parent 4a44361e06
commit 5cdbef7b4e
2 changed files with 106 additions and 106 deletions

View File

@@ -30,14 +30,14 @@ void value_scalar::init(T const & s)
#define INSTANTIATE(CLTYPE, ADTYPE) value_scalar::value_scalar(CLTYPE value, numeric_type dtype) : dtype_(dtype) { init(value); }
INSTANTIATE(cl_char, CHAR_TYPE)
INSTANTIATE(cl_uchar, UCHAR_TYPE)
INSTANTIATE(cl_short, SHORT_TYPE)
INSTANTIATE(cl_ushort, USHORT_TYPE)
INSTANTIATE(cl_int, INT_TYPE)
INSTANTIATE(cl_uint, UINT_TYPE)
INSTANTIATE(cl_long, LONG_TYPE)
INSTANTIATE(cl_ulong, ULONG_TYPE)
INSTANTIATE(int8_t, CHAR_TYPE)
INSTANTIATE(u_int8_t, UCHAR_TYPE)
INSTANTIATE(int16_t, SHORT_TYPE)
INSTANTIATE(u_int16_t, USHORT_TYPE)
INSTANTIATE(int32_t, INT_TYPE)
INSTANTIATE(u_int32_t, UINT_TYPE)
INSTANTIATE(int64_t, LONG_TYPE)
INSTANTIATE(u_int64_t, ULONG_TYPE)
INSTANTIATE(cl_float, FLOAT_TYPE)
INSTANTIATE(cl_double, DOUBLE_TYPE)
@@ -75,26 +75,26 @@ T value_scalar::cast() const
#define INSTANTIATE(type) value_scalar::operator type() const { return cast<type>(); }
INSTANTIATE(bool)
INSTANTIATE(cl_char)
INSTANTIATE(cl_uchar)
INSTANTIATE(cl_short)
INSTANTIATE(cl_ushort)
INSTANTIATE(cl_int)
INSTANTIATE(cl_uint)
INSTANTIATE(cl_long)
INSTANTIATE(cl_ulong)
INSTANTIATE(int8_t)
INSTANTIATE(u_int8_t)
INSTANTIATE(int16_t)
INSTANTIATE(u_int16_t)
INSTANTIATE(int32_t)
INSTANTIATE(u_int32_t)
INSTANTIATE(int64_t)
INSTANTIATE(u_int64_t)
INSTANTIATE(cl_float)
INSTANTIATE(cl_double)
#undef INSTANTIATE
value_scalar int8(cl_char v) { return value_scalar(v); }
value_scalar uint8(cl_uchar v) { return value_scalar(v); }
value_scalar int16(cl_short v) { return value_scalar(v); }
value_scalar uint16(cl_ushort v) { return value_scalar(v); }
value_scalar int32(cl_int v) { return value_scalar(v); }
value_scalar uint32(cl_uint v) { return value_scalar(v); }
value_scalar int64(cl_long v) { return value_scalar(v); }
value_scalar uint64(cl_ulong v) { return value_scalar(v); }
value_scalar int8(int8_t v) { return value_scalar(v); }
value_scalar uint8(u_int8_t v) { return value_scalar(v); }
value_scalar int16(int16_t v) { return value_scalar(v); }
value_scalar uint16(u_int16_t v) { return value_scalar(v); }
value_scalar int32(int32_t v) { return value_scalar(v); }
value_scalar uint32(u_int32_t v) { return value_scalar(v); }
value_scalar int64(int64_t v) { return value_scalar(v); }
value_scalar uint64(u_int64_t v) { return value_scalar(v); }
value_scalar float32(cl_float v) { return value_scalar(v); }
value_scalar float64(cl_double v) { return value_scalar(v); }
@@ -104,14 +104,14 @@ value_scalar NAME(LDEC, RDEC)\
{\
switch(x.dtype())\
{\
case CHAR_TYPE: return VALUE(cl_char, OP, x, y);\
case UCHAR_TYPE: return VALUE(cl_uchar, OP, x, y);\
case SHORT_TYPE: return VALUE(cl_short, OP, x, y);\
case USHORT_TYPE: return VALUE(cl_ushort, OP, x, y);\
case INT_TYPE: return VALUE(cl_int, OP, x, y);\
case UINT_TYPE: return VALUE(cl_uint, OP, x, y);\
case LONG_TYPE: return VALUE(cl_long, OP, x, y);\
case ULONG_TYPE: return VALUE(cl_ulong, OP, x, y);\
case CHAR_TYPE: return VALUE(int8_t, OP, x, y);\
case UCHAR_TYPE: return VALUE(u_int8_t, OP, x, y);\
case SHORT_TYPE: return VALUE(int16_t, OP, x, y);\
case USHORT_TYPE: return VALUE(u_int16_t, OP, x, y);\
case INT_TYPE: return VALUE(int32_t, OP, x, y);\
case UINT_TYPE: return VALUE(u_int32_t, OP, x, y);\
case LONG_TYPE: return VALUE(int64_t, OP, x, y);\
case ULONG_TYPE: return VALUE(u_int64_t, OP, x, y);\
case FLOAT_TYPE: return VALUE(cl_float, OP, x, y);\
case DOUBLE_TYPE: return VALUE(cl_double, OP, x, y);\
default: throw unknown_datatype(x.dtype());\
@@ -119,24 +119,24 @@ value_scalar NAME(LDEC, RDEC)\
}
#define INSTANTIATE_ALL(NAME, EXPR)\
INSTANTIATE(NAME, value_scalar const & x, cl_char y, EXPR)\
INSTANTIATE(NAME, value_scalar const & x, cl_uchar y, EXPR)\
INSTANTIATE(NAME, value_scalar const & x, cl_short y, EXPR)\
INSTANTIATE(NAME, value_scalar const & x, cl_ushort y, EXPR)\
INSTANTIATE(NAME, value_scalar const & x, cl_int y, EXPR)\
INSTANTIATE(NAME, value_scalar const & x, cl_uint y, EXPR)\
INSTANTIATE(NAME, value_scalar const & x, cl_long y, EXPR)\
INSTANTIATE(NAME, value_scalar const & x, cl_ulong y, EXPR)\
INSTANTIATE(NAME, value_scalar const & x, int8_t y, EXPR)\
INSTANTIATE(NAME, value_scalar const & x, u_int8_t y, EXPR)\
INSTANTIATE(NAME, value_scalar const & x, int16_t y, EXPR)\
INSTANTIATE(NAME, value_scalar const & x, u_int16_t y, EXPR)\
INSTANTIATE(NAME, value_scalar const & x, int32_t y, EXPR)\
INSTANTIATE(NAME, value_scalar const & x, u_int32_t y, EXPR)\
INSTANTIATE(NAME, value_scalar const & x, int64_t y, EXPR)\
INSTANTIATE(NAME, value_scalar const & x, u_int64_t y, EXPR)\
INSTANTIATE(NAME, value_scalar const & x, cl_float y, EXPR)\
INSTANTIATE(NAME, value_scalar const & x, cl_double y, EXPR)\
INSTANTIATE(NAME, cl_char y, value_scalar const & x, EXPR)\
INSTANTIATE(NAME, cl_uchar y, value_scalar const & x, EXPR)\
INSTANTIATE(NAME, cl_short y, value_scalar const & x, EXPR)\
INSTANTIATE(NAME, cl_ushort y, value_scalar const & x, EXPR)\
INSTANTIATE(NAME, cl_int y, value_scalar const & x, EXPR)\
INSTANTIATE(NAME, cl_uint y, value_scalar const & x, EXPR)\
INSTANTIATE(NAME, cl_long y, value_scalar const & x, EXPR)\
INSTANTIATE(NAME, cl_ulong y, value_scalar const & x, EXPR)\
INSTANTIATE(NAME, int8_t y, value_scalar const & x, EXPR)\
INSTANTIATE(NAME, u_int8_t y, value_scalar const & x, EXPR)\
INSTANTIATE(NAME, int16_t y, value_scalar const & x, EXPR)\
INSTANTIATE(NAME, u_int16_t y, value_scalar const & x, EXPR)\
INSTANTIATE(NAME, int32_t y, value_scalar const & x, EXPR)\
INSTANTIATE(NAME, u_int32_t y, value_scalar const & x, EXPR)\
INSTANTIATE(NAME, int64_t y, value_scalar const & x, EXPR)\
INSTANTIATE(NAME, u_int64_t y, value_scalar const & x, EXPR)\
INSTANTIATE(NAME, cl_float y, value_scalar const & x, EXPR)\
INSTANTIATE(NAME, cl_double y, value_scalar const & x, EXPR)
@@ -167,14 +167,14 @@ std::ostream & operator<<(std::ostream & os, value_scalar const & s)
{
switch(s.dtype())
{
case CHAR_TYPE: return os << static_cast<cl_char>(s);
case UCHAR_TYPE: return os << static_cast<cl_uchar>(s);
case SHORT_TYPE: return os << static_cast<cl_short>(s);
case USHORT_TYPE: return os << static_cast<cl_ushort>(s);
case INT_TYPE: return os << static_cast<cl_int>(s);
case UINT_TYPE: return os << static_cast<cl_uint>(s);
case LONG_TYPE: return os << static_cast<cl_long>(s);
case ULONG_TYPE: return os << static_cast<cl_ulong>(s);
case CHAR_TYPE: return os << static_cast<int8_t>(s);
case UCHAR_TYPE: return os << static_cast<u_int8_t>(s);
case SHORT_TYPE: return os << static_cast<int16_t>(s);
case USHORT_TYPE: return os << static_cast<u_int16_t>(s);
case INT_TYPE: return os << static_cast<int32_t>(s);
case UINT_TYPE: return os << static_cast<u_int32_t>(s);
case LONG_TYPE: return os << static_cast<int64_t>(s);
case ULONG_TYPE: return os << static_cast<u_int64_t>(s);
case FLOAT_TYPE: return os << static_cast<cl_float>(s);
case DOUBLE_TYPE: return os << static_cast<cl_double>(s);
default: throw unknown_datatype(s.dtype());;