--This is a test script for all the sf. methods

--prints all available special functions in the name scope
--for k,v in pairs(sf.) do print (k) end

print("Starting to run the special functions test.")
sf.Chi(1)
sf.Ci(1)
sf.Shi(1)
sf.Si(1)

sf.airyAi(1)
sf.airyAi_deriv(1)
sf.airyAi_deriv_scaled(1)
sf.airyAi_scaled(1)
sf.airyAi_zero(1)
sf.airyAi_deriv_zero(1)
sf.airyBi(1)
sf.airyBi_deriv(1)
sf.airyBi_deriv_scaled(1)
sf.airyBi_scaled(1)
sf.airyBi_zero(1)
sf.airyBi_deriv_zero(1)

sf.atanint(1)

sf.besselI(1,1)
sf.besselI_scaled(1,1)
sf.besselInu(1,1)
sf.besselInu_scaled(1,1)
sf.besselJ(1,1)
sf.besselJnu(1,1)
sf.besselJ_zero(1,1)
sf.besselK(1,1)
sf.besselK_scaled(1,1)
sf.besselKnu(1,1)
sf.besselKnu_scaled(1,1)
sf.besselY(1,1)
sf.besselYnu(1,1)
sf.besseli_scaled(1,1)
sf.besselj(1,1)
sf.besselk_scaled(1,1)
sf.bessellnKnu(1,1)
sf.bessely(1,1)

sf.beta(1,1)
sf.beta_inc(1,1,1)

sf.choose(1,1)
sf.doublefact(1)
sf.fact(1)

sf.clausen(1)

sf.conicalP(1,1,1)
sf.conicalPcylreg(1,1,1)
sf.conicalPsphreg(1,1,1)

sf.coulomb_CL(1,1)
sf.coulomb_wave_FG(1, 1, 1,1)
--sf.hydrogenicR(1,1,1,1)
--sf.hydrogenicR_1(1,1)

sf.coupling_3j(1,1,1,1,1,1)
sf.coupling_6j(1,1,1,1,1,1)
sf.coupling_9j(1,1,1,1,1,1,1,1,1)

sf.dawson(1)

sf.debye(1,1)

sf.dilog(1)
sf.cdilog(1+1i)

sf.ellint_D(1,1,1)
sf.ellint_E(1,1)
--sf.ellint_Ecomp(1)
sf.ellint_F(1,1)
--sf.ellint_Kcomp(1)
sf.ellint_P(1,1,1)
sf.ellint_RC(1,1)
sf.ellint_RD(1,1,1)
sf.ellint_RF(1,1,1)
sf.ellint_RJ(1,1,1,1)
sf.elljac(1,1)

sf.erf(1)
sf.erf_Q(1)
sf.erf_Z(1)
sf.erfc(1)
sf.log_erfc(1)

sf.eta(1)

sf.exp(1)
sf.exp_err(1, 1)
sf.exp_mult(1,1)
sf.exp_mult_err(1,1,1,1)

sf.expint3(1)
sf.expint_Ei(1)
sf.expint_E(1,1)

sf.expm1(1)
sf.exprel(1)
sf.exprel_2(1)
sf.exprel_n(1,1)


sf.fermi_dirac(1,1)
sf.fermi_dirac_inc(1,1)

sf.gamma(1)
sf.gamma_inc(1,1)
sf.gamma_inc_P(1,1)
sf.gamma_inc_Q(1,1)
sf.lngammac(1+1i)
sf.gammainv(1)
sf.gammastar(1)

--sf.gegenpoly(1,1,1)

sf.hyperg0F1(1,1)
sf.hyperg1F1(1,1,1)
--sf.hyperg2F0(1,1,1)
--sf.hyperg2F1(1,1,1,1)
--sf.hyperg2F1_renorm(1,1,1,1)
--sf.hyperg2F1conj(1+1i, 1,1)
--sf.hyperg2F1conj_renorm(1+1i, 1,1)
sf.hypergU(1,1,1)


sf.laguerre(1,1,1)

sf.lambertW0(1)
sf.lambertWm1(1)

sf.legendreH3d(1,1,1)
sf.legendreP(1,1)
sf.legendrePlm(1,1,1)
--sf.legendreQ(1,1)
sf.legendresphPlm(1,1,1)

sf.lnbeta(1,1)
sf.lnchoose(1,1)
sf.lndoublefact(1)
sf.lnfact(1)
sf.lngamma(1)
sf.lnpoch(1,1)

sf.log(1)
sf.log_1plusx(1)
sf.log_1plusx_mx(1)
sf.log_abs(1)

sf.poch(1,1)
sf.pochrel(1,1)

sf.pow_int(1,1)

sf.psi(1)
sf.psi_1(1)
sf.psi_1piy(1)
sf.psi_n(1,1)

sf.synchrotron1(1)
sf.synchrotron2(1)

sf.taylorcoeff(1,1)

sf.transport(2,1)

sf.zeta(0.9)
sf.zetam1(0.9)
sf.hzeta(2,0.9)
print("Test complete.")

