[BACK]Return to mp-h.in CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gmp

Annotation of OpenXM_contrib/gmp/mp-h.in, Revision 1.1.1.1

1.1       ohara       1: /* mp-h.in -- Definitions for the GNU multiple precision library  -*-mode:c-*-
                      2:    BSD mp compatible functions.
                      3:
                      4: Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002 Free Software
                      5: Foundation, Inc.
                      6:
                      7: This file is part of the GNU MP Library.
                      8:
                      9: The GNU MP Library is free software; you can redistribute it and/or modify
                     10: it under the terms of the GNU Lesser General Public License as published by
                     11: the Free Software Foundation; either version 2.1 of the License, or (at your
                     12: option) any later version.
                     13:
                     14: The GNU MP Library is distributed in the hope that it will be useful, but
                     15: WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
                     16: or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
                     17: License for more details.
                     18:
                     19: You should have received a copy of the GNU Lesser General Public License
                     20: along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
                     21: the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
                     22: MA 02111-1307, USA. */
                     23:
                     24: #ifndef __MP_H__
                     25:
                     26:
                     27: /* The following (everything under ifndef __GNU_MP__) must be identical in
                     28:    gmp.h and mp.h to allow both to be included in an application or during
                     29:    the library build.  Use the t-gmp-mp-h.pl script to check.  */
                     30: #ifndef __GNU_MP__
                     31: #define __GNU_MP__ 4
                     32:
                     33: #define __need_size_t  /* tell gcc stddef.h we only want size_t */
                     34: #if defined (__cplusplus)
                     35: #include <cstddef>     /* for size_t */
                     36: #else
                     37: #include <stddef.h>    /* for size_t */
                     38: #endif
                     39: #undef __need_size_t
                     40:
                     41: /* The following instantiated by configure, for internal use only */
                     42: #if ! __GMP_WITHIN_CONFIGURE
                     43: @DEFN_LONG_LONG_LIMB@
                     44: #define __GMP_LIBGMP_DLL  @LIBGMP_DLL@
                     45: #endif
                     46:
                     47: #if  defined (__STDC__)                                 \
                     48:   || defined (__cplusplus)                              \
                     49:   || defined (_AIX)                                     \
                     50:   || defined (__DECC)                                   \
                     51:   || (defined (__mips) && defined (_SYSTYPE_SVR4))      \
                     52:   || defined (_MSC_VER)                                 \
                     53:   || defined (_WIN32)
                     54: #define __GMP_HAVE_CONST        1
                     55: #define __GMP_HAVE_PROTOTYPES   1
                     56: #define __GMP_HAVE_TOKEN_PASTE  1
                     57: #else
                     58: #define __GMP_HAVE_CONST        0
                     59: #define __GMP_HAVE_PROTOTYPES   0
                     60: #define __GMP_HAVE_TOKEN_PASTE  0
                     61: #endif
                     62:
                     63:
                     64: #if __GMP_HAVE_CONST
                     65: #define __gmp_const   const
                     66: #define __gmp_signed  signed
                     67: #else
                     68: #define __gmp_const
                     69: #define __gmp_signed
                     70: #endif
                     71:
                     72: #if defined (__GNUC__) || defined (_MSC_VER) || defined (__BORLANDC__)
                     73: #define __GMP_DECLSPEC_EXPORT  __declspec(dllexport)
                     74: #define __GMP_DECLSPEC_IMPORT  __declspec(dllimport)
                     75: #endif
                     76: #ifdef __WATCOMC__
                     77: #define __GMP_DECLSPEC_EXPORT  __export
                     78: #define __GMP_DECLSPEC_IMPORT  __import
                     79: #endif
                     80: #ifdef __IBMC__
                     81: #define __GMP_DECLSPEC_EXPORT  _Export
                     82: #define __GMP_DECLSPEC_IMPORT  _Import
                     83: #endif
                     84:
                     85: #if __GMP_LIBGMP_DLL
                     86: #if __GMP_WITHIN_GMP
                     87: #define __GMP_DECLSPEC  __GMP_DECLSPEC_EXPORT
                     88: #else
                     89: #define __GMP_DECLSPEC  __GMP_DECLSPEC_IMPORT
                     90: #endif
                     91: #else
                     92: #define __GMP_DECLSPEC
                     93: #endif
                     94:
                     95: #ifdef _SHORT_LIMB
                     96: typedef unsigned int           mp_limb_t;
                     97: typedef int                    mp_limb_signed_t;
                     98: #else
                     99: #ifdef _LONG_LONG_LIMB
                    100: typedef unsigned long long int mp_limb_t;
                    101: typedef long long int          mp_limb_signed_t;
                    102: #else
                    103: typedef unsigned long int      mp_limb_t;
                    104: typedef long int               mp_limb_signed_t;
                    105: #endif
                    106: #endif
                    107:
                    108: typedef mp_limb_t *            mp_ptr;
                    109: typedef __gmp_const mp_limb_t *        mp_srcptr;
                    110: #if defined (_CRAY) && ! defined (_CRAYMPP)
                    111: /* plain `int' is much faster (48 bits) */
                    112: #define __GMP_MP_SIZE_T_INT     1
                    113: typedef int                    mp_size_t;
                    114: typedef int                    mp_exp_t;
                    115: #else
                    116: #define __GMP_MP_SIZE_T_INT     0
                    117: typedef long int               mp_size_t;
                    118: typedef long int               mp_exp_t;
                    119: #endif
                    120:
                    121: typedef struct
                    122: {
                    123:   int _mp_alloc;               /* Number of *limbs* allocated and pointed
                    124:                                   to by the _mp_d field.  */
                    125:   int _mp_size;                        /* abs(_mp_size) is the number of limbs the
                    126:                                   last field points to.  If _mp_size is
                    127:                                   negative this is a negative number.  */
                    128:   mp_limb_t *_mp_d;            /* Pointer to the limbs.  */
                    129: } __mpz_struct;
                    130:
                    131: #endif /* __GNU_MP__ */
                    132:
                    133: /* User-visible types.  */
                    134: typedef __mpz_struct MINT;
                    135:
                    136:
                    137: #if __GMP_HAVE_PROTOTYPES
                    138: #define __GMP_PROTO(x) x
                    139: #else
                    140: #define __GMP_PROTO(x) ()
                    141: #endif
                    142:
                    143: #if defined (__cplusplus)
                    144: extern "C" {
                    145: #endif
                    146:
                    147: #define mp_set_memory_functions __gmp_set_memory_functions
                    148: __GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t),
                    149:                                       void *(*) (void *, size_t, size_t),
                    150:                                       void (*) (void *, size_t)));
                    151: __GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int));
                    152: __GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *));
                    153: __GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *));
                    154: __GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *));
                    155: __GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *));
                    156: __GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *));
                    157: __GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *));
                    158: __GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *));
                    159: __GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *));
                    160: __GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *));
                    161: __GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *));
                    162: __GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *));
                    163: __GMP_DECLSPEC int  mcmp __GMP_PROTO ((const MINT *, const MINT *));
                    164: __GMP_DECLSPEC void min __GMP_PROTO ((MINT *));
                    165: __GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *));
                    166: __GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *));
                    167: __GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *));
                    168:
                    169: #if defined (__cplusplus)
                    170: }
                    171: #endif
                    172:
                    173: #define __MP_H__
                    174: #endif /* __MP_H__ */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>