Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b"
[compat]
Aqua = "0.8"
Documenter = "1"
FLINT_jll = "~300.100.100"
FLINT_jll = "~300.200.000"
LinearAlgebra = "1.6"
Random = "1.6"
Serialization = "1.6"
Expand Down
1 change: 1 addition & 0 deletions src/arbcalls/acb_hypgeom.jl
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ arbcall"void _acb_hypgeom_fresnel_series(acb_ptr res1, acb_ptr res2, acb_srcptr
arbcall"void acb_hypgeom_fresnel_series(acb_poly_t res1, acb_poly_t res2, const acb_poly_t z, int normalized, slong len, slong prec)"

### Bessel functions
arbcall"void acb_hypgeom_bessel_j_deriv_bound(mag_t res, const acb_t nu, const acb_t z, ulong d)"
arbcall"void acb_hypgeom_bessel_j_asymp(acb_t res, const acb_t nu, const acb_t z, slong prec)"
arbcall"void acb_hypgeom_bessel_j_0f1(acb_t res, const acb_t nu, const acb_t z, slong prec)"
arbcall"void acb_hypgeom_bessel_j(acb_t res, const acb_t nu, const acb_t z, slong prec)"
Expand Down
4 changes: 2 additions & 2 deletions src/arbcalls/acb_mat.jl
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ arbcall"void acb_mat_set(acb_mat_t dest, const acb_mat_t src)"
#ni arbcall"void acb_mat_set_fmpq_mat(acb_mat_t dest, const fmpq_mat_t src, slong prec)"
arbcall"void acb_mat_set_arb_mat(acb_mat_t dest, const arb_mat_t src)"
arbcall"void acb_mat_set_round_arb_mat(acb_mat_t dest, const arb_mat_t src, slong prec)"
arbcall"void acb_mat_get_real(arb_mat_t re, const arb_mat_t mat)"
arbcall"void acb_mat_get_imag(arb_mat_t im, const arb_mat_t mat)"
arbcall"void acb_mat_get_real(arb_mat_t re, const acb_mat_t mat)"
arbcall"void acb_mat_get_imag(arb_mat_t im, const acb_mat_t mat)"
arbcall"void acb_mat_set_real_imag(acb_mat_t mat, const arb_mat_t re, const arb_mat_t im)"

### Random generation
Expand Down
3 changes: 2 additions & 1 deletion src/arbcalls/acb_poly.jl
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,8 @@ arbcall"void _acb_poly_cosh_series(acb_ptr c, acb_srcptr h, slong hlen, slong n,
arbcall"void acb_poly_cosh_series(acb_poly_t c, const acb_poly_t h, slong n, slong prec)"
arbcall"void _acb_poly_sinc_series(acb_ptr s, acb_srcptr h, slong hlen, slong n, slong prec)"
arbcall"void acb_poly_sinc_series(acb_poly_t s, const acb_poly_t h, slong n, slong prec)"
arbcall"void _acb_poly_sinc_pi_series(acb_ptr s, acb_srcptr h, slong hlen, slong n, slong prec)"
arbcall"void acb_poly_sinc_pi_series(acb_poly_t s, const acb_poly_t h, slong n, slong prec)"

### Lambert W function
#ni arbcall"void _acb_poly_lambertw_series(acb_ptr res, acb_srcptr z, slong zlen, const fmpz_t k, int flags, slong len, slong prec)"
Expand Down Expand Up @@ -274,7 +276,6 @@ arbcall"void _acb_poly_root_bound_fujiwara(mag_t bound, acb_srcptr poly, slong l
arbcall"void acb_poly_root_bound_fujiwara(mag_t bound, acb_poly_t poly)"
arbcall"void _acb_poly_root_inclusion(acb_t r, const acb_t m, acb_srcptr poly, acb_srcptr polyder, slong len, slong prec)"
arbcall"slong _acb_poly_validate_roots(acb_ptr roots, acb_srcptr poly, slong len, slong prec)"
arbcall"void _acb_poly_refine_roots_durand_kerner(acb_ptr roots, acb_srcptr poly, slong len, slong prec)"
arbcall"slong _acb_poly_find_roots(acb_ptr roots, acb_srcptr poly, acb_srcptr initial, slong len, slong maxiter, slong prec)"
arbcall"slong acb_poly_find_roots(acb_ptr roots, const acb_poly_t poly, acb_srcptr initial, slong maxiter, slong prec)"
arbcall"int _acb_poly_validate_real_roots(acb_srcptr roots, acb_srcptr poly, slong len, slong prec)"
Expand Down
16 changes: 8 additions & 8 deletions src/arbcalls/arb.jl
Original file line number Diff line number Diff line change
Expand Up @@ -353,14 +353,14 @@ arbcall"void arb_primorial_nth_ui(arb_t res, ulong n, slong prec)"
arbcall"void arb_primorial_ui(arb_t res, ulong n, slong prec)"

