mirror of
https://github.com/vale981/arb
synced 2025-03-04 17:01:40 -05:00
simplify paths
This commit is contained in:
parent
28c969927c
commit
cfa3545e2b
13 changed files with 22 additions and 22 deletions
22
acb_dft.h
22
acb_dft.h
|
@ -25,8 +25,8 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
void _acb_dft_pol(acb_ptr w, acb_srcptr v, slong dv, acb_srcptr z, slong dz, slong len, slong prec);
|
||||
void acb_dft_pol(acb_ptr w, acb_srcptr v, slong len, slong prec);
|
||||
void _acb_dft_naive(acb_ptr w, acb_srcptr v, slong dv, acb_srcptr z, slong dz, slong len, slong prec);
|
||||
void acb_dft_naive(acb_ptr w, acb_srcptr v, slong len, slong prec);
|
||||
void acb_dft_crt(acb_ptr w, acb_srcptr v, slong len, slong prec);
|
||||
void acb_dft_cyc(acb_ptr w, acb_srcptr v, slong len, slong prec);
|
||||
void acb_dft_rad2(acb_ptr v, int e, slong prec);
|
||||
|
@ -120,9 +120,9 @@ typedef struct
|
|||
acb_ptr z;
|
||||
slong dz;
|
||||
}
|
||||
acb_dft_pol_struct;
|
||||
acb_dft_naive_struct;
|
||||
|
||||
typedef acb_dft_pol_struct acb_dft_pol_t[1];
|
||||
typedef acb_dft_naive_struct acb_dft_naive_t[1];
|
||||
|
||||
typedef struct
|
||||
{
|
||||
|
@ -133,7 +133,7 @@ typedef struct
|
|||
acb_dft_cyc_t cyc;
|
||||
acb_dft_prod_t prod;
|
||||
acb_dft_crt_t crt;
|
||||
acb_dft_pol_t pol;
|
||||
acb_dft_naive_t pol;
|
||||
} t;
|
||||
}
|
||||
acb_dft_pre_struct;
|
||||
|
@ -172,9 +172,9 @@ void acb_dft_step(acb_ptr w, acb_srcptr v, acb_dft_step_ptr cyc, slong num, slon
|
|||
void acb_dft_precomp(acb_ptr w, acb_srcptr v, const acb_dft_pre_t pre, slong prec);
|
||||
|
||||
ACB_DFT_INLINE void
|
||||
acb_dft_pol_precomp(acb_ptr w, acb_srcptr v, const acb_dft_pol_t pol, slong prec)
|
||||
acb_dft_naive_precomp(acb_ptr w, acb_srcptr v, const acb_dft_naive_t pol, slong prec)
|
||||
{
|
||||
_acb_dft_pol(w, v, pol->dv, pol->z, pol->dz, pol->n, prec);
|
||||
_acb_dft_naive(w, v, pol->dv, pol->z, pol->dz, pol->n, prec);
|
||||
}
|
||||
ACB_DFT_INLINE void
|
||||
acb_dft_cyc_precomp(acb_ptr w, acb_srcptr v, const acb_dft_cyc_t cyc, slong prec)
|
||||
|
@ -214,16 +214,16 @@ acb_dft_cyc_init(acb_dft_cyc_t t, slong len, slong prec)
|
|||
|
||||
void acb_dft_cyc_clear(acb_dft_cyc_t t);
|
||||
|
||||
void _acb_dft_pol_init(acb_dft_pol_t pol, slong dv, acb_ptr z, slong dz, slong len, slong prec);
|
||||
void _acb_dft_naive_init(acb_dft_naive_t pol, slong dv, acb_ptr z, slong dz, slong len, slong prec);
|
||||
|
||||
ACB_DFT_INLINE void
|
||||
acb_dft_pol_init(acb_dft_pol_t pol, slong len, slong prec)
|
||||
acb_dft_naive_init(acb_dft_naive_t pol, slong len, slong prec)
|
||||
{
|
||||
_acb_dft_pol_init(pol, 1, NULL, 0, len, prec);
|
||||
_acb_dft_naive_init(pol, 1, NULL, 0, len, prec);
|
||||
}
|
||||
|
||||
ACB_DFT_INLINE void
|
||||
acb_dft_pol_clear(acb_dft_pol_t pol)
|
||||
acb_dft_naive_clear(acb_dft_naive_t pol)
|
||||
{
|
||||
if (pol->zclear)
|
||||
_acb_vec_clear(pol->z, pol->n);
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
/* all roots are already computed */
|
||||
void
|
||||
_acb_dft_pol(acb_ptr w, acb_srcptr v, slong dv, acb_srcptr z, slong dz, slong len, slong prec)
|
||||
_acb_dft_naive(acb_ptr w, acb_srcptr v, slong dv, acb_srcptr z, slong dz, slong len, slong prec)
|
||||
{
|
||||
slong i, j;
|
||||
acb_ptr wi;
|
||||
|
@ -29,17 +29,17 @@ _acb_dft_pol(acb_ptr w, acb_srcptr v, slong dv, acb_srcptr z, slong dz, slong le
|
|||
}
|
||||
|
||||
void
|
||||
acb_dft_pol(acb_ptr w, acb_srcptr v, slong len, slong prec)
|
||||
acb_dft_naive(acb_ptr w, acb_srcptr v, slong len, slong prec)
|
||||
{
|
||||
acb_ptr z;
|
||||
z = _acb_vec_init(len);
|
||||
_acb_vec_unit_roots(z, len, prec);
|
||||
_acb_dft_pol(w, v, 1, z, 1, len, prec);
|
||||
_acb_dft_naive(w, v, 1, z, 1, len, prec);
|
||||
_acb_vec_clear(z, len);
|
||||
}
|
||||
|
||||
void
|
||||
_acb_dft_pol_init(acb_dft_pol_t pol, slong dv, acb_ptr z, slong dz, slong len, slong prec)
|
||||
_acb_dft_naive_init(acb_dft_naive_t pol, slong dv, acb_ptr z, slong dz, slong len, slong prec)
|
||||
{
|
||||
pol->n = len;
|
||||
pol->dv = dv;
|
||||
|
@ -47,7 +47,7 @@ _acb_dft_pol_init(acb_dft_pol_t pol, slong dv, acb_ptr z, slong dz, slong len, s
|
|||
if (z == NULL)
|
||||
{
|
||||
if (DFT_VERB)
|
||||
flint_printf("warning: init z[%ld] in dft_pol, should be avoided\n",len);
|
||||
flint_printf("warning: init z[%ld] in dft_naive, should be avoided\n",len);
|
||||
pol->z = _acb_vec_init(len);
|
||||
_acb_vec_unit_roots(pol->z, len, prec);
|
||||
pol->dz = 1;
|
|
@ -23,7 +23,7 @@ _acb_dft_precomp_init(acb_dft_pre_t pre, slong dv, acb_ptr z, slong dz, slong le
|
|||
{
|
||||
/* TODO: need convolution if len is large */
|
||||
pre->type = DFT_POL;
|
||||
_acb_dft_pol_init(pre->t.pol, dv, z, dz, len, prec);
|
||||
_acb_dft_naive_init(pre->t.pol, dv, z, dz, len, prec);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -58,7 +58,7 @@ acb_dft_precomp_clear(acb_dft_pre_t pre)
|
|||
switch (pre->type)
|
||||
{
|
||||
case DFT_POL:
|
||||
acb_dft_pol_clear(pre->t.pol);
|
||||
acb_dft_naive_clear(pre->t.pol);
|
||||
break;
|
||||
case DFT_CYC:
|
||||
acb_dft_cyc_clear(pre->t.cyc);
|
||||
|
@ -82,7 +82,7 @@ acb_dft_precomp(acb_ptr w, acb_srcptr v, const acb_dft_pre_t pre, slong prec)
|
|||
switch (pre->type)
|
||||
{
|
||||
case DFT_POL:
|
||||
acb_dft_pol_precomp(w, v, pre->t.pol, prec);
|
||||
acb_dft_naive_precomp(w, v, pre->t.pol, prec);
|
||||
break;
|
||||
case DFT_CYC:
|
||||
acb_dft_cyc_precomp(w, v, pre->t.cyc, prec);
|
|
@ -61,7 +61,7 @@ int main()
|
|||
flint_rand_t state;
|
||||
|
||||
slong f, nf = 3;
|
||||
do_f func[4] = { acb_dft_pol, acb_dft_cyc, acb_dft_crt , acb_dft_bluestein };
|
||||
do_f func[4] = { acb_dft_naive, acb_dft_cyc, acb_dft_crt , acb_dft_bluestein };
|
||||
char * name[4] = { "pol", "cyc", "crt", "bluestein" };
|
||||
|
||||
flint_printf("dft....");
|
||||
|
@ -112,7 +112,7 @@ int main()
|
|||
for (j = 0; j < n; j++)
|
||||
acb_set_si(v + k, k);
|
||||
|
||||
acb_dft_pol(w1, v, n, prec);
|
||||
acb_dft_naive(w1, v, n, prec);
|
||||
acb_dft_rad2(v, k, prec);
|
||||
|
||||
check_vec_eq_prec(w1, w2, n, prec, digits, n, "pol", "rad2");
|
||||
|
|
|
@ -49,7 +49,7 @@ If `G=\mathbb Z/n\mathbb Z`, we compute the DFT according to the usual conventio
|
|||
|
||||
w_x = \sum_{y\bmod n} v_y e^{-\frac{2iπ}nxy}
|
||||
|
||||
.. function:: void acb_dirichlet_dft_pol(acb_ptr w, acb_srcptr v, slong n, slong prec)
|
||||
.. function:: void acb_dirichlet_dft_naive(acb_ptr w, acb_srcptr v, slong n, slong prec)
|
||||
|
||||
.. function:: void acb_dirichlet_dft_crt(acb_ptr w, acb_srcptr v, slong n, slong prec)
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue