1 /*
2 Copyright (C) 2015 Kushagra Singh
3
4 This file is part of FLINT.
5
6 FLINT is free software: you can redistribute it and/or modify it under
7 the terms of the GNU Lesser General Public License (LGPL) as published
8 by the Free Software Foundation; either version 2.1 of the License, or
9 (at your option) any later version. See <https://www.gnu.org/licenses/>.
10 */
11
12 #include <gmp.h>
13 #include "flint.h"
14 #include "fmpz.h"
15 #include "mpn_extras.h"
16
17 void
fmpz_factor_ecm_init(ecm_t ecm_inf,mp_limb_t sz)18 fmpz_factor_ecm_init(ecm_t ecm_inf, mp_limb_t sz)
19 {
20 ecm_inf->t = flint_malloc(sz * sizeof(mp_limb_t));
21 ecm_inf->u = flint_malloc(sz * sizeof(mp_limb_t));
22 ecm_inf->v = flint_malloc(sz * sizeof(mp_limb_t));
23 ecm_inf->w = flint_malloc(sz * sizeof(mp_limb_t));
24
25 ecm_inf->x = flint_malloc(sz * sizeof(mp_limb_t));
26 ecm_inf->z = flint_malloc(sz * sizeof(mp_limb_t));
27
28 ecm_inf->a24 = flint_malloc(sz * sizeof(mp_limb_t));
29 ecm_inf->ninv = flint_malloc(sz * sizeof(mp_limb_t));
30 ecm_inf->one = flint_malloc(sz * sizeof(mp_limb_t));
31
32 mpn_zero(ecm_inf->t, sz);
33 mpn_zero(ecm_inf->u, sz);
34 mpn_zero(ecm_inf->v, sz);
35 mpn_zero(ecm_inf->w, sz);
36
37 mpn_zero(ecm_inf->x, sz);
38 mpn_zero(ecm_inf->z, sz);
39
40 mpn_zero(ecm_inf->a24, sz);
41 mpn_zero(ecm_inf->ninv, sz);
42 mpn_zero(ecm_inf->one, sz);
43
44 ecm_inf->n_size = sz;
45 }
46