diff --git a/src/device_functions.cpp b/src/device_functions.cpp index 63425bc9f4..6f91e3c939 100644 --- a/src/device_functions.cpp +++ b/src/device_functions.cpp @@ -23,6 +23,27 @@ THE SOFTWARE. #include #include "device_util.h" +struct holder64Bit{ + union{ + double d; + unsigned long int uli; + signed long int sli; + signed int si[2]; + unsigned int ui[2]; + }; +} __attribute__((aligned(8))); + +struct holder32Bit { + union { + float f; + unsigned int ui; + signed int si; + }; +} __attribute__((aligned(4))); + +__device__ struct holder64Bit hold64; +__device__ struct holder32Bit hold32; + __device__ float __double2float_rd(double x) { return (double)x;