From 265c3b224e251ecbb5b5be5e45b3ee792f2036af Mon Sep 17 00:00:00 2001 From: Maneesh Gupta Date: Thu, 23 Nov 2017 09:57:24 +0530 Subject: [PATCH] Fix float2int rounding functions Change-Id: I67943859a6344c5eec0eaa23418c9b802ef72468 --- src/device_functions.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) 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;