Skip to content

Commit

Permalink
Merge pull request #154 from kalmarek/mk/arb_2_23
Browse files Browse the repository at this point in the history
update to Arb-2.23 & Flint-2.9
  • Loading branch information
kalmarek authored Jul 21, 2022
2 parents ec86434 + fd0127d commit 5da9db2
Show file tree
Hide file tree
Showing 8 changed files with 74 additions and 26 deletions.
6 changes: 3 additions & 3 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "Arblib"
uuid = "fb37089c-8514-4489-9461-98f9c8763369"
authors = ["Marek Kaluba <[email protected]>", "Sascha Timme <Sascha Timme <[email protected]>", "Joel Dahne <[email protected]>"]
version = "0.7.2"
version = "0.7.3"

[deps]
Arb_jll = "d9960996-1013-53c9-9ba4-74a4155039c3"
Expand All @@ -12,7 +12,7 @@ SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[compat]
Arb_jll = "~200.2200"
FLINT_jll = "~200.800.401"
Arb_jll = "~200.2300"
FLINT_jll = "~200.900.000"
SpecialFunctions = "1.0, 2"
julia = "1.6"
37 changes: 19 additions & 18 deletions src/ArbCall/parse.jl
Original file line number Diff line number Diff line change
Expand Up @@ -187,33 +187,34 @@ function parse_and_generate_arbdoc(
arb_doc_dir,
out_dir = "src/arbcalls/";
filenames = (
"mag",
"arf",
"arb",
"acb",
"arb_poly",
"arb_fmpz_poly",
"acb_poly",
"acb_calc",
"acb_dft",
"arb_mat",
"acb_mat",
"acb_hypgeom",
"arb_hypgeom",
"acb_dirichlet",
"acb_elliptic",
"acb_hypgeom",
"acb_mat",
"acb_modular",
"dirichlet",
"acb_dirichlet",
"bernoulli",
"hypgeom",
"partitions",
"acb_poly",
"arb",
"arb_calc",
"acb_calc",
"arb_fmpz_poly",
"arb_fpwrap",
"double_interval",
"fmpz_extras",
"arb_hypgeom",
"arb_mat",
"arb_poly",
"arf",
"bernoulli",
"bool_mat",
"dirichlet",
"dlog",
"double_interval",
#"fmpr", # Deprecated
"fmpz_extras",
"fmpzi",
"hypgeom",
"mag",
"partitions",
),
verbose = false,
)
Expand Down
11 changes: 8 additions & 3 deletions src/arbcalls/acb_dirichlet.jl
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ arbcall"void acb_dirichlet_hurwitz_precomp_choose_param(ulong * A, ulong * K, ul
arbcall"void acb_dirichlet_hurwitz_precomp_bound(mag_t res, const acb_t s, ulong A, ulong K, ulong N)"
#ni arbcall"void acb_dirichlet_hurwitz_precomp_eval(acb_t res, const acb_dirichlet_hurwitz_precomp_t pre, ulong p, ulong q, slong prec)"

### Lerch transcendent
arbcall"void acb_dirichlet_lerch_phi_integral(acb_t res, const acb_t z, const acb_t s, const acb_t a, slong prec)"
arbcall"void acb_dirichlet_lerch_phi_direct(acb_t res, const acb_t z, const acb_t s, const acb_t a, slong prec)"
arbcall"void acb_dirichlet_lerch_phi(acb_t res, const acb_t z, const acb_t s, const acb_t a, slong prec)"

### Stieltjes constants
#ni arbcall"void acb_dirichlet_stieltjes(acb_t res, const fmpz_t n, const acb_t a, slong prec)"

