Skip to content

Commit

Permalink
change DLL build to use declspec annotations rather then a DEF file
Browse files Browse the repository at this point in the history
  • Loading branch information
BrianGladman committed Aug 20, 2014
1 parent 012a0bd commit bc29b7d
Show file tree
Hide file tree
Showing 90 changed files with 18,537 additions and 31,815 deletions.
40 changes: 20 additions & 20 deletions NTL-interface.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,107 +62,107 @@ extern "C" {
Assumes the fmpz_t has already been allocated to have sufficient space.
*/
void fmpz_set_ZZ(fmpz_t rop, const ZZ& op);
FLINT_DLL void fmpz_set_ZZ(fmpz_t rop, const ZZ& op);

/*
Converts an fmpz_t to an NTL ZZ. Allocation is automatically handled.
*/
void fmpz_get_ZZ(ZZ& rop, const fmpz_t op);
FLINT_DLL void fmpz_get_ZZ(ZZ& rop, const fmpz_t op);


/*
Converts an NTL ZZ_p to an fmpz_t.
Assumes the fmpz_t has already been allocated to have sufficient space.
*/
void fmpz_set_ZZ_p(fmpz_t rop, const ZZ_p& op);
FLINT_DLL void fmpz_set_ZZ_p(fmpz_t rop, const ZZ_p& op);

/*
Converts an fmpz_t to an NTL ZZ_p. Allocation is automatically handled.
*/
void fmpz_get_ZZ_p(ZZ_p& rop, const fmpz_t op);
FLINT_DLL void fmpz_get_ZZ_p(ZZ_p& rop, const fmpz_t op);

/*
Converts an NTL zz_p to an fmpz_t.
*/
void fmpz_set_zz_p(fmpz_t rop, const zz_p& op);
FLINT_DLL void fmpz_set_zz_p(fmpz_t rop, const zz_p& op);

/*
Converts an fmpz_t to an NTL zz_p.
*/
void fmpz_get_zz_p(zz_p& rop, const fmpz_t op);
FLINT_DLL void fmpz_get_zz_p(zz_p& rop, const fmpz_t op);

/*
Converts an fmpz_poly_t to an NTL ZZX.
*/
void fmpz_poly_get_ZZX(ZZX& rop, const fmpz_poly_t op);
FLINT_DLL void fmpz_poly_get_ZZX(ZZX& rop, const fmpz_poly_t op);

/*
Converts an NTL ZZX to an fmpz_poly_t.
*/
void fmpz_poly_set_ZZX(fmpz_poly_t rop, const ZZX& op);
FLINT_DLL void fmpz_poly_set_ZZX(fmpz_poly_t rop, const ZZX& op);

/*
Converts an fmpz_mod_poly_t to an NTL ZZ_pX.
*/
void fmpz_mod_poly_get_ZZ_pX(ZZ_pX& rop, const fmpz_mod_poly_t op);
FLINT_DLL void fmpz_mod_poly_get_ZZ_pX(ZZ_pX& rop, const fmpz_mod_poly_t op);

/*
Converts an NTL ZZ_pX to an fmpz_poly_t.
*/
void fmpz_mod_poly_set_ZZ_pX(fmpz_mod_poly_t rop, const ZZ_pX& op);
FLINT_DLL void fmpz_mod_poly_set_ZZ_pX(fmpz_mod_poly_t rop, const ZZ_pX& op);

/*
Converts an fq_t to an NTL ZZ_pE.
*/
void fq_get_ZZ_pE(ZZ_pE& rop, const fq_t op, const fq_ctx_t ctx);
FLINT_DLL void fq_get_ZZ_pE(ZZ_pE& rop, const fq_t op, const fq_ctx_t ctx);

/*
Converts an NTL ZZ_pE to an fq_t.
*/
void fq_set_ZZ_pE(fq_t rop, const ZZ_pE& op, const fq_ctx_t ctx);
FLINT_DLL void fq_set_ZZ_pE(fq_t rop, const ZZ_pE& op, const fq_ctx_t ctx);


/*
Converts an fq_poly_t to an NTL ZZ_pEX.
*/
void fq_poly_get_ZZ_pEX(ZZ_pEX& rop, const fq_poly_t op, const fq_ctx_t ctx);
FLINT_DLL void fq_poly_get_ZZ_pEX(ZZ_pEX& rop, const fq_poly_t op, const fq_ctx_t ctx);

/*
Converts an NTL ZZ_pEX to an fq_poly_t.
*/
void fq_poly_set_ZZ_pEX(fq_poly_t rop, const ZZ_pEX& op, const fq_ctx_t ctx);
FLINT_DLL void fq_poly_set_ZZ_pEX(fq_poly_t rop, const ZZ_pEX& op, const fq_ctx_t ctx);

/*
Converts an fmpz_mod_poly_t to an NTL zz_pX.
*/
void fmpz_mod_poly_get_zz_pX(zz_pX& rop, const fmpz_mod_poly_t op);
FLINT_DLL void fmpz_mod_poly_get_zz_pX(zz_pX& rop, const fmpz_mod_poly_t op);

/*
Converts an NTL zz_pX to an fmpz_poly_t.
*/
void fmpz_mod_poly_set_zz_pX(fmpz_mod_poly_t rop, const zz_pX& op);
FLINT_DLL void fmpz_mod_poly_set_zz_pX(fmpz_mod_poly_t rop, const zz_pX& op);

/*
Converts an fq_t to an NTL zz_pE.
*/
void fq_get_zz_pE(zz_pE& rop, const fq_t op, const fq_ctx_t ctx);
FLINT_DLL void fq_get_zz_pE(zz_pE& rop, const fq_t op, const fq_ctx_t ctx);

/*
Converts an NTL zz_pE to an fq_t.
*/
void fq_set_zz_pE(fq_t rop, const zz_pE& op, const fq_ctx_t ctx);
FLINT_DLL void fq_set_zz_pE(fq_t rop, const zz_pE& op, const fq_ctx_t ctx);


/*
Converts an fq_poly_t to an NTL zz_pEX.
*/
void fq_poly_get_zz_pEX(zz_pEX& rop, const fq_poly_t op, const fq_ctx_t ctx);
FLINT_DLL void fq_poly_get_zz_pEX(zz_pEX& rop, const fq_poly_t op, const fq_ctx_t ctx);

/*
Converts an NTL zz_pEX to an fq_poly_t.
*/
void fq_poly_set_zz_pEX(fq_poly_t rop, const zz_pEX& op, const fq_ctx_t ctx);
FLINT_DLL void fq_poly_set_zz_pEX(fq_poly_t rop, const zz_pEX& op, const fq_ctx_t ctx);

#ifdef __cplusplus
}
Expand Down
108 changes: 54 additions & 54 deletions arith.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,44 +42,44 @@

/* MPFR extras ***************************************************************/

void mpfr_zeta_inv_euler_product(mpfr_t res, ulong s, int char_4);
FLINT_DLL void mpfr_zeta_inv_euler_product(mpfr_t res, ulong s, int char_4);

/* Various arithmetic functions **********************************************/

#define arith_primorial fmpz_primorial

void _arith_harmonic_number(fmpz_t num, fmpz_t den, slong n);
void arith_harmonic_number(fmpq_t x, slong n);
FLINT_DLL void _arith_harmonic_number(fmpz_t num, fmpz_t den, slong n);
FLINT_DLL void arith_harmonic_number(fmpq_t x, slong n);

void arith_ramanujan_tau(fmpz_t res, const fmpz_t n);
void arith_ramanujan_tau_series(fmpz_poly_t res, slong n);
FLINT_DLL void arith_ramanujan_tau(fmpz_t res, const fmpz_t n);
FLINT_DLL void arith_ramanujan_tau_series(fmpz_poly_t res, slong n);

void arith_divisors(fmpz_poly_t res, const fmpz_t n);
FLINT_DLL void arith_divisors(fmpz_poly_t res, const fmpz_t n);

#define arith_divisor_sigma fmpz_divisor_sigma
#define arith_moebius_mu fmpz_moebius_mu
#define arith_euler_phi fmpz_euler_phi

/* Stirling numbers **********************************************************/

void arith_stirling_number_1u(fmpz_t s, slong n, slong k);
void arith_stirling_number_1(fmpz_t s, slong n, slong k);
void arith_stirling_number_2(fmpz_t s, slong n, slong k);
FLINT_DLL void arith_stirling_number_1u(fmpz_t s, slong n, slong k);
FLINT_DLL void arith_stirling_number_1(fmpz_t s, slong n, slong k);
FLINT_DLL void arith_stirling_number_2(fmpz_t s, slong n, slong k);

void arith_stirling_number_1u_vec(fmpz * row, slong n, slong klen);
void arith_stirling_number_1_vec(fmpz * row, slong n, slong klen);
void arith_stirling_number_2_vec(fmpz * row, slong n, slong klen);
FLINT_DLL void arith_stirling_number_1u_vec(fmpz * row, slong n, slong klen);
FLINT_DLL void arith_stirling_number_1_vec(fmpz * row, slong n, slong klen);
FLINT_DLL void arith_stirling_number_2_vec(fmpz * row, slong n, slong klen);

void arith_stirling_number_1u_vec_next(fmpz * row,
FLINT_DLL void arith_stirling_number_1u_vec_next(fmpz * row,
const fmpz * prev, slong n, slong klen);
void arith_stirling_number_1_vec_next(fmpz * row,
FLINT_DLL void arith_stirling_number_1_vec_next(fmpz * row,
const fmpz * prev, slong n, slong klen);
void arith_stirling_number_2_vec_next(fmpz * row,
FLINT_DLL void arith_stirling_number_2_vec_next(fmpz * row,
const fmpz * prev, slong n, slong klen);

void arith_stirling_matrix_1u(fmpz_mat_t mat);
void arith_stirling_matrix_1(fmpz_mat_t mat);
void arith_stirling_matrix_2(fmpz_mat_t mat);
FLINT_DLL void arith_stirling_matrix_1u(fmpz_mat_t mat);
FLINT_DLL void arith_stirling_matrix_1(fmpz_mat_t mat);
FLINT_DLL void arith_stirling_matrix_2(fmpz_mat_t mat);

/* Bell numbers **************************************************************/

Expand All @@ -91,21 +91,21 @@ void arith_stirling_matrix_2(fmpz_mat_t mat);

extern const mp_limb_t bell_number_tab[];

double arith_bell_number_size(ulong n);
FLINT_DLL double arith_bell_number_size(ulong n);

void arith_bell_number(fmpz_t b, ulong n);
void arith_bell_number_bsplit(fmpz_t res, ulong n);
void arith_bell_number_multi_mod(fmpz_t res, ulong n);
FLINT_DLL void arith_bell_number(fmpz_t b, ulong n);
FLINT_DLL void arith_bell_number_bsplit(fmpz_t res, ulong n);
FLINT_DLL void arith_bell_number_multi_mod(fmpz_t res, ulong n);

void arith_bell_number_vec(fmpz * b, slong n);
void arith_bell_number_vec_recursive(fmpz * b, slong n);
void arith_bell_number_vec_multi_mod(fmpz * b, slong n);
FLINT_DLL void arith_bell_number_vec(fmpz * b, slong n);
FLINT_DLL void arith_bell_number_vec_recursive(fmpz * b, slong n);
FLINT_DLL void arith_bell_number_vec_multi_mod(fmpz * b, slong n);

mp_limb_t arith_bell_number_nmod(ulong n, nmod_t mod);
FLINT_DLL mp_limb_t arith_bell_number_nmod(ulong n, nmod_t mod);

void arith_bell_number_nmod_vec(mp_ptr b, slong n, nmod_t mod);
void arith_bell_number_nmod_vec_recursive(mp_ptr b, slong n, nmod_t mod);
void arith_bell_number_nmod_vec_series(mp_ptr b, slong n, nmod_t mod);
FLINT_DLL void arith_bell_number_nmod_vec(mp_ptr b, slong n, nmod_t mod);
FLINT_DLL void arith_bell_number_nmod_vec_recursive(mp_ptr b, slong n, nmod_t mod);
FLINT_DLL void arith_bell_number_nmod_vec_series(mp_ptr b, slong n, nmod_t mod);


/* Euler numbers *************************************************************/
Expand All @@ -127,12 +127,12 @@ static const mp_limb_t euler_number_small[] = {

double arith_euler_number_size(ulong n);

void arith_euler_number_vec(fmpz * res, slong n);
FLINT_DLL void arith_euler_number_vec(fmpz * res, slong n);

void _arith_euler_number_zeta(fmpz_t res, ulong n);
void arith_euler_number(fmpz_t res, ulong n);
FLINT_DLL void _arith_euler_number_zeta(fmpz_t res, ulong n);
FLINT_DLL void arith_euler_number(fmpz_t res, ulong n);

void arith_euler_polynomial(fmpq_poly_t poly, ulong n);
FLINT_DLL void arith_euler_polynomial(fmpq_poly_t poly, ulong n);

/* Bernoulli numbers *********************************************************/

Expand All @@ -151,32 +151,32 @@ static const slong _bernoulli_numer_small[] = {
};

void _arith_bernoulli_number(fmpz_t num, fmpz_t den, ulong n);
void arith_bernoulli_number(fmpq_t x, ulong n);
FLINT_DLL void arith_bernoulli_number(fmpq_t x, ulong n);

void _arith_bernoulli_number_vec(fmpz * num, fmpz * den, slong n);
void arith_bernoulli_number_vec(fmpq * num, slong n);
FLINT_DLL void _arith_bernoulli_number_vec(fmpz * num, fmpz * den, slong n);
FLINT_DLL void arith_bernoulli_number_vec(fmpq * num, slong n);

void arith_bernoulli_number_denom(fmpz_t den, ulong n);
double arith_bernoulli_number_size(ulong n);
FLINT_DLL void arith_bernoulli_number_denom(fmpz_t den, ulong n);
FLINT_DLL double arith_bernoulli_number_size(ulong n);

void arith_bernoulli_polynomial(fmpq_poly_t poly, ulong n);
FLINT_DLL void arith_bernoulli_polynomial(fmpq_poly_t poly, ulong n);

void _arith_bernoulli_number_zeta(fmpz_t num, fmpz_t den, ulong n);
void _arith_bernoulli_number_vec_multi_mod(fmpz * num, fmpz * den, slong n);
void _arith_bernoulli_number_vec_recursive(fmpz * num, fmpz * den, slong n);
void _arith_bernoulli_number_vec_zeta(fmpz * num, fmpz * den, slong n);
FLINT_DLL void _arith_bernoulli_number_zeta(fmpz_t num, fmpz_t den, ulong n);
FLINT_DLL void _arith_bernoulli_number_vec_multi_mod(fmpz * num, fmpz * den, slong n);
FLINT_DLL void _arith_bernoulli_number_vec_recursive(fmpz * num, fmpz * den, slong n);
FLINT_DLL void _arith_bernoulli_number_vec_zeta(fmpz * num, fmpz * den, slong n);

/* Cyclotomic polynomials ****************************************************/

#define _arith_cyclotomic_polynomial _fmpz_poly_cyclotomic
#define arith_cyclotomic_polynomial fmpz_poly_cyclotomic

void _arith_cos_minpoly(fmpz * coeffs, slong d, ulong n);
void arith_cos_minpoly(fmpz_poly_t poly, ulong n);
FLINT_DLL void _arith_cos_minpoly(fmpz * coeffs, slong d, ulong n);
FLINT_DLL void arith_cos_minpoly(fmpz_poly_t poly, ulong n);

/* Hypergeometric polynomials ************************************************/

void arith_legendre_polynomial(fmpq_poly_t poly, ulong n);
FLINT_DLL void arith_legendre_polynomial(fmpq_poly_t poly, ulong n);

#define _arith_chebyshev_t_polynomial _fmpz_poly_chebyshev_t
#define arith_chebyshev_t_polynomial fmpz_poly_chebyshev_t
Expand All @@ -190,7 +190,7 @@ void arith_legendre_polynomial(fmpq_poly_t poly, ulong n);

/* Landau function ***********************************************************/

void arith_landau_function_vec(fmpz * res, slong len);
FLINT_DLL void arith_landau_function_vec(fmpz * res, slong len);

/* Dedekind sums *************************************************************/

Expand Down Expand Up @@ -223,19 +223,19 @@ void trig_prod_init(trig_prod_t sum)
sum->sqrt_q = 1;
}

void arith_hrr_expsum_factored(trig_prod_t prod, mp_limb_t k, mp_limb_t n);
FLINT_DLL void arith_hrr_expsum_factored(trig_prod_t prod, mp_limb_t k, mp_limb_t n);

/* Number of partitions ******************************************************/

void arith_number_of_partitions_nmod_vec(mp_ptr res, slong len, nmod_t mod);
void arith_number_of_partitions_vec(fmpz * res, slong len);
void arith_number_of_partitions_mpfr(mpfr_t x, ulong n);
void arith_number_of_partitions(fmpz_t x, ulong n);
FLINT_DLL void arith_number_of_partitions_nmod_vec(mp_ptr res, slong len, nmod_t mod);
FLINT_DLL void arith_number_of_partitions_vec(fmpz * res, slong len);
FLINT_DLL void arith_number_of_partitions_mpfr(mpfr_t x, ulong n);
FLINT_DLL void arith_number_of_partitions(fmpz_t x, ulong n);

/* Number of sums of squares representations *********************************/

void arith_sum_of_squares(fmpz_t r, ulong k, const fmpz_t n);
void arith_sum_of_squares_vec(fmpz * r, ulong k, slong n);
FLINT_DLL void arith_sum_of_squares(fmpz_t r, ulong k, const fmpz_t n);
FLINT_DLL void arith_sum_of_squares_vec(fmpz * r, ulong k, slong n);

#ifdef __cplusplus
}
Expand Down
8 changes: 8 additions & 0 deletions build.vc12/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -339,4 +339,12 @@ MA 02111-1307, USA. */
#define MSC_CC_(x) MSC_C_(x)
#define MSC_VERSION "Microsoft C++ (Version " MSC_CC_(_MSC_FULL_VER) ")"
#define FLINT_CPIMPORT "C:\\Users\\brian\\Documents\\Visual Studio 2013\\Projects\\flint2\\qadic\\CPimport.txt"

#if defined (MSC_BUILD_DLL)
#define FLINT_DLL __declspec(dllexport)
#elif defined(MSC_USE_DLL)
#define FLINT_DLL __declspec(dllimport)
#else
#define FLINT_DLL
#endif
#endif
Loading

0 comments on commit bc29b7d

Please sign in to comment.