blob: 99452f85e01c554aae87d2db7bc72e2b7c2a9678 [file] [log] [blame]
/*
* Copyright 2024 Valve Corporation
* Copyright 2023 Alyssa Rosenzweig
* SPDX-License-Identifier: MIT
*/
#pragma once
#ifndef __OPENCL_VERSION__
#error "should only be included from OpenCL"
#endif
#define CL_FLT_EPSILON 1.1920928955078125e-7f
/* OpenCL C lacks roundf and llroundf, we can emulate it */
static inline float roundf(float x)
{
return trunc(x + copysign(0.5f - 0.25f * CL_FLT_EPSILON, x));
}
static inline long long llroundf(float x)
{
return roundf(x);
}
static inline long lrintf(float x)
{
return (long)roundf(x);
}
static inline float fabsf(float x)
{
return fabs(x);
}