Annotation of GNUtools/cctools/as/bignum.h, revision 1.1.1.1

1.1       root        1: /* bignum.h-arbitrary precision integers
                      2:    Copyright (C) 1987 Free Software Foundation, Inc.
                      3: 
                      4: This file is part of GAS, the GNU Assembler.
                      5: 
                      6: GAS is free software; you can redistribute it and/or modify
                      7: it under the terms of the GNU General Public License as published by
                      8: the Free Software Foundation; either version 1, or (at your option)
                      9: any later version.
                     10: 
                     11: GAS is distributed in the hope that it will be useful,
                     12: but WITHOUT ANY WARRANTY; without even the implied warranty of
                     13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     14: GNU General Public License for more details.
                     15: 
                     16: You should have received a copy of the GNU General Public License
                     17: along with GAS; see the file COPYING.  If not, write to
                     18: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
                     19: 
                     20: /***********************************************************************\
                     21: *                                                                      *
                     22: *      Arbitrary-precision integer arithmetic.                         *
                     23: *      For speed, we work in groups of bits, even though this          *
                     24: *      complicates algorithms.                                         *
                     25: *      Each group of bits is called a 'littlenum'.                     *
                     26: *      A bunch of littlenums representing a (possibly large)           *
                     27: *      integer is called a 'bignum'.                                   *
                     28: *      Bignums are >= 0.                                               *
                     29: *                                                                      *
                     30: \***********************************************************************/
                     31: 
                     32: #define        LITTLENUM_NUMBER_OF_BITS        (16)
                     33: #define        LITTLENUM_RADIX                 (1 << LITTLENUM_NUMBER_OF_BITS)
                     34: #define        LITTLENUM_MASK                  (0xFFFF)
                     35: #define LITTLENUM_SHIFT                        (1)
                     36: #define CHARS_PER_LITTLENUM            (1 << LITTLENUM_SHIFT)
                     37: #ifndef BITS_PER_CHAR
                     38: #define BITS_PER_CHAR                  (8)
                     39: #endif
                     40: 
                     41: typedef unsigned short int     LITTLENUM_TYPE;
                     42: 
                     43: 
                     44: /* JF truncated this to get around a problem with GCC */
                     45: #define        LOG_TO_BASE_2_OF_10     (3.3219280948873623478703194294893901758651)
                     46: /* WARNING: I haven't checked that the trailing digits are correct! */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.