Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-11-07 10:15:26

0001 /*
0002     Copyright (C) 2023 Albin Ahlbäck
0003 
0004     This file is part of FLINT.
0005 
0006     FLINT is free software: you can redistribute it and/or modify it under
0007     the terms of the GNU Lesser General Public License (LGPL) as published
0008     by the Free Software Foundation; either version 3 of the License, or
0009     (at your option) any later version.  See <https://www.gnu.org/licenses/>.
0010 */
0011 
0012 #ifndef LIMB_TYPES_H
0013 #define LIMB_TYPES_H
0014 
0015 #include "flint.h"
0016 
0017 #ifdef __cplusplus
0018 extern "C" {
0019 #endif
0020 
0021 #define FLINT_MAX_FACTORS_IN_LIMB 15
0022 
0023 typedef struct
0024 {
0025    int num;
0026    int exp[FLINT_MAX_FACTORS_IN_LIMB];
0027    ulong p[FLINT_MAX_FACTORS_IN_LIMB];
0028 }
0029 n_factor_t;
0030 
0031 typedef struct
0032 {
0033     slong small_i;
0034     slong small_num;
0035     unsigned int * small_primes;
0036 
0037     ulong sieve_a;
0038     ulong sieve_b;
0039     slong sieve_i;
0040     slong sieve_num;
0041     char * sieve;
0042 }
0043 n_primes_struct;
0044 
0045 typedef n_primes_struct n_primes_t[1];
0046 
0047 #ifdef __cplusplus
0048 }
0049 #endif
0050 
0051 #endif /* LIMB_TYPES_H */