Expand Down Expand Up @@ -117,10 +122,10 @@ arbcall"void acb_dirichlet_backlund_s_bound(mag_t res, const arb_t t)"
### Riemann zeta function zeros (Platt's method)
arbcall"void acb_dirichlet_platt_scaled_lambda(arb_t res, const arb_t t, slong prec)"
#ni arbcall"void acb_dirichlet_platt_scaled_lambda_vec(arb_ptr res, const fmpz_t T, slong A, slong B, slong prec)"
#ni arbcall"void acb_dirichlet_platt_multieval(arb_ptr res, const fmpz_t T, slong A, slong B, const arb_t h, slong J, slong K, slong sigma, slong prec)"
#ni arbcall"void acb_dirichlet_platt_multieval_threaded(arb_ptr res, const fmpz_t T, slong A, slong B, const arb_t h, slong J, slong K, slong sigma, slong prec)"
#ni arbcall"void acb_dirichlet_platt_multieval(arb_ptr res, const fmpz_t T, slong A, slong B, const arb_t h, const fmpz_t J, slong K, slong sigma, slong prec)"
#ni arbcall"void acb_dirichlet_platt_multieval_threaded(arb_ptr res, const fmpz_t T, slong A, slong B, const arb_t h, const fmpz_t J, slong K, slong sigma, slong prec)"
#ni arbcall"void acb_dirichlet_platt_ws_interpolation(arb_t res, arf_t deriv, const arb_t t0, arb_srcptr p, const fmpz_t T, slong A, slong B, slong Ns_max, const arb_t H, slong sigma, slong prec)"
#ni arbcall"slong _acb_dirichlet_platt_local_hardy_z_zeros(arb_ptr res, const fmpz_t n, slong len, const fmpz_t T, slong A, slong B, const arb_t h, slong J, slong K, slong sigma_grid, slong Ns_max, const arb_t H, slong sigma_interp, slong prec)"
#ni arbcall"slong _acb_dirichlet_platt_local_hardy_z_zeros(arb_ptr res, const fmpz_t n, slong len, const fmpz_t T, slong A, slong B, const arb_t h, const fmpz_t J, slong K, slong sigma_grid, slong Ns_max, const arb_t H, slong sigma_interp, slong prec)"
#ni arbcall"slong acb_dirichlet_platt_local_hardy_z_zeros(arb_ptr res, const fmpz_t n, slong len, slong prec)"
#ni arbcall"slong acb_dirichlet_platt_hardy_z_zeros(arb_ptr res, const fmpz_t n, slong len, slong prec)"
#ni arbcall"slong acb_dirichlet_platt_zeta_zeros(acb_ptr res, const fmpz_t n, slong len, slong prec)"
15 changes: 14 additions & 1 deletion src/arbcalls/arb.jl
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ arbcall"int arb_load_str(arb_t x, const char * str)"
#ns arbcall"void arb_randtest_wide(arb_t x, flint_rand_t state, slong prec, slong mag_bits)"
#ns arbcall"void arb_randtest_special(arb_t x, flint_rand_t state, slong prec, slong mag_bits)"
#ni arbcall"void arb_get_rand_fmpq(fmpq_t q, flint_rand_t state, const arb_t x, slong bits)"
#ns arbcall"void arb_urandom(arb_t x, flint_rand_t state, slong prec, arf_rnd_t rnd)"
#ns arbcall"void arb_urandom(arb_t x, flint_rand_t state, slong prec)"

### Radius and interval operations
arbcall"void arb_get_mid_arb(arb_t m, const arb_t x)"
Expand Down Expand Up @@ -362,10 +362,23 @@ arbcall"void arb_exp_arf_rs_generic(arb_t res, const arf_t x, slong prec, int mi
#ni arbcall"void _arb_atan_sum_bs_simple(fmpz_t T, fmpz_t Q, flint_bitcnt_t * Qexp, const fmpz_t x, flint_bitcnt_t r, slong N)"
#ni arbcall"void _arb_atan_sum_bs_powtab(fmpz_t T, fmpz_t Q, flint_bitcnt_t * Qexp, const fmpz_t x, flint_bitcnt_t r, slong N)"
arbcall"void arb_atan_arf_bb(arb_t z, const arf_t x, slong prec)"
#ni arbcall"void arb_atan_frac_bsplit(arb_t s, const fmpz_t p, const fmpz_t q, int hyperbolic, slong prec)"
arbcall"void arb_sin_cos_arf_generic(arb_t s, arb_t c, const arf_t x, slong prec)"
arbcall"void arb_sin_cos_arf_bb(arb_t s, arb_t c, const arf_t x, slong prec)"
arbcall"void arb_sin_cos_wide(arb_t s, arb_t c, const arb_t x, slong prec)"
arbcall"void arb_sin_cos_generic(arb_t s, arb_t c, const arb_t x, slong prec)"
arbcall"void arb_log_primes_vec_bsplit(arb_ptr res, slong n, slong prec)"
arbcall"void _arb_log_p_ensure_cached(slong prec)"
arbcall"void arb_exp_arf_log_reduction(arb_t res, const arf_t x, slong prec, int minus_one)"
arbcall"void arb_exp_arf_generic(arb_t z, const arf_t x, slong prec, int minus_one)"
arbcall"void arb_exp_arf(arb_t z, const arf_t x, slong prec, int minus_one, slong maglim)"
arbcall"void arb_log_newton(arb_t res, const arb_t x, slong prec)"
arbcall"void arb_log_arf_newton(arb_t res, const arf_t x, slong prec)"
arbcall"void arb_atan_gauss_primes_vec_bsplit(arb_ptr res, slong n, slong prec)"
arbcall"void _arb_atan_gauss_p_ensure_cached(slong prec)"
arbcall"void arb_sin_cos_arf_atan_reduction(arb_t res1, arb_t res2, const arf_t x, slong prec)"
arbcall"void arb_atan_newton(arb_t res, const arb_t x, slong prec)"
arbcall"void arb_atan_arf_newton(arb_t res, const arf_t x, slong prec)"

