diff options
author | Soumith Chintala <soumith@gmail.com> | 2017-01-06 19:06:02 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-06 19:06:02 +0300 |
commit | f624ae98624d4e356eebee00ddcd3e721c90f7ba (patch) | |
tree | 597ba9d30d4c82772bfc1e18f7b9418b7a8c5324 | |
parent | 319a4234d17912a3453c462e1d48b3d03cfece0e (diff) | |
parent | c5bf47ab40c64835a828bc581892cafe522b49ba (diff) |
Merge pull request #899 from gchanan/TensorCopyHalf
Fix THHalf issues with MSVC.
-rw-r--r-- | lib/TH/generic/THTensorCopy.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/TH/generic/THTensorCopy.c b/lib/TH/generic/THTensorCopy.c index d7228f6..3d243e3 100644 --- a/lib/TH/generic/THTensorCopy.c +++ b/lib/TH/generic/THTensorCopy.c @@ -4,7 +4,7 @@ void THTensor_(copy)(THTensor *tensor, THTensor *src) { - TH_TENSOR_APPLY2(real, tensor, real, src, *tensor_data = (real)(*src_data);) + TH_TENSOR_APPLY2(real, tensor, real, src, *tensor_data = *src_data;) } #define IMPLEMENT_THTensor_COPY(TYPENAMESRC, TYPE_SRC) \ @@ -25,6 +25,12 @@ void THTensor_(copy##TYPENAMESRC)(THTensor *tensor, TH##TYPENAMESRC##Tensor *src TH_TENSOR_APPLY2(real, tensor, TYPE_SRC, src, *tensor_data = (real)TH_half2float(*src_data);) \ } +#define IMPLEMENT_THTensor_COPY_TO_FROM_HALF(TYPENAMESRC, TYPE_SRC) \ +void THTensor_(copy##TYPENAMESRC)(THTensor *tensor, TH##TYPENAMESRC##Tensor *src) \ +{ \ + TH_TENSOR_APPLY2(real, tensor, TYPE_SRC, src, *tensor_data = *src_data;) \ +} + #ifndef TH_REAL_IS_HALF IMPLEMENT_THTensor_COPY(Byte, unsigned char) IMPLEMENT_THTensor_COPY(Char, char) @@ -36,7 +42,7 @@ IMPLEMENT_THTensor_COPY(Double, double) IMPLEMENT_THTensor_COPY_FROM_HALF(Half, THHalf) #else /* only allow pass-through for Half */ -IMPLEMENT_THTensor_COPY(Half, THHalf) +IMPLEMENT_THTensor_COPY_TO_FROM_HALF(Half, THHalf) IMPLEMENT_THTensor_COPY_TO_HALF(Byte, unsigned char) IMPLEMENT_THTensor_COPY_TO_HALF(Char, char) IMPLEMENT_THTensor_COPY_TO_HALF(Short, short) |