[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     ! 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>