### Vector functions
arbcall"void _arb_vec_zero(arb_ptr vec, slong n)"
Expand Down
2 changes: 2 additions & 0 deletions src/arbcalls/arb_fpwrap.jl
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,8 @@ arbfpwrapcall"int arb_fpwrap_double_zeta(double * res, double x, int flags)"
arbfpwrapcall"int arb_fpwrap_cdouble_zeta(complex_double * res, complex_double x, int flags)"
arbfpwrapcall"int arb_fpwrap_double_hurwitz_zeta(double * res, double s, double z, int flags)"
arbfpwrapcall"int arb_fpwrap_cdouble_hurwitz_zeta(complex_double * res, complex_double s, complex_double z, int flags)"
arbfpwrapcall"int arb_fpwrap_double_lerch_phi(double * res, double z, double s, double a, int flags)"
arbfpwrapcall"int arb_fpwrap_cdouble_lerch_phi(complex_double * res, complex_double z, complex_double s, complex_double a, int flags)"
arbfpwrapcall"int arb_fpwrap_double_barnes_g(double * res, double x, int flags)"
arbfpwrapcall"int arb_fpwrap_cdouble_barnes_g(complex_double * res, complex_double x, int flags)"
arbfpwrapcall"int arb_fpwrap_double_log_barnes_g(double * res, double x, int flags)"
Expand Down
1 change: 1 addition & 0 deletions src/arbcalls/bernoulli.jl
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
#ni arbcall"void bernoulli_rev_init(bernoulli_rev_t iter, ulong n)"
#ni arbcall"void bernoulli_rev_next(fmpz_t numer, fmpz_t denom, bernoulli_rev_t iter)"
#ni arbcall"void bernoulli_rev_clear(bernoulli_rev_t iter)"
#ni arbcall"void bernoulli_fmpq_vec_no_cache(fmpq * res, ulong a, slong num)"

### Caching
arbcall"void bernoulli_cache_compute(slong n)"
Expand Down
26 changes: 26 additions & 0 deletions src/arbcalls/fmpzi.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
###
### **fmpzi.h** -- Gaussian integers
###

### Types, macros and constants

### Basic manipulation
#ni arbcall"void fmpzi_init(fmpzi_t x)"
#ni arbcall"void fmpzi_clear(fmpzi_t x)"
#ni arbcall"int fmpzi_equal(const fmpzi_t x, const fmpzi_t y)"
#ni arbcall"void fmpzi_zero(fmpzi_t x)"
#ni arbcall"void fmpzi_one(fmpzi_t x)"
#ni arbcall"void fmpzi_set(fmpzi_t res, const fmpzi_t x)"
#ni arbcall"void fmpzi_set_si_si(fmpzi_t res, slong a, slong b)"
#ni arbcall"void fmpzi_swap(fmpzi_t x, fmpzi_t y)"
#ni arbcall"void fmpzi_print(const fmpzi_t x)"
#ni arbcall"void fmpzi_randtest(fmpzi_t res, flint_rand_t state, mp_bitcnt_t bits)"

### Arithmetic
#ni arbcall"void fmpzi_conj(fmpzi_t res, const fmpzi_t x)"
#ni arbcall"void fmpzi_neg(fmpzi_t res, const fmpzi_t x)"
#ni arbcall"void fmpzi_add(fmpzi_t res, const fmpzi_t x, const fmpzi_t y)"
#ni arbcall"void fmpzi_sub(fmpzi_t res, const fmpzi_t x, const fmpzi_t y)"
#ni arbcall"void fmpzi_sqr(fmpzi_t res, const fmpzi_t x)"
#ni arbcall"void fmpzi_mul(fmpzi_t res, const fmpzi_t x, const fmpzi_t y)"
#ni arbcall"void fmpzi_pow_ui(fmpzi_t res, const fmpzi_t x, ulong exp)"
2 changes: 1 addition & 1 deletion src/arbcalls/partitions.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
### **partitions.h** -- computation of the partition function
###

### computation of the partition function
### Computation of the partition function
#ni arbcall"void partitions_rademacher_bound(arf_t b, const fmpz_t n, ulong N)"
#ni arbcall"void partitions_hrr_sum_arb(arb_t x, const fmpz_t n, slong N0, slong N, int use_doubles)"
#ni arbcall"void partitions_fmpz_fmpz(fmpz_t p, const fmpz_t n, int use_doubles)"
Expand Down

2 comments on commit 5da9db2

@kalmarek
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JuliaRegistrator
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Registration pull request created: JuliaRegistries/General/64689

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a v0.7.3 -m "<description of version>" 5da9db2d02c711a675c5215c3697c4e6ba010205
git push origin v0.7.3

Please sign in to comment.