|
267 | 267 | @device_override Base.tanh(x::Float16) = ccall("extern air.tanh.f16", llvmcall, Float16, (Float16,), x) |
268 | 268 |
|
269 | 269 | @device_function tanpi_fast(x::Float32) = ccall("extern air.fast_tanpi.f32", llvmcall, Cfloat, (Cfloat,), x) |
270 | | -@device_function tanpi(x::Float32) = ccall("extern air.tanpi.f32", llvmcall, Cfloat, (Cfloat,), x) |
271 | | -@device_function tanpi(x::Float16) = ccall("extern air.tanpi.f16", llvmcall, Float16, (Float16,), x) |
| 270 | +@device_override Base.tanpi(x::Float32) = ccall("extern air.tanpi.f32", llvmcall, Cfloat, (Cfloat,), x) |
| 271 | +@device_override Base.tanpi(x::Float16) = ccall("extern air.tanpi.f16", llvmcall, Float16, (Float16,), x) |
272 | 272 |
|
273 | 273 | @device_function trunc_fast(x::Float32) = ccall("extern air.fast_trunc.f32", llvmcall, Cfloat, (Cfloat,), x) |
274 | 274 | @device_override Base.trunc(x::Float32) = ccall("extern air.trunc.f32", llvmcall, Cfloat, (Cfloat,), x) |
|
418 | 418 | j = fma(1.442695f0, a, 12582912.0f0) |
419 | 419 | j = j - 12582912.0f0 |
420 | 420 | i = unsafe_trunc(Int32, j) |
421 | | - f = fma(j, -6.93145752f-1, a) # log_2_hi |
| 421 | + f = fma(j, -6.93145752f-1, a) # log_2_hi |
422 | 422 | f = fma(j, -1.42860677f-6, f) # log_2_lo |
423 | 423 |
|
424 | 424 | # approximate r = exp(f)-1 on interval [-log(2)/2, +log(2)/2] |
|
0 commit comments