### Internals for computing elementary functions
#ni arbcall"void _arb_atan_taylor_naive(mp_ptr y, mp_limb_t * error, mp_srcptr x, mp_size_t xn, ulong N, int alternating)"
#ni arbcall"void _arb_atan_taylor_rs(mp_ptr y, mp_limb_t * error, mp_srcptr x, mp_size_t xn, ulong N, int alternating)"
#ni arbcall"void _arb_exp_taylor_naive(mp_ptr y, mp_limb_t * error, mp_srcptr x, mp_size_t xn, ulong N)"
#ni arbcall"void _arb_exp_taylor_rs(mp_ptr y, mp_limb_t * error, mp_srcptr x, mp_size_t xn, ulong N)"
#ni arbcall"void _arb_sin_cos_taylor_naive(mp_ptr ysin, mp_ptr ycos, mp_limb_t * error, mp_srcptr x, mp_size_t xn, ulong N)"
#ni arbcall"void _arb_sin_cos_taylor_rs(mp_ptr ysin, mp_ptr ycos, mp_limb_t * error, mp_srcptr x, mp_size_t xn, ulong N, int sinonly, int alternating)"
#ni arbcall"int _arb_get_mpn_fixed_mod_log2(mp_ptr w, fmpz_t q, mp_limb_t * error, const arf_t x, mp_size_t wn)"
#ni arbcall"int _arb_get_mpn_fixed_mod_pi4(mp_ptr w, fmpz_t q, int * octant, mp_limb_t * error, const arf_t x, mp_size_t wn)"
#ni arbcall"void _arb_atan_taylor_naive(nn_ptr y, ulong * error, nn_srcptr x, slong xn, ulong N, int alternating)"
#ni arbcall"void _arb_atan_taylor_rs(nn_ptr y, ulong * error, nn_srcptr x, slong xn, ulong N, int alternating)"
#ni arbcall"void _arb_exp_taylor_naive(nn_ptr y, ulong * error, nn_srcptr x, slong xn, ulong N)"
#ni arbcall"void _arb_exp_taylor_rs(nn_ptr y, ulong * error, nn_srcptr x, slong xn, ulong N)"
#ni arbcall"void _arb_sin_cos_taylor_naive(nn_ptr ysin, nn_ptr ycos, ulong * error, nn_srcptr x, slong xn, ulong N)"
#ni arbcall"void _arb_sin_cos_taylor_rs(nn_ptr ysin, nn_ptr ycos, ulong * error, nn_srcptr x, slong xn, ulong N, int sinonly, int alternating)"
#ni arbcall"int _arb_get_mpn_fixed_mod_log2(nn_ptr w, fmpz_t q, ulong * error, const arf_t x, slong wn)"
#ni arbcall"int _arb_get_mpn_fixed_mod_pi4(nn_ptr w, fmpz_t q, int * octant, ulong * error, const arf_t x, slong wn)"
arbcall"slong _arb_exp_taylor_bound(slong mag, slong prec)"
arbcall"void arb_exp_arf_bb(arb_t z, const arf_t x, slong prec, int m1)"
#ni arbcall"void _arb_exp_sum_bs_simple(fmpz_t T, fmpz_t Q, flint_bitcnt_t * Qexp, const fmpz_t x, flint_bitcnt_t r, slong N)"
Expand Down
1 change: 0 additions & 1 deletion src/arbcalls/arb_poly.jl
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,6 @@ arbcall"void _arb_poly_mullow_classical(arb_ptr C, arb_srcptr A, slong lenA, arb
arbcall"void _arb_poly_mullow_block(arb_ptr C, arb_srcptr A, slong lenA, arb_srcptr B, slong lenB, slong n, slong prec)"
arbcall"void _arb_poly_mullow(arb_ptr C, arb_srcptr A, slong lenA, arb_srcptr B, slong lenB, slong n, slong prec)"
arbcall"void arb_poly_mullow_classical(arb_poly_t C, const arb_poly_t A, const arb_poly_t B, slong n, slong prec)"
arbcall"void arb_poly_mullow_ztrunc(arb_poly_t C, const arb_poly_t A, const arb_poly_t B, slong n, slong prec)"
arbcall"void arb_poly_mullow_block(arb_poly_t C, const arb_poly_t A, const arb_poly_t B, slong n, slong prec)"
arbcall"void arb_poly_mullow(arb_poly_t C, const arb_poly_t A, const arb_poly_t B, slong n, slong prec)"
arbcall"void _arb_poly_mul(arb_ptr C, arb_srcptr A, slong lenA, arb_srcptr B, slong lenB, slong prec)"
Expand Down
8 changes: 4 additions & 4 deletions src/arbcalls/arf.jl
Original file line number Diff line number Diff line change
Expand Up @@ -178,8 +178,8 @@ arbcall"int arf_complex_mul_fallback(arf_t e, arf_t f, const arf_t a, const arf_
arbcall"int arf_complex_sqr(arf_t e, arf_t f, const arf_t a, const arf_t b, slong prec, arf_rnd_t rnd)"

