ACOS(3clc)
β¨ ACOS(3clc) β the OpenCL Manual's arc cosine era β¨
okay bestie, so you found yourself in the OpenCL Manual (yes, that's the manual name, we're not gatekeeping) and you're here for the arc cosine girls π . Buckle up, this is a short one but it's iconic.
πΈ NAME πΈ
acos, acosh, acospi β the arc cosine functions, fr fr.
gentype acos(gentype );
gentype acosh(gentype );
gentype acospi(gentype x);
not me noticingacosandacoshjust... don't show a parameter name in the synopsis. that's how the original wrote it, so that's how we're writing it. no cap.
π DESCRIPTION π
acosβ it's the arc cosine function. the classic. the moment.acoshβ the inverse hyperbolic cosine function. hyperbolic, dramatic, main character energy.acospiβ this one computesacos (x) / Ο. that's it. that's the whole vibe. divide by pi and slay π₯§
π NOTES π
okay this is the important part, bestie, don't skip it:
- the vector versions of the math functions operate component-wise. the description is per-component. so like, every lane does its own lil thing π¦
- the built-in math functions are not affected by the prevailing rounding mode in the calling environment, and they always return the same value as they would if called with the round to nearest even rounding mode. periodt.
- the built-in math functions take scalar or vector arguments. for any specific use of these functions, the actual type has to be the same for all arguments and the return type, unless otherwise specified. consistency is the vibe check β
- the generic type name
gentypeis used to indicate that the function can takefloat,float2,float3,float4,float8,float16,double,double2,double3,double4,double8, ordouble16as the type for the arguments. that's a lot of types and honestly? obsessed. - if extended with
cl_khr_fp16(3clc), the generic type namegentypemay indicatehalfandhalf{2|3|4|8|16}as arguments and return values. half precision girlies, we see you π§ - the generic type name
gentypefis used to indicate that the function can takefloat,float2,float3,float4,float8, orfloat16as the type for the arguments. - the generic type name
gentypedis used to indicate that the function can takedouble,double2,double3,double4,double8, ordouble16as the type for the arguments.
π SPECIFICATION π
OpenCL Specification[1] β that's the source of truth, babe π
π SEE ALSO π
mathFunctions(3clc)β go read it, iykyk
π«Ά AUTHORS π«Ά
The Khronos Group β the icons who wrote this. respect. π
π COPYRIGHT π
Copyright Β© 2007-2011 The Khronos Group Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and/or associated documentation files (the "Materials"), to deal in the Materials without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Materials, and to permit persons to whom the Materials are furnished to do so, subject to the condition that this copyright notice and permission notice shall be included in all copies or substantial portions of the Materials.
π NOTES π
OpenCL Specificationβ page 244, section 6.12.2 - Math Functions. exact citation, no guessing π
and that's the whole page, bestie. it's from The Khronos Group, dated 01/14/2021 β shoutout to the source and version, they ate and left no crumbs β¨π¦π
π¦ where this page comes from
- ubuntu jammy: opencl-1.2-man-doc 1.0~svn33624-5 Β· other
- ubuntu noble: opencl-1.2-man-doc 1.0~svn33624-5 Β· other
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms