# big Namespace Reference

Big Data Type Definition. More...

## Classes

class | Int
class | RSACrypt

## Typedefs

typedef u32 | word
typedef word | u128 [BIGWORDCOUNT_FROMBITCOUNT(128)]
typedef word | u256 [BIGWORDCOUNT_FROMBITCOUNT(256)]
typedef word | u512 [BIGWORDCOUNT_FROMBITCOUNT(512)]
typedef word | u1024 [BIGWORDCOUNT_FROMBITCOUNT(1024)]
typedef word | u2048 [BIGWORDCOUNT_FROMBITCOUNT(2048)]
typedef word | u4096 [BIGWORDCOUNT_FROMBITCOUNT(4096)]
typedef word | u8192 [BIGWORDCOUNT_FROMBITCOUNT(8192)]
typedef word | u16384 [BIGWORDCOUNT_FROMBITCOUNT(16384)]
typedef word | u32768 [BIGWORDCOUNT_FROMBITCOUNT(32768)]

## Functions

BIGONETYPE INLINE void | zero (T &n)
BIGONETYPE INLINE void | usetw (T &a, word b)
BIGONETYPE INLINE void | ssetw (T &a, word b)
BIGONETYPE INLINE void | set (T &a, T &b)
BIGTWOTYPES INLINE void | usetlow (Bigger &a, T &b)
BIGTWOTYPES INLINE void | ssetlow (Bigger &a, T &b)
BIGTWOTYPES INLINE void | sethigh (Bigger &a, T &b)
BIGTWOTYPES INLINE void | takelow (T &a, Bigger &b)
BIGTWOTYPES INLINE void | takehigh (T &a, Bigger &b)
BIGONETYPE bool | ugreater (T &a, T &b)
BIGONETYPE bool | ugreaterOrEqual (T &a, T &b)
BIGONETYPE bool | sgreater (T &a, T &b)
BIGONETYPE bool | sgreaterOrEqual (T &a, T &b)
BIGONETYPE INLINE bool | equal (T &a, T &b)
BIGONETYPE INLINE bool | isZero (T &n)
BIGONETYPE void | bAND (T &a, T &b)
BIGONETYPE void | bOR (T &a, T &b)
BIGONETYPE void | bXOR (T &a, T &b)
BIGONETYPE void | bNOT (T &n)
BIGONETYPE void | shiftLeft1 (T &n)
BIGONETYPE void | shiftLeft (T &n, u32 s)
BIGONETYPE void | ushiftRight1 (T &n)
BIGONETYPE void | ushiftRight (T &n, u32 s)
BIGONETYPE void | sshiftRight1 (T &n)
BIGONETYPE void | sshiftRight (T &n, u32 s)
BIGONETYPE void | add (T &a, T &b)
BIGONETYPE void | increment (T &n)
BIGONETYPE void | subtract (T &a, T &b)
BIGONETYPE void | decrement (T &n)
BIGONETYPE void | negate (T &n)
BIGONETYPE void | usquare (T &a)
BIGTWOTYPES void | umultiply (T &a, T &b, Bigger &m)
BIGTWOTYPES void | umultiply (Bigger &a, T &b)
BIGONETYPE void | ssquare (T &a)
BIGTWOTYPES void | smultiply (T &a, T &b, Bigger &m)
BIGTWOTYPES void | smultiply (Bigger &a, T &b)
BIGONETYPE void | udivide (T &a, T &b, T &q, T &r)
BIGONETYPE void | umodulo (T &a, T &b, T &r)
BIGONETYPE void | sdivide (T &a, T &b, T &q, T &r)
BIGONETYPE void | smodulo (T &a, T &b, T &r)
BIGONETYPE void | simpleModExp (T &x0, T &y0, T &n0, T &r0)
BIGONETYPE void | rModn (T &n, T &Rn)
BIGONETYPE void | GCD (T &a0, T &b0, T &c)
BIGONETYPE void | SubMulMod (T &a, T &b, T &c, T &n, T &x)
BIGONETYPE void | computeRinverse (T &n0, T &rp)
BIGONETYPE void | computeModularInverse (T &a0, T &b0, T &ap)
BIGONETYPE void | computeNRinverse (T &n0, T &np)
BIGONETYPE void | MonPro (T &ap, T &bp, T &n, T &np, T &u_out)
BIGONETYPE void | MonModExp (T &x, T &M, T &e, T &n, T &np, T &xp0)
BIGTWOTYPES void | CRTModExp (Bigger &x, Bigger &C, Bigger &d, T &p, T &q, T &pInverse, T &pnp, T &pxp, T &qnp, T &qxp)
BIGONETYPE void | computePublicExponent (T &phi, T &e)
BIGONETYPE void | computePrivateExponent (T &e, T &phi, T &d)
BIGONETYPE bool | RabinMillerPrimalityTest (T &n, u32 insurance)
BIGONETYPE void | generateStrongPseudoPrime (T &n)

