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,
const Integer y
 

long lg const Integer x  )  [inline]
 

Definition at line 848 of file Integer.h.

References lg(), and Integer::rep.

long lg const IntRep  ) 
 

Referenced by lg().

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

Definition at line 543 of file Integer.h.

References lshift(), and Integer::rep.

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

Definition at line 488 of file Integer.h.

References lshift(), and Integer::rep.

IntRep* lshift const IntRep ,
const IntRep ,
int  ,
IntRep
 

IntRep* lshift const IntRep ,
long  ,
IntRep
 

Referenced by lshift(), operator<<(), and rshift().

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

Definition at line 523 of file Integer.h.

References mod(), and Integer::rep.

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

Definition at line 468 of file Integer.h.

References mod(), and Integer::rep.

IntRep* mod const IntRep ,
long  ,
IntRep
 

IntRep* mod const IntRep ,
const IntRep ,
IntRep
 

Referenced by mod(), and operator%().

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

Definition at line 583 of file Integer.h.

References multiply(), and Integer::rep.

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

Definition at line 513 of file Integer.h.

References multiply(), and Integer::rep.

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

Definition at line 458 of file Integer.h.

References multiply(), and Integer::rep.

Referenced by operator *(), and sqr().

IntRep* multiply const IntRep ,
long  ,
IntRep
 

IntRep* multiply const IntRep ,
const IntRep ,
IntRep
 

Referenced by mul(), ThRightNormalForm::operator *(), ThLeftNormalForm::operator *(), ThRightNormalForm::operator *=(), and ThLeftNormalForm::operator *=().

void negate1 const Integer x,
Integer dest
[inline]
 

Definition at line 563 of file Integer.h.

References negate1(), and Integer::rep.

IntRep* negate1 const IntRep ,
IntRep
 

Referenced by negate1(), and operator-().

char* oct const Integer x,
int  width = 0
 

int odd const Integer y  )  [inline]
 

Definition at line 836 of file Integer.h.

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

Integer operator & long  ,
const Integer
[inline]
 

Definition at line 1166 of file Integer.h.

References _and().

Integer operator & const Integer ,
long 
[inline]
 

Definition at line 1161 of file Integer.h.

References _and().

Integer operator & const Integer ,
const Integer
[inline]
 

Definition at line 1156 of file Integer.h.

References _and().

Integer operator * long  ,
const Integer
[inline]
 

Definition at line 1146 of file Integer.h.

References mul().

Integer operator * const Integer ,
long 
[inline]
 

Definition at line 1141 of file Integer.h.

References mul().

Integer operator * const Integer ,
const Integer
[inline]
 

Definition at line 1136 of file Integer.h.

References mul().

int operator!= const Integer ,
long 
[inline]
 

Definition at line 621 of file Integer.h.

References compare().

int operator!= const Integer ,
const Integer
[inline]
 

Definition at line 616 of file Integer.h.

References compare().

Integer operator% const Integer ,
long 
[inline]
 

Definition at line 1216 of file Integer.h.

References mod().

Integer operator% const Integer ,
const Integer
[inline]
 

Definition at line 1211 of file Integer.h.

References mod().

Integer operator+ long  ,
const Integer
[inline]
 

Definition at line 1116 of file Integer.h.

References add().

Integer operator+ const Integer ,
long 
[inline]
 

Definition at line 1111 of file Integer.h.

References add().

Integer operator+ const Integer ,
const Integer
[inline]
 

Definition at line 1106 of file Integer.h.

References add().

Integer operator- long  ,
const Integer
[inline]
 

Definition at line 1131 of file Integer.h.

References sub().

Integer operator- const Integer ,
long 
[inline]
 

Definition at line 1126 of file Integer.h.

References sub().

Integer operator- const Integer ,
const Integer
[inline]
 

Definition at line 1121 of file Integer.h.

References sub().

Integer operator- const Integer  )  [inline]
 

Definition at line 1263 of file Integer.h.

References negate1().

Integer operator/ const Integer ,
long 
[inline]
 

Definition at line 1206 of file Integer.h.

References div().

Integer operator/ const Integer ,
const Integer
[inline]
 

Definition at line 1201 of file Integer.h.

References div().

int operator< const Integer ,
long 
[inline]
 

Definition at line 631 of file Integer.h.

References compare().

int operator< const Integer ,
const Integer
[inline]
 

