Tinker9 70bd052 (Thu Nov 9 12:11:35 2023 -0800)
Loading...
Searching...
No Matches
copysign.h
1#pragma once
2
3namespace tinker {
8__device__
9inline int intCopysignShift(int a, int b)
10{
11 int mask = (a ^ b) >> 31;
12 return (mask + a) ^ mask;
13}
14
17__device__
18inline int intCopysignIf(int a, int b)
19{
20 int ans = abs(a);
21 if (b < 0) ans = -ans;
22 return ans;
23}
24
28#define INT_COPYSIGN intCopysignShift
29}
__device__ int intCopysignIf(int a, int b)
If b < 0, returns -abs(a), otherwise, returns abs(a).
Definition: copysign.h:18
__device__ int intCopysignShift(int a, int b)
If b < 0, returns -abs(a), otherwise, returns abs(a). Similar to the 32-bit integer version of Fortra...
Definition: copysign.h:9
Definition: testrt.h:9