1 /* mp.h -- Definitions for Berkeley compatible multiple precision functions.
3 Copyright (C) 1991, 1993 Free Software Foundation, Inc.
5 This file is part of the GNU MP Library.
7 The GNU MP Library is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2, or (at your option)
12 The GNU MP Library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with the GNU MP Library; see the file COPYING. If not, write to
19 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
35 long int alloc; /* Number of *limbs* allocated and pointed
37 long int size; /* abs(SIZE) is the number of limbs
38 the last field points to. If SIZE
39 is negative this is a negative
41 unsigned long int *d; /* Pointer to the limbs. */
46 short int alloc; /* Number of *limbs* allocated and pointed
48 short int size; /* abs(SIZE) is the number of limbs
49 the last field points to. If SIZE
50 is negative this is a negative
52 unsigned long int *d; /* Pointer to the limbs. */
60 void mp_set_memory_functions (void *(*) (size_t),
61 void *(*) (void *, size_t, size_t),
62 void (*) (void *, size_t));
63 MINT *itom (signed short int);
64 MINT *xtom (const char *);
65 void move (const MINT *, MINT *);
66 void madd (const MINT *, const MINT *, MINT *);
67 void msub (const MINT *, const MINT *, MINT *);
68 void mult (const MINT *, const MINT *, MINT *);
69 void mdiv (const MINT *, const MINT *, MINT *, MINT *);
70 void sdiv (const MINT *, signed short int, MINT *, signed short int *);
71 void msqrt (const MINT *, MINT *, MINT *);
72 void pow (const MINT *, const MINT *, const MINT *, MINT *);
73 void rpow (const MINT *, signed short int, MINT *);
74 void gcd (const MINT *, const MINT *, MINT *);
75 int mcmp (const MINT *, const MINT *);
77 void mout (const MINT *);
78 char *mtox (const MINT *);
83 void mp_set_memory_functions ();
103 #endif /* __MP_H__ */