Definition at line 626 of file Integer.h.

References compare().

Integer operator<< const Integer ,
long 
[inline]
 

Definition at line 1226 of file Integer.h.

References lshift().

Integer operator<< const Integer ,
const Integer
[inline]
 

Definition at line 1221 of file Integer.h.

References lshift().

int operator<= const Integer ,
long 
[inline]
 

Definition at line 641 of file Integer.h.

References compare().

int operator<= const Integer ,
const Integer
[inline]
 

Definition at line 636 of file Integer.h.

References compare().

int operator== const Integer ,
long 
[inline]
 

Definition at line 611 of file Integer.h.

References compare().

int operator== const Integer ,
const Integer
[inline]
 

Definition at line 606 of file Integer.h.

References compare().

int operator> const Integer ,
long 
[inline]
 

Definition at line 651 of file Integer.h.

References compare().

int operator> const Integer ,
const Integer
[inline]
 

Definition at line 646 of file Integer.h.

References compare().

int operator>= const Integer ,
long 
[inline]
 

Definition at line 661 of file Integer.h.

References compare().

int operator>= const Integer ,
const Integer
[inline]
 

Definition at line 656 of file Integer.h.

References compare().

Integer operator>> const Integer ,
long 
[inline]
 

Definition at line 1236 of file Integer.h.

References rshift().

Integer operator>> const Integer ,
const Integer
[inline]
 

Definition at line 1231 of file Integer.h.

References rshift().

Integer operator^ long  ,
const Integer
[inline]
 

Definition at line 1196 of file Integer.h.

References _xor().

Integer operator^ const Integer ,
long 
[inline]
 

Definition at line 1191 of file Integer.h.

References _xor().

Integer operator^ const Integer ,
const Integer
[inline]
 

Definition at line 1186 of file Integer.h.

References _xor().

Integer operator| long  ,
const Integer
[inline]
 

Definition at line 1181 of file Integer.h.

References _or().

Integer operator| const Integer ,
long 
[inline]
 

Definition at line 1176 of file Integer.h.

References _or().

Integer operator| const Integer ,
const Integer
[inline]
 

Definition at line 1171 of file Integer.h.

References _or().

Integer operator~ const Integer  )  [inline]
 

Definition at line 1268 of file Integer.h.

References complement().

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

Definition at line 553 of file Integer.h.

References power(), and Integer::rep.

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

Definition at line 498 of file Integer.h.

References Itolong(), power(), and Integer::rep.

Integer pow const Integer x,
long  y
[inline]
 

Definition at line 1241 of file Integer.h.

References pow().

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

Definition at line 1251 of file Integer.h.

References pow().

IntRep* pow const IntRep ,
long 
 

Referenced by Ipow(), and pow().

IntRep* power const IntRep ,
long  ,
IntRep
 

Referenced by pow().

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

Definition at line 548 of file Integer.h.

References lshift(), and Integer::rep.

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

Definition at line 493 of file Integer.h.

References lshift(), and Integer::rep.

Referenced by operator>>().

int sign const Integer x  )  [inline]
 

Definition at line 826 of file Integer.h.

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

Referenced by sign().

Integer sqr const Integer  )  [inline]
 

Definition at line 1151 of file Integer.h.

References mul().

Integer sqrt const Integer  ) 
 

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

Definition at line 578 of file Integer.h.

References add(), and Integer::rep.

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

Definition at line 508 of file Integer.h.

References add(), and Integer::rep.

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

Definition at line 453 of file Integer.h.

References add(), and Integer::rep.

Referenced by operator-().

int ucompare long  x,
const Integer y
[inline]
 

Definition at line 443 of file Integer.h.

References Integer::rep, and ucompare().

int ucompare const Integer x,
long  y
[inline]
 

Definition at line 433 of file Integer.h.

References Integer::rep, and ucompare().

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

Definition at line 423 of file Integer.h.

References Integer::rep, and ucompare().

int ucompare const IntRep ,
long 
 

int ucompare const IntRep ,
const IntRep
 

Referenced by ucompare().


Variable Documentation

MinusOneRep _MinusOneRep [static]
 

OneRep _OneRep [static]
 

ZeroRep _ZeroRep [static]
 


Generated on Sun Dec 3 10:58:57 2006 for CRyptography And Groups (CRAG) by  doxygen 1.4.6