Integer.h File Reference

#include <iostream>

Go to the source code of this file.

Classes

struct  IntRep
struct  ZeroRep
struct  OneRep
struct  MinusOneRep
class  Integer

Defines

#define STATIC_IntRep(rep)   ((rep)->sz==0)

Typedefs

typedef Integer IntTmp

Functions

IntRepIalloc (IntRep *, const unsigned short *, int, int, int)
IntRepIcalloc (IntRep *, int)
IntRepIcopy_ulong (IntRep *, unsigned long)
IntRepIcopy_long (IntRep *, long)
IntRepIcopy (IntRep *, const IntRep *)
IntRepIresize (IntRep *, int)
IntRepadd (const IntRep *, int, const IntRep *, int, IntRep *)
IntRepadd (const IntRep *, int, long, IntRep *)
IntRepmultiply (const IntRep *, const IntRep *, IntRep *)
IntRepmultiply (const IntRep *, long, IntRep *)
IntReplshift (const IntRep *, long, IntRep *)
IntReplshift (const IntRep *, const IntRep *, int, IntRep *)
IntRepbitop (const IntRep *, const IntRep *, IntRep *, char)
IntRepbitop (const IntRep *, long, IntRep *, char)
IntReppower (const IntRep *, long, IntRep *)
IntRepdiv (const IntRep *, const IntRep *, IntRep *)
IntRepmod (const IntRep *, const IntRep *, IntRep *)
IntRepdiv (const IntRep *, long, IntRep *)
IntRepmod (const IntRep *, long, IntRep *)
IntRep_compl (const IntRep *, IntRep *)
IntRepabs (const IntRep *, IntRep *)
IntRepnegate1 (const IntRep *, IntRep *)
IntReppow (const IntRep *, long)
IntRepgcd (const IntRep *, const IntRep *y)
int compare (const IntRep *, const IntRep *)
int compare (const IntRep *, long)
int ucompare (const IntRep *, const IntRep *)
int ucompare (const IntRep *, long)
char * Itoa (const IntRep *x, int base=10, int width=0)
char * cvtItoa (const IntRep *x, char *fmt, int &fmtlen, int base, int showbase, int width, int align_right, char fillchar, char Xcase, int showpos)
IntRepatoIntRep (const char *s, int base=10)
long Itolong (const IntRep *)
int Iislong (const IntRep *)
long lg (const IntRep *)
IntRepIcopy_zero (IntRep *old)
int operator== (const Integer &, const Integer &)
int operator== (const Integer &, long)
int operator!= (const Integer &, const Integer &)
int operator!= (const Integer &, long)
int operator< (const Integer &, const Integer &)
int operator< (const Integer &, long)
int operator<= (const Integer &, const Integer &)
int operator<= (const Integer &, long)
int operator> (const Integer &, const Integer &)
int operator> (const Integer &, long)
int operator>= (const Integer &, const Integer &)
int operator>= (const Integer &, long)
Integer operator- (const Integer &)
Integer operator~ (const Integer &)
Integer operator+ (const Integer &, const Integer &)
Integer operator+ (const Integer &, long)
Integer operator+ (long, const Integer &)
Integer operator- (const Integer &, const Integer &)
Integer operator- (const Integer &, long)
Integer operator- (long, const Integer &)
Integer operator * (const Integer &, const Integer &)
Integer operator * (const Integer &, long)
Integer operator * (long, const Integer &)
Integer operator/ (const Integer &, const Integer &)
Integer operator/ (const Integer &, long)
Integer operator% (const Integer &, const Integer &)
Integer operator% (const Integer &, long)
Integer operator<< (const Integer &, const Integer &)
Integer operator<< (const Integer &, long)
Integer operator>> (const Integer &, const Integer &)
Integer operator>> (const Integer &, long)
Integer operator & (const Integer &, const Integer &)
Integer operator & (const Integer &, long)
Integer operator & (long, const Integer &)
Integer operator| (const Integer &, const Integer &)
Integer operator| (const Integer &, long)
Integer operator| (long, const Integer &)
Integer operator^ (const Integer &, const Integer &)
Integer operator^ (const Integer &, long)
Integer operator^ (long, const Integer &)
Integer abs (const Integer &)
Integer sqr (const Integer &)
Integer pow (const Integer &x, const Integer &y)
Integer pow (const Integer &x, long y)
Integer Ipow (long x, long y)
char * dec (const Integer &x, int width=0)
char * oct (const Integer &x, int width=0)
char * hex (const Integer &x, int width=0)
Integer sqrt (const Integer &)
Integer lcm (const Integer &x, const Integer &y)
int compare (const Integer &x, const Integer &y)
int ucompare (const Integer &x, const Integer &y)
int compare (const Integer &x, long y)
int ucompare (const Integer &x, long y)
int compare (long x, const Integer &y)
int ucompare (long x, const Integer &y)
void add (const Integer &x, const Integer &y, Integer &dest)
void sub (const Integer &x, const Integer &y, Integer &dest)
void mul (const Integer &x, const Integer &y, Integer &dest)
void div (const Integer &x, const Integer &y, Integer &dest)
void mod (const Integer &x, const Integer &y, Integer &dest)
void _and (const Integer &x, const Integer &y, Integer &dest)
void _or (const Integer &x, const Integer &y, Integer &dest)
void _xor (const Integer &x, const Integer &y, Integer &dest)
void lshift (const Integer &x, const Integer &y, Integer &dest)
void rshift (const Integer &x, const Integer &y, Integer &dest)
void pow (const Integer &x, const Integer &y, Integer &dest)
void add (const Integer &x, long y, Integer &dest)
void sub (const Integer &x, long y, Integer &dest)
void mul (const Integer &x, long y, Integer &dest)
void div (const Integer &x, long y, Integer &dest)
void mod (const Integer &x, long y, Integer &dest)
void _and (const Integer &x, long y, Integer &dest)
void _or (const Integer &x, long y, Integer &dest)
void _xor (const Integer &x, long y, Integer &dest)
void lshift (const Integer &x, long y, Integer &dest)
void rshift (const Integer &x, long y, Integer &dest)
void pow (const Integer &x, long y, Integer &dest)
void abs (const Integer &x, Integer &dest)
void negate1 (const Integer &x, Integer &dest)
void complement (const Integer &x, Integer &dest)
void add (long x, const Integer &y, Integer &dest)
void sub (long x, const Integer &y, Integer &dest)
void mul (long x, const Integer &y, Integer &dest)
void _and (long x, const Integer &y, Integer &dest)
void _or (long x, const Integer &y, Integer &dest)
void _xor (long x, const Integer &y, Integer &dest)
int sign (const Integer &x)
int even (const Integer &y)
int odd (const Integer &y)
char * Itoa (const Integer &y, int base, int width)
long lg (const Integer &x)
Integer atoI (const char *s, int base)
Integer gcd (const Integer &x, const Integer &y)

