Skip to content

Commit 7d17aa7

Browse files
authored
[SYCL] Add all devicelib function to builtins (#3472)
Signed-off-by: gejin <[email protected]>
1 parent 7f6909f commit 7d17aa7

File tree

1 file changed

+136
-0
lines changed

1 file changed

+136
-0
lines changed

sycl/include/CL/sycl/builtins.hpp

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1552,11 +1552,147 @@ extern SYCL_EXTERNAL long long int llabs(long long int x);
15521552
extern SYCL_EXTERNAL div_t div(int x, int y);
15531553
extern SYCL_EXTERNAL ldiv_t ldiv(long int x, long int y);
15541554
extern SYCL_EXTERNAL lldiv_t lldiv(long long int x, long long int y);
1555+
extern SYCL_EXTERNAL float scalbnf(float x, int n);
1556+
extern SYCL_EXTERNAL double scalbn(double x, int n);
1557+
extern SYCL_EXTERNAL float logf(float x);
1558+
extern SYCL_EXTERNAL double log(double x);
1559+
extern SYCL_EXTERNAL float expf(float x);
1560+
extern SYCL_EXTERNAL double exp(double x);
1561+
extern SYCL_EXTERNAL float log10f(float x);
1562+
extern SYCL_EXTERNAL double log10(double x);
1563+
extern SYCL_EXTERNAL float modff(float x, float *intpart);
1564+
extern SYCL_EXTERNAL double modf(double x, double *intpart);
1565+
extern SYCL_EXTERNAL float exp2f(float x);
1566+
extern SYCL_EXTERNAL double exp2(double x);
1567+
extern SYCL_EXTERNAL float expm1f(float x);
1568+
extern SYCL_EXTERNAL double expm1(double x);
1569+
extern SYCL_EXTERNAL int ilogbf(float x);
1570+
extern SYCL_EXTERNAL int ilogb(double x);
1571+
extern SYCL_EXTERNAL float log1pf(float x);
1572+
extern SYCL_EXTERNAL double log1p(double x);
1573+
extern SYCL_EXTERNAL float log2f(float x);
1574+
extern SYCL_EXTERNAL double log2(double x);
1575+
extern SYCL_EXTERNAL float logbf(float x);
1576+
extern SYCL_EXTERNAL double logb(double x);
1577+
extern SYCL_EXTERNAL float sqrtf(float x);
1578+
extern SYCL_EXTERNAL double sqrt(double x);
1579+
extern SYCL_EXTERNAL float cbrtf(float x);
1580+
extern SYCL_EXTERNAL double cbrt(double x);
1581+
extern SYCL_EXTERNAL float erff(float x);
1582+
extern SYCL_EXTERNAL double erf(double x);
1583+
extern SYCL_EXTERNAL float erfcf(float x);
1584+
extern SYCL_EXTERNAL double erfc(double x);
1585+
extern SYCL_EXTERNAL float tgammaf(float x);
1586+
extern SYCL_EXTERNAL double tgamma(double x);
1587+
extern SYCL_EXTERNAL float lgammaf(float x);
1588+
extern SYCL_EXTERNAL double lgamma(double x);
1589+
extern SYCL_EXTERNAL float fmodf(float x, float y);
1590+
extern SYCL_EXTERNAL double fmod(double x, double y);
1591+
extern SYCL_EXTERNAL float remainderf(float x, float y);
1592+
extern SYCL_EXTERNAL double remainder(double x, double y);
1593+
extern SYCL_EXTERNAL float remquof(float x, float y, int *q);
1594+
extern SYCL_EXTERNAL double remquo(double x, double y, int *q);
1595+
extern SYCL_EXTERNAL float nextafterf(float x, float y);
1596+
extern SYCL_EXTERNAL double nextafter(double x, double y);
1597+
extern SYCL_EXTERNAL float fdimf(float x, float y);
1598+
extern SYCL_EXTERNAL double fdim(double x, double y);
1599+
extern SYCL_EXTERNAL float fmaf(float x, float y, float z);
1600+
extern SYCL_EXTERNAL double fma(double x, double y, double z);
1601+
extern SYCL_EXTERNAL float sinf(float x);
1602+
extern SYCL_EXTERNAL double sin(double x);
1603+
extern SYCL_EXTERNAL float cosf(float x);
1604+
extern SYCL_EXTERNAL double cos(double x);
1605+
extern SYCL_EXTERNAL float tanf(float x);
1606+
extern SYCL_EXTERNAL double tan(double x);
1607+
extern SYCL_EXTERNAL float asinf(float x);
1608+
extern SYCL_EXTERNAL double asin(double x);
1609+
extern SYCL_EXTERNAL float acosf(float x);
1610+
extern SYCL_EXTERNAL double acos(double x);
1611+
extern SYCL_EXTERNAL float atanf(float x);
1612+
extern SYCL_EXTERNAL double atan(double x);
1613+
extern SYCL_EXTERNAL float powf(float x, float y);
1614+
extern SYCL_EXTERNAL double pow(double x, double y);
1615+
extern SYCL_EXTERNAL float atan2f(float x, float y);
1616+
extern SYCL_EXTERNAL double atan2(double x, double y);
1617+
1618+
extern SYCL_EXTERNAL float sinhf(float x);
1619+
extern SYCL_EXTERNAL double sinh(double x);
1620+
extern SYCL_EXTERNAL float coshf(float x);
1621+
extern SYCL_EXTERNAL double cosh(double x);
1622+
extern SYCL_EXTERNAL float tanhf(float x);
1623+
extern SYCL_EXTERNAL double tanh(double x);
1624+
extern SYCL_EXTERNAL float asinhf(float x);
1625+
extern SYCL_EXTERNAL double asinh(double x);
1626+
extern SYCL_EXTERNAL float acoshf(float x);
1627+
extern SYCL_EXTERNAL double acosh(double x);
1628+
extern SYCL_EXTERNAL float atanhf(float x);
1629+
extern SYCL_EXTERNAL double atanh(double x);
1630+
extern SYCL_EXTERNAL double frexp(double x, int *exp);
1631+
extern SYCL_EXTERNAL double ldexp(double x, int exp);
1632+
extern SYCL_EXTERNAL double hypot(double x, double y);
15551633
}
15561634
#ifdef __GLIBC__
15571635
extern "C" {
15581636
extern SYCL_EXTERNAL void __assert_fail(const char *expr, const char *file,
15591637
unsigned int line, const char *func);
1638+
extern SYCL_EXTERNAL float frexpf(float x, int *exp);
1639+
extern SYCL_EXTERNAL float ldexpf(float x, int exp);
1640+
extern SYCL_EXTERNAL float hypotf(float x, float y);
1641+
1642+
// MS UCRT supports most of the C standard library but <complex.h> is
1643+
// an exception.
1644+
extern SYCL_EXTERNAL float cimagf(float __complex__ z);
1645+
extern SYCL_EXTERNAL double cimag(double __complex__ z);
1646+
extern SYCL_EXTERNAL float crealf(float __complex__ z);
1647+
extern SYCL_EXTERNAL double creal(double __complex__ z);
1648+
extern SYCL_EXTERNAL float cargf(float __complex__ z);
1649+
extern SYCL_EXTERNAL double carg(double __complex__ z);
1650+
extern SYCL_EXTERNAL float cabsf(float __complex__ z);
1651+
extern SYCL_EXTERNAL double cabs(double __complex__ z);
1652+
extern SYCL_EXTERNAL float __complex__ cprojf(float __complex__ z);
1653+
extern SYCL_EXTERNAL double __complex__ cproj(double __complex__ z);
1654+
extern SYCL_EXTERNAL float __complex__ cexpf(float __complex__ z);
1655+
extern SYCL_EXTERNAL double __complex__ cexp(double __complex__ z);
1656+
extern SYCL_EXTERNAL float __complex__ clogf(float __complex__ z);
1657+
extern SYCL_EXTERNAL double __complex__ clog(double __complex__ z);
1658+
extern SYCL_EXTERNAL float __complex__ cpowf(float __complex__ z);
1659+
extern SYCL_EXTERNAL double __complex__ cpow(double __complex__ z);
1660+
extern SYCL_EXTERNAL float __complex__ csqrtf(float __complex__ z);
1661+
extern SYCL_EXTERNAL double __complex__ csqrt(double __complex__ z);
1662+
extern SYCL_EXTERNAL float __complex__ csinhf(float __complex__ z);
1663+
extern SYCL_EXTERNAL double __complex__ csinh(double __complex__ z);
1664+
extern SYCL_EXTERNAL float __complex__ ccoshf(float __complex__ z);
1665+
extern SYCL_EXTERNAL double __complex__ ccosh(double __complex__ z);
1666+
extern SYCL_EXTERNAL float __complex__ ctanhf(float __complex__ z);
1667+
extern SYCL_EXTERNAL double __complex__ ctanh(double __complex__ z);
1668+
extern SYCL_EXTERNAL float __complex__ csinf(float __complex__ z);
1669+
extern SYCL_EXTERNAL double __complex__ csin(double __complex__ z);
1670+
extern SYCL_EXTERNAL float __complex__ ccosf(float __complex__ z);
1671+
extern SYCL_EXTERNAL double __complex__ ccos(double __complex__ z);
1672+
extern SYCL_EXTERNAL float __complex__ ctanf(float __complex__ z);
1673+
extern SYCL_EXTERNAL double __complex__ ctan(double __complex__ z);
1674+
extern SYCL_EXTERNAL float __complex__ cacosf(float __complex__ z);
1675+
extern SYCL_EXTERNAL double __complex__ cacos(double __complex__ z);
1676+
extern SYCL_EXTERNAL float __complex__ cacoshf(float __complex__ z);
1677+
extern SYCL_EXTERNAL double __complex__ cacosh(double __complex__ z);
1678+
extern SYCL_EXTERNAL float __complex__ casinf(float __complex__ z);
1679+
extern SYCL_EXTERNAL double __complex__ casin(double __complex__ z);
1680+
extern SYCL_EXTERNAL float __complex__ casinhf(float __complex__ z);
1681+
extern SYCL_EXTERNAL double __complex__ casinh(double __complex__ z);
1682+
extern SYCL_EXTERNAL float __complex__ catanf(float __complex__ z);
1683+
extern SYCL_EXTERNAL double __complex__ catan(double __complex__ z);
1684+
extern SYCL_EXTERNAL float __complex__ catanhf(float __complex__ z);
1685+
extern SYCL_EXTERNAL double __complex__ catanh(double __complex__ z);
1686+
extern SYCL_EXTERNAL float __complex__ cpolarf(float rho, float theta);
1687+
extern SYCL_EXTERNAL double __complex__ cpolar(double rho, double theta);
1688+
extern SYCL_EXTERNAL float __complex__ __mulsc3(float a, float b, float c,
1689+
float d);
1690+
extern SYCL_EXTERNAL double __complex__ __muldc3(double a, double b, double c,
1691+
double d);
1692+
extern SYCL_EXTERNAL float __complex__ __divsc3(float a, float b, float c,
1693+
float d);
1694+
extern SYCL_EXTERNAL double __complex__ __divdc3(float a, float b, float c,
1695+
float d);
15601696
}
15611697
#elif defined(_WIN32)
15621698
extern "C" {

0 commit comments

Comments
 (0)