## Variables

const u32 | WORDBITS = sizeof( word ) * 8
const u32 | HALFWORDBITS = sizeof( word ) * 8 / 2
const word | WORDHIGHBIT = ( word ) 1 << ( WORDBITS - 1 )
const word | WORDALLBITS = ( word ) 0 - 1
const word | WORDLOBITS = ( ( word ) 1 << HALFWORDBITS ) - 1
const word | WORDHIBITS = WORDALLBITS ^ WORDLOBITS
static const u16 | PRIME_TABLE [256]

## Detailed Description

Big Data Type Definition.

Provide Big Data Type functionnalities for the RakNet Libraries

## Typedef Documentation

typedef word big::u1024[BIGWORDCOUNT_FROMBITCOUNT(1024)]

typedef word big::u128[BIGWORDCOUNT_FROMBITCOUNT(128)]

typedef word big::u16384[BIGWORDCOUNT_FROMBITCOUNT(16384)]

typedef word big::u2048[BIGWORDCOUNT_FROMBITCOUNT(2048)]

typedef word big::u256[BIGWORDCOUNT_FROMBITCOUNT(256)]

typedef word big::u32768[BIGWORDCOUNT_FROMBITCOUNT(32768)]

typedef word big::u4096[BIGWORDCOUNT_FROMBITCOUNT(4096)]

typedef word big::u512[BIGWORDCOUNT_FROMBITCOUNT(512)]

typedef word big::u8192[BIGWORDCOUNT_FROMBITCOUNT(8192)]

typedef u32 big::word

## Function Documentation

BIGONETYPE void big::add | ( | T & | a,
|  | T & | b
| ) |

BIGONETYPE void big::bAND | ( | T & | a,
|  | T & | b
| ) |

BIGONETYPE void big::bNOT | ( | T & | n | ) |

BIGONETYPE void big::bOR | ( | T & | a,
|  | T & | b
| ) |

BIGONETYPE void big::bXOR | ( | T & | a,
|  | T & | b
| ) |

BIGONETYPE void big::computeModularInverse | ( | T & | a0,
|  | T & | b0,
|  | T & | ap
| ) |

BIGONETYPE void big::computeNRinverse | ( | T & | n0,
|  | T & | np
| ) |

BIGONETYPE void big::computePrivateExponent | ( | T & | e,
|  | T & | phi,
|  | T & | d
| ) |

BIGONETYPE void big::computePublicExponent | ( | T & | phi,
|  | T & | e
| ) |

BIGONETYPE void big::computeRinverse | ( | T & | n0,
|  | T & | rp
| ) |

BIGTWOTYPES void big::CRTModExp | ( | Bigger & | x,
|  | Bigger & | C,
|  | Bigger & | d,
|  | T & | p,
|  | T & | q,
|  | T & | pInverse,
|  | T & | pnp,
|  | T & | pxp,
|  | T & | qnp,
|  | T & | qxp
| ) |

BIGONETYPE void big::decrement | ( | T & | n | ) |

BIGONETYPE INLINE bool big::equal | ( | T & | a,
|  | T & | b
| ) |

BIGONETYPE void big::GCD | ( | T & | a0,
|  | T & | b0,
|  | T & | c
| ) |

BIGONETYPE void big::generateStrongPseudoPrime | ( | T & | n | ) |

BIGONETYPE void big::increment | ( | T & | n | ) |

BIGONETYPE INLINE bool big::isZero | ( | T & | n | ) |

BIGONETYPE void big::MonModExp | ( | T & | x,
|  | T & | M,
|  | T & | e,
|  | T & | n,
|  | T & | np,
|  | T & | xp0
| ) |

BIGONETYPE void big::MonPro | ( | T & | ap,
|  | T & | bp,
|  | T & | n,
|  | T & | np,
|  | T & | u_out
| ) |

