2 * Copyright
(c) 2016 Aaron Watry
<awatry
@gmail.com
>
3 * Copyright
(c) 2014 Advanced Micro Devices
, Inc.
5 * Permission is hereby granted
, free of charge
, to any person obtaining a copy
6 * of this software and associated documentation files
(the "Software"), to deal
7 * in the Software without restriction
, including without limitation the rights
8 * to use
, copy
, modify
, merge
, publish
, distribute
, sublicense
, and
/or sell
9 * copies of the Software
, and to permit persons to whom the Software is
10 * furnished to do so
, subject to the following conditions
:
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
15 * THE SOFTWARE IS PROVIDED
"AS IS", WITHOUT WARRANTY OF ANY KIND
, EXPRESS OR
16 * IMPLIED
, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY
,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM
, DAMAGES OR OTHER
19 * LIABILITY
, WHETHER IN AN ACTION OF CONTRACT
, TORT OR OTHERWISE
, ARISING FROM
,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 #include
<clc
/clcmacro.h
>
27 _CLC_OVERLOAD _CLC_DEF float lgamma
(float x
) {
29 return lgamma_r
(x, &s
);
32 _CLC_UNARY_VECTORIZE
(_CLC_OVERLOAD _CLC_DEF
, float
, lgamma
, float
)
35 #pragma OPENCL EXTENSION cl_khr_fp64
: enable
37 _CLC_OVERLOAD _CLC_DEF double lgamma
(double x
) {
39 return lgamma_r
(x, &s
);
42 _CLC_UNARY_VECTORIZE
(_CLC_OVERLOAD _CLC_DEF
, double
, lgamma
, double
)
48 #pragma OPENCL EXTENSION cl_khr_fp16
: enable
50 _CLC_DEFINE_UNARY_BUILTIN_FP16
(lgamma)