brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 4344c65 Raw
31 lines · plain
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE __clc_modf(__CLC_GENTYPE x,9                                                private __CLC_GENTYPE *iptr) {10  *iptr = __clc_trunc(x);11  return __clc_copysign(__clc_isinf(x) ? __CLC_FP_LIT(0.0) : x - *iptr, x);12}13 14#define __CLC_MODF_DEF(addrspace)                                              \15  _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE __clc_modf(                             \16      __CLC_GENTYPE x, addrspace __CLC_GENTYPE *iptr) {                        \17    __CLC_GENTYPE private_iptr;                                                \18    __CLC_GENTYPE ret = __clc_modf(x, &private_iptr);                          \19    *iptr = private_iptr;                                                      \20    return ret;                                                                \21  }22 23__CLC_MODF_DEF(local);24__CLC_MODF_DEF(global);25 26#if _CLC_DISTINCT_GENERIC_AS_SUPPORTED27__CLC_MODF_DEF(generic);28#endif29 30#undef __CLC_MODF_DEF31