BIGONETYPE void big::negate | ( | T & | n | ) |

BIGONETYPE bool big::RabinMillerPrimalityTest | ( | T & | n,
|  | u32 | insurance
| ) |

BIGONETYPE void big::rModn | ( | T & | n,
|  | T & | Rn
| ) |

BIGONETYPE void big::sdivide | ( | T & | a,
|  | T & | b,
|  | T & | q,
|  | T & | r
| ) |

BIGONETYPE INLINE void big::set | ( | T & | a,
|  | T & | b
| ) |

BIGTWOTYPES INLINE void big::sethigh | ( | Bigger & | a,
|  | T & | b
| ) |

BIGONETYPE bool big::sgreater | ( | T & | a,
|  | T & | b
| ) |

BIGONETYPE bool big::sgreaterOrEqual | ( | T & | a,
|  | T & | b
| ) |

BIGONETYPE void big::shiftLeft | ( | T & | n,
|  | u32 | s
| ) |

BIGONETYPE void big::shiftLeft1 | ( | T & | n | ) |

BIGONETYPE void big::simpleModExp | ( | T & | x0,
|  | T & | y0,
|  | T & | n0,
|  | T & | r0
| ) |

BIGONETYPE void big::smodulo | ( | T & | a,
|  | T & | b,
|  | T & | r
| ) |

BIGTWOTYPES void big::smultiply | ( | Bigger & | a,
|  | T & | b
| ) |

BIGTWOTYPES void big::smultiply | ( | T & | a,
|  | T & | b,
|  | Bigger & | m
| ) |

BIGTWOTYPES INLINE void big::ssetlow | ( | Bigger & | a,
|  | T & | b
| ) |

BIGONETYPE INLINE void big::ssetw | ( | T & | a,
|  | word | b
| ) |

BIGONETYPE void big::sshiftRight | ( | T & | n,
|  | u32 | s
| ) |

BIGONETYPE void big::sshiftRight1 | ( | T & | n | ) |

BIGONETYPE void big::ssquare | ( | T & | a | ) |

BIGONETYPE void big::SubMulMod | ( | T & | a,
|  | T & | b,
|  | T & | c,
|  | T & | n,
|  | T & | x
| ) |

BIGONETYPE void big::subtract | ( | T & | a,
|  | T & | b
| ) |

BIGTWOTYPES INLINE void big::takehigh | ( | T & | a,
|  | Bigger & | b
| ) |

BIGTWOTYPES INLINE void big::takelow | ( | T & | a,
|  | Bigger & | b
| ) |

BIGONETYPE void big::udivide | ( | T & | a,
|  | T & | b,
|  | T & | q,
|  | T & | r
| ) |

BIGONETYPE bool big::ugreater | ( | T & | a,
|  | T & | b
| ) |

BIGONETYPE bool big::ugreaterOrEqual | ( | T & | a,
|  | T & | b
| ) |

BIGONETYPE void big::umodulo | ( | T & | a,
|  | T & | b,
|  | T & | r
| ) |

BIGTWOTYPES void big::umultiply | ( | Bigger & | a,
|  | T & | b
| ) |

BIGTWOTYPES void big::umultiply | ( | T & | a,
|  | T & | b,
|  | Bigger & | m
| ) |

BIGTWOTYPES INLINE void big::usetlow | ( | Bigger & | a,
|  | T & | b
| ) |

BIGONETYPE INLINE void big::usetw | ( | T & | a,
|  | word | b
| ) |

BIGONETYPE void big::ushiftRight | ( | T & | n,
|  | u32 | s
| ) |

BIGONETYPE void big::ushiftRight1 | ( | T & | n | ) |

BIGONETYPE void big::usquare | ( | T & | a | ) |

BIGONETYPE INLINE void big::zero | ( | T & | n | ) |

## Variable Documentation

const u32 big::HALFWORDBITS = sizeof( word ) * 8 / 2

const u16 big::PRIME_TABLE[256]`[static]`

const word big::WORDALLBITS = ( word ) 0 - 1

const u32 big::WORDBITS = sizeof( word ) * 8

const word big::WORDHIBITS = WORDALLBITS ^ WORDLOBITS

const word big::WORDHIGHBIT = ( word ) 1 << ( WORDBITS - 1 )

const word big::WORDLOBITS = ( ( word ) 1 << HALFWORDBITS ) - 1