arb/acb_poly
Matthias Gessinger 89545adbcc Slightly optimize memory usage
Save some memory by using smaller arrays for the even and odd terms.
Adjust the loop lengths, to accomodate for shorter arrays
not overwriting "outdated" data.

E.g.: If a and b are aliased, then the first poly_mul does not overwrite
the leading coefficient, which leads to incorrect results.
2021-07-28 16:07:46 +02:00
..
test Adapt coding style to include spaces 2021-07-27 18:59:01 +02:00
add.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
add_series.c add polynomial add_series and sub_series methods 2016-09-07 16:03:47 +02:00
add_si.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
agm1_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
atan_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
binomial_transform.c add binomial and borel transforms for acb_poly 2016-10-19 14:51:27 +02:00
binomial_transform_basecase.c add binomial and borel transforms for acb_poly 2016-10-19 14:51:27 +02:00
binomial_transform_convolution.c add binomial and borel transforms for acb_poly 2016-10-19 14:51:27 +02:00
borel_transform.c add binomial and borel transforms for acb_poly 2016-10-19 14:51:27 +02:00
clear.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
compose.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
compose_divconquer.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
compose_horner.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
compose_series.c Replace abort with flint_abort. 2017-02-28 16:52:57 +01:00
compose_series_brent_kung.c Replace abort with flint_abort. 2017-02-28 16:52:57 +01:00
compose_series_horner.c Replace abort with flint_abort. 2017-02-28 16:52:57 +01:00
contains.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
contains_fmpq_poly.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
contains_fmpz_poly.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
cos_pi_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
cos_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
cosh_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
cot_pi_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
derivative.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
digamma_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
div_root.c fix some missing clears() 2016-12-05 14:37:08 +01:00
div_series.c implement acb_dot and use in the acb_poly module 2018-08-26 19:59:30 +02:00
divrem.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
elliptic_k_series.c migrate elliptic functions to the acb_elliptic module 2017-02-12 22:20:33 +01:00
elliptic_p_series.c migrate elliptic functions to the acb_elliptic module 2017-02-12 22:20:33 +01:00
equal.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
erf_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
evaluate.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
evaluate2.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
evaluate2_horner.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
evaluate2_rectangular.c use arb_dot/acb_dot in more polynomial methods 2018-08-26 20:25:31 +02:00
evaluate_horner.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
evaluate_rectangular.c use arb_dot/acb_dot in more polynomial methods 2018-08-26 20:25:31 +02:00
evaluate_vec_fast.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
evaluate_vec_iter.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
exp_pi_i_series.c fix a memory leak 2017-02-16 13:31:54 +01:00
exp_series.c implement acb_dot and use in the acb_poly module 2018-08-26 19:59:30 +02:00
exp_series_basecase.c implement acb_dot and use in the acb_poly module 2018-08-26 19:59:30 +02:00
find_roots.c Replace abort with flint_abort. 2017-02-28 16:52:57 +01:00
fit_length.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
fprintd.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
gamma_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
get_coeff_acb.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
get_unique_fmpz_poly.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
graeffe_transform.c Slightly optimize memory usage 2021-07-28 16:07:46 +02:00
init.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
inlines.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
integral.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
interpolate_barycentric.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
interpolate_fast.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
interpolate_newton.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
inv_borel_transform.c add binomial and borel transforms for acb_poly 2016-10-19 14:51:27 +02:00
inv_series.c implement acb_dot and use in the acb_poly module 2018-08-26 19:59:30 +02:00
lambertw_series.c Lambert W function of power series 2017-03-20 22:56:37 +01:00
lgamma_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
log1p_series.c add arb_poly_log1p_series, acb_poly_log1p_series 2017-02-26 15:22:25 +01:00
log_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
majorant.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
mul.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
mullow.c implement acb_dot and use in the acb_poly module 2018-08-26 19:59:30 +02:00
mullow_classical.c implement acb_dot and use in the acb_poly module 2018-08-26 19:59:30 +02:00
mullow_transpose.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
mullow_transpose_gauss.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
normalise.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
overlaps.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
polylog_series.c faster dilog implementation 2017-02-24 21:58:23 +01:00
pow_acb_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
pow_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
pow_ui.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
pow_ui_trunc_binexp.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
powsum_one_series_sieved.c partially refactor and move power series code to the acb_dirichlet module 2016-10-21 20:32:46 +02:00
powsum_series_naive.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
powsum_series_naive_threaded.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
product_roots.c add arb_poly_product_roots_complex; add test code and slight optimization for arb/acb_poly_product_roots 2017-06-21 15:07:40 +02:00
randtest.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
refine_roots_durand_kerner.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
reverse.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
revert_series.c Replace abort with flint_abort. 2017-02-28 16:52:57 +01:00
revert_series_lagrange.c Replace abort with flint_abort. 2017-02-28 16:52:57 +01:00
revert_series_lagrange_fast.c use arb_dot/acb_dot in more polynomial methods 2018-08-26 20:25:31 +02:00
revert_series_newton.c Replace abort with flint_abort. 2017-02-28 16:52:57 +01:00
rgamma_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
rising_ui_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
root_bound_fujiwara.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
root_inclusion.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
rsqrt_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
set.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
set2_arb_poly.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
set2_fmpq_poly.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
set2_fmpz_poly.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
set_coeff_acb.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
set_coeff_si.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
set_fmpz_poly.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
set_length.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
set_round.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
set_si.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
set_trunc.c add poly set_trunc and set_trunc_round methods 2016-09-02 16:01:15 +02:00
set_trunc_round.c add poly set_trunc and set_trunc_round methods 2016-09-02 16:01:15 +02:00
shift_left.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
shift_right.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
sin_cos_pi_series.c implement acb_dot and use in the acb_poly module 2018-08-26 19:59:30 +02:00
sin_cos_series.c implement acb_dot and use in the acb_poly module 2018-08-26 19:59:30 +02:00
sin_cos_series_basecase.c implement acb_dot and use in the acb_poly module 2018-08-26 19:59:30 +02:00
sin_cos_series_tangent.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
sin_pi_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
sin_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
sinc_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
sinh_cosh_series.c implement acb_dot and use in the acb_poly module 2018-08-26 19:59:30 +02:00
sinh_cosh_series_basecase.c implement acb_dot and use in the acb_poly module 2018-08-26 19:59:30 +02:00
sinh_cosh_series_exponential.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
sinh_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
sqrt_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
sub.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
sub_series.c add polynomial add_series and sub_series methods 2016-09-07 16:03:47 +02:00
tan_series.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
taylor_shift.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
taylor_shift_convolution.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
taylor_shift_divconquer.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
taylor_shift_horner.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
tree.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
validate_real_roots.c Add CMakeLists.txt 2016-06-24 16:19:27 +05:30
validate_roots.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
valuation.c add polynomial valuation functions 2016-09-07 16:25:32 +02:00
zeta_em_bound.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
zeta_em_choose_param.c fix an inefficiency in hurwitz zeta in a special case 2020-03-23 16:53:04 +01:00
zeta_em_sum.c add space-efficient powsum_smooth version 2016-10-22 00:26:10 +02:00
zeta_em_tail_bsplit.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
zeta_em_tail_naive.c update copyright headers to switch from GPL to LGPL 2016-04-26 17:20:05 +02:00
zeta_series.c add acb_dirichlet_zeta_jet + first derivative using Riemann-Siegel; also fix a bug in Riemann-Siegel code 2017-11-20 19:14:20 +01:00