Inexor
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
bigint< BI_DIGITS > Struct Template Reference
Inheritance diagram for bigint< BI_DIGITS >:
gfield

Public Types

typedef ushort digit
 
typedef uint dbldigit
 

Public Member Functions

 bigint ()
 
 bigint (digit n)
 
 bigint (const char *s)
 
template<int Y_DIGITS>
 bigint (const bigint< Y_DIGITS > &y)
 
void parse (const char *s)
 
void zero ()
 
template<int Y_DIGITS>
bigintoperator= (const bigint< Y_DIGITS > &y)
 
bool iszero () const
 
bool isone () const
 
int numbits () const
 
bool hasbit (int n) const
 
bool morebits (int n) const
 
template<int X_DIGITS, int Y_DIGITS>
bigintadd (const bigint< X_DIGITS > &x, const bigint< Y_DIGITS > &y)
 
template<int Y_DIGITS>
bigintadd (const bigint< Y_DIGITS > &y)
 
template<int X_DIGITS, int Y_DIGITS>
bigintsub (const bigint< X_DIGITS > &x, const bigint< Y_DIGITS > &y)
 
template<int Y_DIGITS>
bigintsub (const bigint< Y_DIGITS > &y)
 
void shrink ()
 
void shrinkdigits (int n)
 
void shrinkbits (int n)
 
template<int Y_DIGITS>
void copyshrinkdigits (const bigint< Y_DIGITS > &y, int n)
 
template<int Y_DIGITS>
void copyshrinkbits (const bigint< Y_DIGITS > &y, int n)
 
template<int X_DIGITS, int Y_DIGITS>
bigintmul (const bigint< X_DIGITS > &x, const bigint< Y_DIGITS > &y)
 
bigintrshift (int n)
 
bigintlshift (int n)
 
void zerodigits (int i, int n)
 
void zerobits (int i, int n)
 
template<int Y_DIGITS>
void copydigits (int to, const bigint< Y_DIGITS > &y, int from, int n)
 
template<int Y_DIGITS>
void copybits (int to, const bigint< Y_DIGITS > &y, int from, int n)
 
void dupdigits (int to, int from, int n)
 
void dupbits (int to, int from, int n)
 
template<int Y_DIGITS>
bool operator== (const bigint< Y_DIGITS > &y) const
 
template<int Y_DIGITS>
bool operator!= (const bigint< Y_DIGITS > &y) const
 
template<int Y_DIGITS>
bool operator< (const bigint< Y_DIGITS > &y) const
 
template<int Y_DIGITS>
bool operator> (const bigint< Y_DIGITS > &y) const
 
template<int Y_DIGITS>
bool operator<= (const bigint< Y_DIGITS > &y) const
 
template<int Y_DIGITS>
bool operator>= (const bigint< Y_DIGITS > &y) const
 

Static Public Member Functions

static int parsedigits (ushort *digits, int maxlen, const char *s)
 

Public Attributes

int len
 
digit digits [BI_DIGITS]
 

Member Typedef Documentation

template<int BI_DIGITS>
typedef uint bigint< BI_DIGITS >::dbldigit
template<int BI_DIGITS>
typedef ushort bigint< BI_DIGITS >::digit

Constructor & Destructor Documentation

template<int BI_DIGITS>
bigint< BI_DIGITS >::bigint ( )
inline
template<int BI_DIGITS>
bigint< BI_DIGITS >::bigint ( digit  n)
inline
template<int BI_DIGITS>
bigint< BI_DIGITS >::bigint ( const char *  s)
inline
template<int BI_DIGITS>
template<int Y_DIGITS>
bigint< BI_DIGITS >::bigint ( const bigint< Y_DIGITS > &  y)
inline

Member Function Documentation

