3 // Copyright (C) 1989-1992 Massachusetts Institute of Technology
4 // Portions copyright (C) 2004-2009 Slava Pestov
6 // This material was developed by the Scheme project at the Massachusetts
7 // Institute of Technology, Department of Electrical Engineering and
8 // Computer Science. Permission to copy and modify this software, to
9 // redistribute either the original software or a modified version, and
10 // to use this software for any purpose is granted, subject to the
11 // following restrictions and understandings.
13 // 1. Any copy made of this software must include this copyright notice
16 // 2. Users of this software agree to make their best efforts (a) to
17 // return to the MIT Scheme project any improvements or extensions that
18 // they make, so that these may be included in future releases; and (b)
19 // to inform MIT of noteworthy uses of this software.
21 // 3. All materials developed as a consequence of the use of this
22 // software shall duly acknowledge such use, in accordance with the usual
23 // standards of acknowledging credit in academic research.
25 // 4. MIT has made no warrantee or representation that the operation of
26 // this software will be error-free, and MIT is under no obligation to
27 // provide any services, by way of maintenance, update, or otherwise.
29 // 5. In conjunction with products arising from the use of this material,
30 // there shall be no use of the name of the Massachusetts Institute of
31 // Technology nor of any adaptation thereof in any advertising,
32 // promotional, or sales literature without prior written consent from
35 #define BIGNUM_OUT_OF_BAND ((bignum*)0)
37 enum bignum_comparison {
38 BIGNUM_COMPARISON_EQUAL = 0,
39 BIGNUM_COMPARISON_LESS = -1,
40 BIGNUM_COMPARISON_GREATER = 1
43 cell bignum_maybe_to_fixnum(bignum* bn);
44 cell bignum_to_cell(bignum* bn);
45 fixnum bignum_to_fixnum(bignum* bn);
46 int64_t bignum_to_long_long(bignum* bn);
47 uint64_t bignum_to_ulong_long(bignum* bn);