Variables

ZeroRep _ZeroRep
OneRep _OneRep
MinusOneRep _MinusOneRep


Define Documentation

#define STATIC_IntRep rep   )     ((rep)->sz==0)
 

Definition at line 25 of file Integer.h.

Referenced by Integer::~Integer().


Typedef Documentation

typedef Integer IntTmp
 

Definition at line 383 of file Integer.h.


Function Documentation

void _and long  x,
const Integer y,
Integer dest
[inline]
 

Definition at line 588 of file Integer.h.

References bitop(), and Integer::rep.

void _and const Integer x,
long  y,
Integer dest
[inline]
 

Definition at line 528 of file Integer.h.

References bitop(), and Integer::rep.

void _and const Integer x,
const Integer y,
Integer dest
[inline]
 

Definition at line 473 of file Integer.h.

References bitop(), and Integer::rep.

Referenced by operator &().

IntRep* _compl const IntRep ,
IntRep
 

Referenced by complement().

void _or long  x,
const Integer y,
Integer dest
[inline]
 

Definition at line 593 of file Integer.h.

References bitop(), and Integer::rep.

void _or const Integer x,
long  y,
Integer dest
[inline]
 

Definition at line 533 of file Integer.h.

References bitop(), and Integer::rep.

void _or const Integer x,
const Integer y,
Integer dest
[inline]
 

Definition at line 478 of file Integer.h.

References bitop(), and Integer::rep.

Referenced by operator|().

void _xor long  x,
const Integer y,
Integer dest
[inline]
 

Definition at line 598 of file Integer.h.

References bitop(), and Integer::rep.

void _xor const Integer x,
long  y,
Integer dest
[inline]
 

Definition at line 538 of file Integer.h.

References bitop(), and Integer::rep.

void _xor const Integer x,
const Integer y,
Integer dest
[inline]
 

Definition at line 483 of file Integer.h.

References bitop(), and Integer::rep.

Referenced by operator^().

void abs const Integer x,
Integer dest
[inline]
 