### Low-level methods
#ni arbcall"int _arf_get_integer_mpn(mp_ptr y, mp_srcptr xp, mp_size_t xn, slong exp)"
#ni arbcall"int _arf_set_mpn_fixed(arf_t z, mp_srcptr xp, mp_size_t xn, mp_size_t fixn, int negative, slong prec, arf_rnd_t rnd)"
#ni arbcall"int _arf_get_integer_mpn(nn_ptr y, nn_srcptr xp, slong xn, slong exp)"
#ni arbcall"int _arf_set_mpn_fixed(arf_t z, nn_srcptr xp, slong xn, slong fixn, int negative, slong prec, arf_rnd_t rnd)"
arbcall"int _arf_set_round_ui(arf_t z, ulong x, int sgnbit, slong prec, arf_rnd_t rnd)"
#ni arbcall"int _arf_set_round_uiui(arf_t z, slong * fix, mp_limb_t hi, mp_limb_t lo, int sgnbit, slong prec, arf_rnd_t rnd)"
#ni arbcall"int _arf_set_round_mpn(arf_t z, slong * exp_shift, mp_srcptr x, mp_size_t xn, int sgnbit, slong prec, arf_rnd_t rnd)"
arbcall"int _arf_set_round_uiui(arf_t z, slong * fix, ulong hi, ulong lo, int sgnbit, slong prec, arf_rnd_t rnd)"
#ni arbcall"int _arf_set_round_mpn(arf_t z, slong * exp_shift, nn_srcptr x, slong xn, int sgnbit, slong prec, arf_rnd_t rnd)"
5 changes: 2 additions & 3 deletions src/arbcalls/fmpz_extras.jl
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,9 @@
#ni arbcall"void fmpz_add_ui_inline(fmpz_t z, const fmpz_t x, ulong y)"
#ni arbcall"void fmpz_sub_si_inline(fmpz_t z, const fmpz_t x, slong y)"
#ni arbcall"void fmpz_add2_fmpz_si_inline(fmpz_t z, const fmpz_t x, const fmpz_t y, slong c)"
#ni arbcall"mp_size_t _fmpz_size(const fmpz_t x)"
#ni arbcall"slong _fmpz_size(const fmpz_t x)"
#ni arbcall"slong _fmpz_sub_small(const fmpz_t x, const fmpz_t y)"
#ni arbcall"void _fmpz_set_si_small(fmpz_t x, slong v)"

### Low-level conversions
#ni arbcall"void fmpz_set_mpn_large(fmpz_t z, mp_srcptr src, mp_size_t n, int negative)"
#ni arbcall"void fmpz_lshift_mpn(fmpz_t z, mp_srcptr src, mp_size_t n, int negative, flint_bitcnt_t shift)"
#ni arbcall"void fmpz_lshift_mpn(fmpz_t z, nn_srcptr src, slong n, int negative, flint_bitcnt_t shift)"
2 changes: 1 addition & 1 deletion src/poly.jl
Original file line number Diff line number Diff line change
Expand Up @@ -706,7 +706,7 @@ Base.sinpi(p::Series) = sin_pi_series!(zero(p), p, length(p))
Base.cospi(p::Series) = cos_pi_series!(zero(p), p, length(p))
cotpi(p::Series) = cot_pi_series!(zero(p), p, length(p))
# Julias definition of sinc is equivalent to Arbs definition of sincpi
Base.sinc(p::ArbSeries) = sinc_pi_series!(zero(p), p, length(p))
Base.sinc(p::Series) = sinc_pi_series!(zero(p), p, length(p))

function Base.sincos(p::Series)
s, c = zero(p), zero(p)
Expand Down
3 changes: 2 additions & 1 deletion test/series.jl
Original file line number Diff line number Diff line change
Expand Up @@ -347,6 +347,7 @@
cospi,
Arblib.cotpi,
Arblib.rsqrt,
sinc,
]
res = f(p)
@test res[0] ≈ f(x)
Expand All @@ -360,7 +361,7 @@
@test all(isequal.(Arblib.sinhcosh(p), (sinh(p), cosh(p))))

if TSeries == ArbSeries
for f in [asin, acos, sinc]
for f in [asin, acos]
res = f(p)
@test res[0] ≈ f(x)
@test !iszero(res[1])
Expand Down