add more data types

This commit is contained in:
tqchen
2015-01-12 20:45:07 -08:00
parent 5a457d69fc
commit 61626aaf85
4 changed files with 33 additions and 6 deletions

View File

@@ -51,7 +51,7 @@ struct Sum;
struct BitOR;
} // namespace op
/*!
* \brief intialize the rabit module, call this once function before using anything
* \brief intialize the rabit module, call this once before using anything
* \param argc number of arguments in argv
* \param argv the array of input arguments
*/

View File

@@ -146,14 +146,21 @@ IEngine *GetEngine(void);
namespace mpi {
/*!\brief enum of all operators */
enum OpType {
kMax, kMin, kSum, kBitwiseOR
kMax = 0,
kMin = 1,
kSum = 2,
kBitwiseOR = 3
};
/*!\brief enum of supported data types */
enum DataType {
kInt,
kUInt,
kDouble,
kFloat
kChar = 0,
kUChar = 1,
kInt = 2,
kUInt = 3,
kLong = 4,
kULong = 5,
kFloat = 6,
kDouble = 7
};
} // namespace mpi
/*!

View File

@@ -18,6 +18,14 @@ namespace mpi {
template<typename DType>
inline DataType GetType(void);
template<>
inline DataType GetType<char>(void) {
return kChar;
}
template<>
inline DataType GetType<unsigned char>(void) {
return kUChar;
}
template<>
inline DataType GetType<int>(void) {
return kInt;
}
@@ -26,6 +34,14 @@ inline DataType GetType<unsigned>(void) {
return kUInt;
}
template<>
inline DataType GetType<long>(void) {
return kLong;
}
template<>
inline DataType GetType<unsigned long>(void) {
return kULong;
}
template<>
inline DataType GetType<float>(void) {
return kFloat;
}