64 else if (inbits >= outbits) {
66 return c >> (inbits - outbits);
70 return (
c << (outbits - inbits)) |
convert(
c, inbits, outbits - inbits);
84 while ((
mask & 1) == 0) {
90 while ((
mask & 1) == 1) {
100 i =
convert(i, inbits, outbits);
108 uint i = offset +
uint(f * (
float(1 << inbits) - 1));
109 i =
convert(i, inbits, outbits);
118 inline float quantizeRound(
float f,
int bits)
120 float scale =
float(1 << bits);
121 return fround(f * scale) / scale;
124 inline float quantizeFloor(
float f,
int bits)
126 float scale =
float(1 << bits);
127 return floor(f * scale) / scale;
typedef float(TangentPoint)[2]
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
ccl_device_inline float2 floor(const float2 &a)
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)