Skip to content

Commit 7d6ac8d

Browse files
committed
del accidental comments
1 parent fd6760b commit 7d6ac8d

File tree

1 file changed

+0
-130
lines changed

1 file changed

+0
-130
lines changed

src/Airy/cairy.jl

Lines changed: 0 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -430,133 +430,3 @@ end
430430
for internalf in (:airyai_power_series, :airybi_power_series, :airyai_large_args, :airybi_large_args), T in (:ComplexF32,)
431431
@eval $internalf(x::$T) = $T.($internalf(ComplexF64(x)))
432432
end
433-
434-
#=
435-
using Base.Cartesian
436-
using SIMDMath: VE, fmadd, Vec, FloatTypes
437-
438-
@inline levin_scale(B::T, n, k) where T = -(B + n) * (B + n + k)^(k - one(T)) / (B + n + k + one(T))^k
439-
@inline levin_scale(B::T, n, k) where T = -(B + n + k) * (B + n + k - 1) / ((B + n + 2k) * (B + n + 2k - 1))
440-
441-
442-
# compute the scaled modified bessel function using the Levin-u transformation
443-
# v = 0.2; x = 4.3
444-
# besselkx(v, x, Val(19))
445-
@generated function besselkx_levin(v, x::T, ::Val{N}) where {T <: FloatTypes, N}
446-
len = N-1
447-
len2 = N-2
448-
:(
449-
begin
450-
451-
# generate a sequence of partial sums and weights of the asymptotic expansion for large argument besselk
452-
l = let (out, term, fv2) = (one(typeof(x)), one(typeof(x)), 4*v^2)
453-
@ntuple $N i -> begin
454-
offset = muladd(2, i, -1)
455-
term *= muladd(offset, -offset, fv2) / (8 * x * i)
456-
out += term
457-
# this check is relatively cheap but if the normal sum converges then we should return value
458-
abs(term) <= eps(T) && return out * sqrt(π / 2x)
459-
# need to return the weights and weighted partial sums
460-
invterm = inv(term)
461-
Vec{2, T}((out * invterm, invterm))
462-
end
463-
end
464-
# this is required because you can't set the index of a tuple
465-
@nexprs $len i -> a_{i} = l[i]
466-
@nexprs $len2 k -> (@nexprs ($len-k) i -> a_{i} = fmadd(a_{i}, levin_scale(one(T), i, k-1), a_{i+1}))
467-
return (a_1.data[1].value / a_1.data[2].value) * sqrt(π / 2x)
468-
end
469-
)
470-
end
471-
472-
besselk_levin(v, x::T, ::Val{N}) where {T <: Union{Complex{FloatTypes}, FloatTypes}, N} = exp(-x) * besselkx_levin(v, x, Val(N))
473-
474-
475-
@generated function airyaix_levin2(v, x::T, ::Val{N}) where {T <: FloatTypes, N}
476-
len = N-1
477-
len2 = N-2
478-
:(
479-
begin
480-
481-
# generate a sequence of partial sums and weights of the asymptotic expansion for large argument besselk
482-
l = let (out, term, fv2) = (one(typeof(x)), one(typeof(x)), 4*v^2)
483-
@ntuple $N i -> begin
484-
offset = muladd(2, i, -1)
485-
term *= muladd(offset, -offset, fv2) / (8 * x * i)
486-
out += term
487-
# this check is relatively cheap but if the normal sum converges then we should return value
488-
abs(term) <= eps(T) && return out * sqrt(π / 2x)
489-
# need to return the weights and weighted partial sums
490-
invterm = inv(term)
491-
Vec{2, T}((out * invterm, invterm))
492-
end
493-
end
494-
# this is required because you can't set the index of a tuple
495-
@nexprs $len i -> a_{i} = l[i]
496-
@nexprs $len2 k -> (@nexprs ($len-k) i -> a_{i} = fmadd(a_{i}, levin_scale2(one(T), i, k-1), a_{i+1}))
497-
return (a_1.data[1].value / a_1.data[2].value) * sqrt(π / 2x)
498-
end
499-
)
500-
end
501-
502-
503-
function airy_large_arg_a(x::T, iter=40) where T
504-
S = eltype(x)
505-
MaxIter = 3000
506-
xsqr = sqrt(x)
507-
508-
out = zero(S)
509-
t = GAMMA_ONE_SIXTH(Float64) * GAMMA_FIVE_SIXTHS(Float64) / 4
510-
a = 4*xsqr*x
511-
for i in 0:iter
512-
out += t
513-
t *= -3*(i + one(T)/6) * (i + T(5)/6) / (a*(i + one(T)))
514-
end
515-
return out * exp(-a / 6) / (sqrt(T(π)^3) * sqrt(xsqr))
516-
end
517-
function airy_large_arg_b(x::T, iter = 40) where T
518-
S = eltype(x)
519-
MaxIter = 3000
520-
xsqr = sqrt(x)
521-
522-
out = zero(S)
523-
t = GAMMA_ONE_SIXTH(Float64) * GAMMA_FIVE_SIXTHS(Float64) / 4
524-
a = 4*xsqr*x
525-
for i in 0:iter
526-
out += t
527-
t *= 3*(i + one(T)/6) * (i + T(5)/6) / (a*(i + one(T)))
528-
end
529-
return out * exp(a / 6) / (sqrt(T(π)^3) * sqrt(xsqr))
530-
end
531-
532-
533-
@inline levin_scale(B, n, k) = -(B + n) * (B + n + k)^(k - 1.0) / (B + n + k + 1.0)^k
534-
535-
@generated function levin_transform(s::NTuple{N, T}) where {N, T}
536-
len = N-1
537-
len2 = N-2
538-
:(
539-
begin
540-
@nexprs $len i -> b_{i} = 1 / (s[i + 1] - s[i])
541-
@nexprs $len i -> a_{i} = s[i] * b_{i}
542-
@nexprs $len2 k -> (@nexprs ($len-k) i -> (a_{i}, b_{i}) = (muladd(a_{i}, levin_scale(1.0, i, k-1), a_{i+1}), muladd(b_{i}, levin_scale(1.0, i, k-1), b_{i+1})))
543-
return a_1 / b_1
544-
end
545-
)
546-
end
547-
548-
function airy_levin(x)
549-
N = 50
550-
sequence = tuple([airy_large_arg_a(BigFloat(real(x)) + im*BigFloat(imag(x)), iter) for iter in 1:N]...);
551-
levin_transform(sequence[1:N-10])
552-
end
553-
554-
555-
function airy_levin2(x)
556-
N = 40
557-
sequence = tuple([airy_large_arg_a(BigFloat(real(x)) + im*BigFloat(imag(x)), iter) + im*airy_large_arg_b(BigFloat(real(x)) + im*BigFloat(imag(x)), iter) for iter in 1:N]...);
558-
levin_transform(sequence[1:N-20])
559-
end
560-
561-
562-
=#

0 commit comments

Comments
 (0)