Definition at line 558 of file Integer.h.

References abs(), and Integer::rep.

Integer abs const Integer  )  [inline]
 

Definition at line 1258 of file Integer.h.

References abs().

IntRep* abs const IntRep ,
IntRep
 

Referenced by abs(), and WordDraw::drawCompressedBraid().

void add long  x,
const Integer y,
Integer dest
[inline]
 

Definition at line 573 of file Integer.h.

References add(), and Integer::rep.

void add const Integer x,
long  y,
Integer dest
[inline]
 

Definition at line 503 of file Integer.h.

References add(), and Integer::rep.

void add const Integer x,
const Integer y,
Integer dest
[inline]
 

Definition at line 448 of file Integer.h.

References add(), and Integer::rep.

IntRep* add const IntRep ,
int  ,
long  ,
IntRep
 

IntRep* add const IntRep ,
int  ,
const IntRep ,
int  ,
IntRep
 

Referenced by add(), operator+(), and sub().

Integer atoI const char *  s,
int  base = 10
[inline]
 

Definition at line 1273 of file Integer.h.

References atoIntRep(), and Integer::rep.

IntRep* atoIntRep const char *  s,
int  base = 10
 

Referenced by atoI().

IntRep* bitop const IntRep ,
long  ,
IntRep ,
char 
 

IntRep* bitop const IntRep ,
const IntRep ,
IntRep ,
char 
 

Referenced by _and(), _or(), and _xor().

int compare long  x,
const Integer y
[inline]
 

Definition at line 438 of file Integer.h.

References compare(), and Integer::rep.

int compare const Integer x,
long  y
[inline]
 

Definition at line 428 of file Integer.h.

References compare(), and Integer::rep.

int compare const Integer x,
const Integer y
[inline]
 

Definition at line 418 of file Integer.h.

References compare(), and Integer::rep.

int compare const IntRep ,
long 
 

int compare const IntRep ,
const IntRep
 

Referenced by compare(), operator!=(), operator<(), operator<=(), operator==(), operator>(), and operator>=().

void complement const Integer x,
Integer dest
[inline]
 

Definition at line 568 of file Integer.h.

References _compl(), and Integer::rep.

Referenced by operator~().

char* cvtItoa const IntRep x,
char *  fmt,
int &  fmtlen,
int  base,
int  showbase,
int  width,
int  align_right,
char  fillchar,
char  Xcase,
int  showpos
 

char* dec const Integer x,
int  width = 0
 

void div const Integer x,
long  y,
Integer dest
[inline]
 

Definition at line 518 of file Integer.h.

References div(), and Integer::rep.

void div const Integer x,
const Integer y,
Integer dest
[inline]
 

Definition at line 463 of file Integer.h.

References div(), and Integer::rep.

IntRep* div const IntRep ,
long  ,
IntRep
 

IntRep* div const IntRep ,
const IntRep ,
IntRep
 

Referenced by div(), and operator/().

int even const Integer y  )  [inline]
 

Definition at line 831 of file Integer.h.

References IntRep::len, Integer::rep, and IntRep::s.

Integer gcd const Integer x,
const Integer y
[inline]
 

Definition at line 1278 of file Integer.h.

References gcd(), and Integer::rep.

IntRep* gcd const IntRep ,
const IntRep y
 

Referenced by gcd().

char* hex const Integer x,
int  width = 0
 

IntRep* Ialloc IntRep ,
const unsigned short *  ,
int  ,
int  ,
int 
 

IntRep* Icalloc IntRep ,
int 
 

IntRep* Icopy IntRep ,
const IntRep
 

Referenced by Integer::operator=().

IntRep* Icopy_long IntRep ,
long 
 

Referenced by Integer::operator=().

IntRep* Icopy_ulong IntRep ,
unsigned  long
 

IntRep* Icopy_zero IntRep old  ) 
 

int Iislong const IntRep  ) 
 

Referenced by Integer::fits_in_long().

Integer Ipow long  x,
long  y
[inline]
 

Definition at line 1246 of file Integer.h.

References pow().

IntRep* Iresize IntRep ,
int 
 

char* Itoa const Integer y,
int  base = 10,
int  width = 0
[inline]
 

Definition at line 841 of file Integer.h.

References Itoa(), and Integer::rep.

char* Itoa const IntRep x,
int  base = 10,
int  width = 0
 

Referenced by Itoa().

long Itolong const IntRep  ) 
 

Referenced by Integer::as_long(), and pow().

Integer lcm const Integer x,