template<int BI_DIGITS>
template<int X_DIGITS, int Y_DIGITS>
bigint& bigint< BI_DIGITS >::add ( const bigint< X_DIGITS > &  x,
const bigint< Y_DIGITS > &  y 
)
inline
template<int BI_DIGITS>
template<int Y_DIGITS>
bigint& bigint< BI_DIGITS >::add ( const bigint< Y_DIGITS > &  y)
inline
template<int BI_DIGITS>
template<int Y_DIGITS>
void bigint< BI_DIGITS >::copybits ( int  to,
const bigint< Y_DIGITS > &  y,
int  from,
int  n 
)
inline
template<int BI_DIGITS>
template<int Y_DIGITS>
void bigint< BI_DIGITS >::copydigits ( int  to,
const bigint< Y_DIGITS > &  y,
int  from,
int  n 
)
inline
template<int BI_DIGITS>
template<int Y_DIGITS>
void bigint< BI_DIGITS >::copyshrinkbits ( const bigint< Y_DIGITS > &  y,
int  n 
)
inline
template<int BI_DIGITS>
template<int Y_DIGITS>
void bigint< BI_DIGITS >::copyshrinkdigits ( const bigint< Y_DIGITS > &  y,
int  n 
)
inline
template<int BI_DIGITS>
void bigint< BI_DIGITS >::dupbits ( int  to,
int  from,
int  n 
)
inline
template<int BI_DIGITS>
void bigint< BI_DIGITS >::dupdigits ( int  to,
int  from,
int  n 
)
inline
template<int BI_DIGITS>
bool bigint< BI_DIGITS >::hasbit ( int  n) const
inline
template<int BI_DIGITS>
bool bigint< BI_DIGITS >::isone ( ) const
inline
template<int BI_DIGITS>
bool bigint< BI_DIGITS >::iszero ( ) const
inline
template<int BI_DIGITS>
bigint& bigint< BI_DIGITS >::lshift ( int  n)
inline
template<int BI_DIGITS>
bool bigint< BI_DIGITS >::morebits ( int  n) const
inline

References BI_DIGIT_BITS, and bigint< BI_DIGITS >::len.

Referenced by gfield::reduce().

template<int BI_DIGITS>
template<int X_DIGITS, int Y_DIGITS>
bigint& bigint< BI_DIGITS >::mul ( const bigint< X_DIGITS > &  x,
const bigint< Y_DIGITS > &  y 
)
inline
template<int BI_DIGITS>
int bigint< BI_DIGITS >::numbits ( ) const
inline
template<int BI_DIGITS>
template<int Y_DIGITS>
bool bigint< BI_DIGITS >::operator!= ( const bigint< Y_DIGITS > &  y) const
inline
template<int BI_DIGITS>
template<int Y_DIGITS>
bool bigint< BI_DIGITS >::operator< ( const bigint< Y_DIGITS > &  y) const
inline
template<int BI_DIGITS>
template<int Y_DIGITS>
bool bigint< BI_DIGITS >::operator<= ( const bigint< Y_DIGITS > &  y) const
inline
template<int BI_DIGITS>
template<int Y_DIGITS>
bigint& bigint< BI_DIGITS >::operator= ( const bigint< Y_DIGITS > &  y)
inline
template<int BI_DIGITS>
template<int Y_DIGITS>
bool bigint< BI_DIGITS >::operator== ( const bigint< Y_DIGITS > &  y) const
inline
template<int BI_DIGITS>
template<int Y_DIGITS>
bool bigint< BI_DIGITS >::operator> ( const bigint< Y_DIGITS > &  y) const
inline
template<int BI_DIGITS>
template<int Y_DIGITS>
bool bigint< BI_DIGITS >::operator>= ( const bigint< Y_DIGITS > &  y) const
inline
template<int BI_DIGITS>
void bigint< BI_DIGITS >::parse ( const char *  s)
inline
template<int BI_DIGITS>
static int bigint< BI_DIGITS >::parsedigits ( ushort digits,
int  maxlen,
const char *  s 
)
inlinestatic
template<int BI_DIGITS>
bigint& bigint< BI_DIGITS >::rshift ( int  n)
inline
template<int BI_DIGITS>
void bigint< BI_DIGITS >::shrink ( )
inline
template<int BI_DIGITS>
void bigint< BI_DIGITS >::shrinkbits ( int  n)
inline
template<int BI_DIGITS>
void bigint< BI_DIGITS >::shrinkdigits ( int  n)
inline
template<int BI_DIGITS>
template<int X_DIGITS, int Y_DIGITS>
bigint& bigint< BI_DIGITS >::sub ( const bigint< X_DIGITS > &  x,
const bigint< Y_DIGITS > &  y 
)
inline
template<int BI_DIGITS>
template<int Y_DIGITS>
bigint& bigint< BI_DIGITS >::sub ( const bigint< Y_DIGITS > &  y)
inline
template<int BI_DIGITS>
void bigint< BI_DIGITS >::zero ( )
inline

References bigint< BI_DIGITS >::len.

Referenced by ecjacobian::calcy().

template<int BI_DIGITS>
void bigint< BI_DIGITS >::zerobits ( int  i,
int  n 
)
inline
template<int BI_DIGITS>
void bigint< BI_DIGITS >::zerodigits ( int  i,
int  n 
)
inline

Member Data Documentation

template<int BI_DIGITS>
digit bigint< BI_DIGITS >::digits[BI_DIGITS]
template<int BI_DIGITS>
int bigint< BI_DIGITS >::len

The documentation for this struct was generated from the following file: