X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fruntime%2Fgmp%2Fgmp.h;fp=ghc%2Fruntime%2Fgmp%2Fgmp.h;h=0000000000000000000000000000000000000000;hb=438596897ebbe25a07e1c82085cfbc5bdb00f09e;hp=91ee7af1a8ac302da67c37fc8803f85303e3cd2c;hpb=967cc47f37cb93a5e2b6df7822c9a646f0428247;p=ghc-hetmet.git diff --git a/ghc/runtime/gmp/gmp.h b/ghc/runtime/gmp/gmp.h deleted file mode 100644 index 91ee7af..0000000 --- a/ghc/runtime/gmp/gmp.h +++ /dev/null @@ -1,302 +0,0 @@ -/* gmp.h -- Definitions for GNU multiple precision functions. - -Copyright (C) 1991, 1993 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -The GNU MP Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with the GNU MP Library; see the file COPYING. If not, write to -the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ - -#ifndef __GMP_H__ -#define __GMP_H__ - -#define __GNU_MP__ - -#ifndef __MP_H__ -#define __need_size_t -#include -#endif - -#ifndef MINT -#ifndef __MP_SMALL__ -typedef struct -{ - long int alloc; /* Number of *limbs* allocated and pointed - to by the D field. */ - long int size; /* abs(SIZE) is the number of limbs - the last field points to. If SIZE - is negative this is a negative - number. */ - unsigned long int *d; /* Pointer to the limbs. */ -} __MP_INT; -#else -typedef struct -{ - short int alloc; /* Number of *limbs* allocated and pointed - to by the D field. */ - short int size; /* abs(SIZE) is the number of limbs - the last field points to. If SIZE - is negative this is a negative - number. */ - unsigned long int *d; /* Pointer to the limbs. */ -} __MP_INT; -#endif -#endif - -#define MP_INT __MP_INT - -typedef unsigned long int mp_limb; -typedef long int mp_limb_signed; -typedef mp_limb * mp_ptr; -#ifdef __STDC__ -typedef const mp_limb * mp_srcptr; -#else -typedef mp_limb * mp_srcptr; -#endif -typedef long int mp_size; - -/* Structure for rational numbers. Zero is represented as 0/any, i.e. - the denominator is ignored. Negative numbers have the sign in - the numerator. */ -typedef struct -{ - MP_INT num; - MP_INT den; -#if 0 - long int num_alloc; /* Number of limbs allocated - for the numerator. */ - long int num_size; /* The absolute value of this field is the - length of the numerator; the sign is the - sign of the entire rational number. */ - mp_ptr num; /* Pointer to the numerator limbs. */ - long int den_alloc; /* Number of limbs allocated - for the denominator. */ - long int den_size; /* Length of the denominator. (This field - should always be positive.) */ - mp_ptr den; /* Pointer to the denominator limbs. */ -#endif -} MP_RAT; - -#ifdef __STDC__ -void mp_set_memory_functions (void *(*) (size_t), - void *(*) (void *, size_t, size_t), - void (*) (void *, size_t)); - -/**************** Integer (i.e. Z) routines. ****************/ - -void mpz_init (MP_INT *); -void mpz_set (MP_INT *, const MP_INT *); -void mpz_set_ui (MP_INT *, unsigned long int); -void mpz_set_si (MP_INT *, signed long int); -int mpz_set_str (MP_INT *, const char *, int); -void mpz_init_set (MP_INT *, const MP_INT *); -void mpz_init_set_ui (MP_INT *, unsigned long int); -void mpz_init_set_si (MP_INT *, signed long int); -int mpz_init_set_str (MP_INT *, const char *, int); -unsigned long int mpz_get_ui (const MP_INT *); -signed long int mpz_get_si (const MP_INT *); -char * mpz_get_str (char *, int, const MP_INT *); -void mpz_clear (MP_INT *); -void * _mpz_realloc (MP_INT *, mp_size); -void mpz_add (MP_INT *, const MP_INT *, const MP_INT *); -void mpz_add_ui (MP_INT *, const MP_INT *, unsigned long int); -void mpz_sub (MP_INT *, const MP_INT *, const MP_INT *); -void mpz_sub_ui (MP_INT *, const MP_INT *, unsigned long int); -void mpz_mul (MP_INT *, const MP_INT *, const MP_INT *); -void mpz_mul_ui (MP_INT *, const MP_INT *, unsigned long int); -void mpz_div (MP_INT *, const MP_INT *, const MP_INT *); -void mpz_div_ui (MP_INT *, const MP_INT *, unsigned long int); -void mpz_mod (MP_INT *, const MP_INT *, const MP_INT *); -void mpz_mod_ui (MP_INT *, const MP_INT *, unsigned long int); -void mpz_divmod (MP_INT *, MP_INT *, const MP_INT *, const MP_INT *); -void mpz_divmod_ui (MP_INT *, MP_INT *, const MP_INT *, unsigned long int); -void mpz_mdiv (MP_INT *, const MP_INT *, const MP_INT *); -void mpz_mdiv_ui (MP_INT *, const MP_INT *, unsigned long int); -void mpz_mmod (MP_INT *, const MP_INT *, const MP_INT *); -unsigned long int mpz_mmod_ui (MP_INT *, const MP_INT *, unsigned long int); -void mpz_mdivmod (MP_INT *, MP_INT *, const MP_INT *, const MP_INT *); -unsigned long int mpz_mdivmod_ui (MP_INT *, MP_INT *, const MP_INT *, - unsigned long int); -void mpz_sqrt (MP_INT *, const MP_INT *); -void mpz_sqrtrem (MP_INT *, MP_INT *, const MP_INT *); -int mpz_perfect_square_p (const MP_INT *); -int mpz_probab_prime_p (const MP_INT *, int); -void mpz_powm (MP_INT *, const MP_INT *, const MP_INT *, const MP_INT *); -void mpz_powm_ui (MP_INT *, const MP_INT *, unsigned long int, const MP_INT *); -void mpz_pow_ui (MP_INT *, const MP_INT *, unsigned long int); -void mpz_fac_ui (MP_INT *, unsigned long int); -void mpz_gcd (MP_INT *, const MP_INT *, const MP_INT *); -void mpz_gcdext (MP_INT *, MP_INT *, MP_INT *, const MP_INT *, const MP_INT *); -void mpz_neg (MP_INT *, const MP_INT *); -void mpz_com (MP_INT *, const MP_INT *); -void mpz_abs (MP_INT *, const MP_INT *); -int mpz_cmp (const MP_INT *, const MP_INT *); -int mpz_cmp_ui (const MP_INT *, unsigned long int); -int mpz_cmp_si (const MP_INT *, signed long int); -void mpz_mul_2exp (MP_INT *, const MP_INT *, unsigned long int); -void mpz_div_2exp (MP_INT *, const MP_INT *, unsigned long int); -void mpz_mod_2exp (MP_INT *, const MP_INT *, unsigned long int); -void mpz_and (MP_INT *, const MP_INT *, const MP_INT *); -void mpz_ior (MP_INT *, const MP_INT *, const MP_INT *); -void mpz_xor (MP_INT *, const MP_INT *, const MP_INT *); - -#if defined (FILE) || defined (_STDIO_H) || defined (__STDIO_H__) -void mpz_inp_raw (MP_INT *, FILE *); -void mpz_inp_str (MP_INT *, FILE *, int); -void mpz_out_raw (FILE *, const MP_INT *); -void mpz_out_str (FILE *, int, const MP_INT *); -#endif - -void mpz_array_init (MP_INT [], size_t, mp_size); -void mpz_random (MP_INT *, mp_size); -void mpz_random2 (MP_INT *, mp_size); -size_t mpz_size (const MP_INT *); -size_t mpz_sizeinbase (const MP_INT *, int); - -/**************** Rational (i.e. Q) routines. ****************/ - -void mpq_init (MP_RAT *); -void mpq_clear (MP_RAT *); -void mpq_set (MP_RAT *, const MP_RAT *); -void mpq_set_ui (MP_RAT *, unsigned long int, unsigned long int); -void mpq_set_si (MP_RAT *, signed long int, unsigned long int); -void mpq_add (MP_RAT *, const MP_RAT *, const MP_RAT *); -void mpq_sub (MP_RAT *, const MP_RAT *, const MP_RAT *); -void mpq_mul (MP_RAT *, const MP_RAT *, const MP_RAT *); -void mpq_div (MP_RAT *, const MP_RAT *, const MP_RAT *); -void mpq_neg (MP_RAT *, const MP_RAT *); -int mpq_cmp (const MP_RAT *, const MP_RAT *); -void mpq_inv (MP_RAT *, const MP_RAT *); -void mpq_set_num (MP_RAT *, const MP_INT *); -void mpq_set_den (MP_RAT *, const MP_INT *); -void mpq_get_num (MP_INT *, const MP_RAT *); -void mpq_get_den (MP_INT *, const MP_RAT *); - -/************ Low level positive-integer (i.e. N) routines. ************/ - -mp_limb mpn_add (mp_ptr, mp_srcptr, mp_size, mp_srcptr, mp_size); -mp_size mpn_sub (mp_ptr, mp_srcptr, mp_size, mp_srcptr, mp_size); -mp_size mpn_mul (mp_ptr, mp_srcptr, mp_size, mp_srcptr, mp_size); -mp_size mpn_div (mp_ptr, mp_ptr, mp_size, mp_srcptr, mp_size); -mp_limb mpn_divmod_1 (mp_ptr, mp_srcptr, mp_size, mp_limb); -mp_limb mpn_mod_1 (mp_srcptr, mp_size, mp_limb); -mp_limb mpn_lshift (mp_ptr, mp_srcptr, mp_size, unsigned int); -mp_size mpn_rshift (mp_ptr, mp_srcptr, mp_size, unsigned int); -mp_size mpn_rshiftci (mp_ptr, mp_srcptr, mp_size, unsigned int, mp_limb); -mp_size mpn_sqrt (mp_ptr, mp_ptr, mp_srcptr, mp_size); -int mpn_cmp (mp_srcptr, mp_srcptr, mp_size); - -#else /* ! __STDC__ */ -void mp_set_memory_functions (); - -/**************** Integer (i.e. Z) routines. ****************/ - -void mpz_init (); -void mpz_set (); -void mpz_set_ui (); -void mpz_set_si (); -int mpz_set_str (); -void mpz_init_set (); -void mpz_init_set_ui (); -void mpz_init_set_si (); -int mpz_init_set_str (); -unsigned long int mpz_get_ui (); -long int mpz_get_si (); -char * mpz_get_str (); -void mpz_clear (); -void * _mpz_realloc (); -void mpz_add (); -void mpz_add_ui (); -void mpz_sub (); -void mpz_sub_ui (); -void mpz_mul (); -void mpz_mul_ui (); -void mpz_div (); -void mpz_div_ui (); -void mpz_mod (); -void mpz_mod_ui (); -void mpz_divmod (); -void mpz_divmod_ui (); -void mpz_mdiv (); -void mpz_mdiv_ui (); -void mpz_mmod (); -unsigned long int mpz_mmod_ui (); -void mpz_mdivmod (); -unsigned long int mpz_mdivmod_ui (); -void mpz_sqrt (); -void mpz_sqrtrem (); -int mpz_perfect_square_p (); -int mpz_probab_prime_p (); -void mpz_powm (); -void mpz_powm_ui (); -void mpz_pow_ui (); -void mpz_fac_ui (); -void mpz_gcd (); -void mpz_gcdext (); -void mpz_neg (); -void mpz_com (); -void mpz_abs (); -int mpz_cmp (); -int mpz_cmp_ui (); -int mpz_cmp_si (); -void mpz_mul_2exp (); -void mpz_div_2exp (); -void mpz_mod_2exp (); -void mpz_and (); -void mpz_ior (); -void mpz_xor (); - -void mpz_inp_raw (); -void mpz_inp_str (); -void mpz_out_raw (); -void mpz_out_str (); - -void mpz_array_init (); -void mpz_random (); -void mpz_random2 (); -size_t mpz_size (); -size_t mpz_sizeinbase (); - -/**************** Rational (i.e. Q) routines. ****************/ - -void mpq_init (); -void mpq_clear (); -void mpq_set (); -void mpq_set_ui (); -void mpq_set_si (); -void mpq_add (); -void mpq_sub (); -void mpq_mul (); -void mpq_div (); -void mpq_neg (); -int mpq_cmp (); -void mpq_inv (); -void mpq_set_num (); -void mpq_set_den (); -void mpq_get_num (); -void mpq_get_den (); - -/************ Low level positive-integer (i.e. N) routines. ************/ - -mp_limb mpn_add (); -mp_size mpn_sub (); -mp_size mpn_mul (); -mp_size mpn_div (); -mp_limb mpn_lshift (); -mp_size mpn_rshift (); -mp_size mpn_rshiftci (); -int mpn_cmp (); -#endif /* __STDC__ */ - -#endif /* __GMP_H__ */