几何函数
表5-8给出了OpenCL C中可用的内置几何函数。这些函数都是逐分量进行处理,这里的描述针对每一个分量。
使用泛型类型名gentypef指示函数可以取float、float2、float3、float4、float8或float16作为参数类型。如果支持支持双精度扩展,泛型类型名gentyped指示函数可以取double、double2、double3、double4、double8或double16作为参数类型。
这里简要介绍这些几何函数如何实现,并进一步澄清一些几何函数的行为:
1)几何函数可以使用简化操作(如mad或fma)实现。
2)带fast_前缀的函数为开发人员提供了一个选项,可以优先选择性能而弱化精确度。
3)distance、length和normalize函数计算结果,没有上溢出或由于下溢出导致的过度精度损失。
内置几何函数
float4 cross(float4 p0, float4 p1) 返画p0.xyz和p1.xyz的叉乘。
float3 cross(float3 p0