GSL.jlの使い方(雑なメモ)

GSLの使い方

入力にポインターが必要なとき (sf_elljac_e)

function gsl_ellipj(ϕ, m)
    sn, cn, dn = Cdouble[0], Cdouble[0], Cdouble[0]
    sf_elljac_e(ϕ, m, sn, cn, dn)
    return sn[1], cn[1], dn[1]
end
import Elliptic
import GSL

function ellipj_GSL(ϕ, m)
    sn, cn, dn = Cdouble[0], Cdouble[0], Cdouble[0]
    sf_elljac_e(ϕ, m, sn, cn, dn)
    return sn[1], cn[1], dn[1]
end

ellipj_Elliptic = Elliptic.ellipj(ϕ, m)

ϕ, m = 0.672, 0.36
result_Elliptic = elliptic_Elliptic(ϕ, m)
@show result_Elliptic
# 0.6095196917919022, 0.792770928653356, 0.9307281387786907

result_GSL = elliptic_GSL(ϕ, m)
@show result_GSL
# 0.6095196917919021, 0.792770928653356, 0.9307281387786907

コメント