45 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 9#include <clc/geometric/clc_cross.h>10#include <clc/opencl/geometric/cross.h>11 12_CLC_OVERLOAD _CLC_DEF float3 cross(float3 p0, float3 p1) {13 return __clc_cross(p0, p1);14}15 16_CLC_OVERLOAD _CLC_DEF float4 cross(float4 p0, float4 p1) {17 return __clc_cross(p0, p1);18}19 20#ifdef cl_khr_fp6421#pragma OPENCL EXTENSION cl_khr_fp64 : enable22 23_CLC_OVERLOAD _CLC_DEF double3 cross(double3 p0, double3 p1) {24 return __clc_cross(p0, p1);25}26 27_CLC_OVERLOAD _CLC_DEF double4 cross(double4 p0, double4 p1) {28 return __clc_cross(p0, p1);29}30 31#endif32 33#ifdef cl_khr_fp1634#pragma OPENCL EXTENSION cl_khr_fp16 : enable35 36_CLC_OVERLOAD _CLC_DEF half3 cross(half3 p0, half3 p1) {37 return __clc_cross(p0, p1);38}39 40_CLC_OVERLOAD _CLC_DEF half4 cross(half4 p0, half4 p1) {41 return __clc_cross(p0, p1);42}43 44#endif45