summaryrefslogtreecommitdiffstats
path: root/libclc/generic/lib/math/native_powr.inc
blob: f2c30a9cb5e1c262edcc6b8ca7cd2d123bd45706 (plain)
1
2
3
4
5
_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE native_powr(__CLC_GENTYPE x, __CLC_GENTYPE y) {
  // x^y == 2^{log2 x^y} == 2^{y * log2 x}
  // for x < 0 propagate nan created by log2
  return native_exp2(y * native_log2(x));
}
OpenPOWER on IntegriCloud