summaryrefslogtreecommitdiff
path: root/generic/lib/math/fmax.inc
blob: 962bed9be07a5e33830aa8a78a0ff26657c5828a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#define __CLC_MAX_IMPL(x, y) x < y ? y : x;

#if GENTYPE != float && GENTYPE != double

_CLC_OVERLOAD _CLC_DEF GENTYPE __clc_fmax(GENTYPE x, GENTYPE y) {
  return __CLC_MAX_IMPL(x, y)
}

#endif

_CLC_OVERLOAD _CLC_DEF GENTYPE fmax(GENTYPE x, double y) {
  GENTYPE vec_y = (GENTYPE) (y);
  return __CLC_MAX_IMPL(x, vec_y);
}

_CLC_OVERLOAD _CLC_DEF GENTYPE fmax(GENTYPE x, float y) {
  GENTYPE vec_y = (GENTYPE) (y);
  return __CLC_MAX_IMPL(x, vec_y);
}